From 6f31720697bcc351421a4d86ba3bf749375dd12c Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Sat, 27 Aug 2022 10:19:57 +0100 Subject: Update buildscript & apply spotless (#1306) * Update dependencies * Update buildscript, apply spotless --- .../interfaces/IMultiBlockController.java | 8 +- .../interfaces/IMultiBlockEnergy.java | 50 +++++++---- .../interfaces/IMultiBlockFluidHandler.java | 17 ++-- .../interfaces/IMultiBlockInventory.java | 59 ++++++++----- .../interfaces/IMultiTileEntity.java | 98 +++++++++++++++++----- 5 files changed, 167 insertions(+), 65 deletions(-) (limited to 'src/main/java/gregtech/api/multitileentity/interfaces') diff --git a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockController.java b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockController.java index 95b369847f..74d1252eeb 100644 --- a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockController.java +++ b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockController.java @@ -3,17 +3,19 @@ package gregtech.api.multitileentity.interfaces; import net.minecraft.util.ChunkCoordinates; import net.minecraftforge.fluids.FluidStack; -public interface IMultiBlockController extends IMultiTileEntity, IMultiBlockFluidHandler, IMultiBlockInventory, IMultiBlockEnergy { +public interface IMultiBlockController + extends IMultiTileEntity, IMultiBlockFluidHandler, IMultiBlockInventory, IMultiBlockEnergy { boolean checkStructure(boolean aForceReset); /** Set the structure as having changed, and trigger an update */ void onStructureChange(); - @Override ChunkCoordinates getCoords(); + @Override + ChunkCoordinates getCoords(); FluidStack getDrainableFluid(byte aSide); boolean isLiquidInput(byte aSide); - boolean isLiquidOutput(byte aSide); + boolean isLiquidOutput(byte aSide); } diff --git a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java index 3e9892d3bd..4ffd725df5 100644 --- a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java +++ b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockEnergy.java @@ -3,21 +3,37 @@ package gregtech.api.multitileentity.interfaces; import gregtech.api.multitileentity.multiblock.base.MultiBlockPart; interface IMultiBlockEnergy { - boolean isUniversalEnergyStored (MultiBlockPart aPart, long aEnergyAmount); - long getUniversalEnergyStored (MultiBlockPart aPart); - long getUniversalEnergyCapacity (MultiBlockPart aPart); - long getOutputAmperage (MultiBlockPart aPart); - long getOutputVoltage (MultiBlockPart aPart); - long getInputAmperage (MultiBlockPart aPart); - long getInputVoltage (MultiBlockPart aPart); - boolean decreaseStoredEnergyUnits (MultiBlockPart aPart, long aEnergy, boolean aIgnoreTooLittleEnergy); - boolean increaseStoredEnergyUnits (MultiBlockPart aPart, long aEnergy, boolean aIgnoreTooMuchEnergy); - boolean drainEnergyUnits (MultiBlockPart aPart, byte aSide, long aVoltage, long aAmperage); - long injectEnergyUnits (MultiBlockPart aPart, byte aSide, long aVoltage, long aAmperage); - long getAverageElectricInput (MultiBlockPart aPart); - long getAverageElectricOutput (MultiBlockPart aPart); - long getStoredEU (MultiBlockPart aPart); - long getEUCapacity (MultiBlockPart aPart); - boolean inputEnergyFrom (MultiBlockPart aPart, byte aSide); - boolean outputsEnergyTo (MultiBlockPart aPart, byte aSide); + boolean isUniversalEnergyStored(MultiBlockPart aPart, long aEnergyAmount); + + long getUniversalEnergyStored(MultiBlockPart aPart); + + long getUniversalEnergyCapacity(MultiBlockPart aPart); + + long getOutputAmperage(MultiBlockPart aPart); + + long getOutputVoltage(MultiBlockPart aPart); + + long getInputAmperage(MultiBlockPart aPart); + + long getInputVoltage(MultiBlockPart aPart); + + boolean decreaseStoredEnergyUnits(MultiBlockPart aPart, long aEnergy, boolean aIgnoreTooLittleEnergy); + + boolean increaseStoredEnergyUnits(MultiBlockPart aPart, long aEnergy, boolean aIgnoreTooMuchEnergy); + + boolean drainEnergyUnits(MultiBlockPart aPart, byte aSide, long aVoltage, long aAmperage); + + long injectEnergyUnits(MultiBlockPart aPart, byte aSide, long aVoltage, long aAmperage); + + long getAverageElectricInput(MultiBlockPart aPart); + + long getAverageElectricOutput(MultiBlockPart aPart); + + long getStoredEU(MultiBlockPart aPart); + + long getEUCapacity(MultiBlockPart aPart); + + boolean inputEnergyFrom(MultiBlockPart aPart, byte aSide); + + boolean outputsEnergyTo(MultiBlockPart aPart, byte aSide); } diff --git a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockFluidHandler.java b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockFluidHandler.java index 4935ad49ab..e5d2e4f691 100644 --- a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockFluidHandler.java +++ b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockFluidHandler.java @@ -7,10 +7,15 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidTankInfo; public interface IMultiBlockFluidHandler { - int fill (MultiBlockPart aPart, ForgeDirection aDirection, FluidStack aFluid, boolean aDoFill); - FluidStack drain (MultiBlockPart aPart, ForgeDirection aDirection, FluidStack aFluid, boolean aDoDrain); - FluidStack drain (MultiBlockPart aPart, ForgeDirection aDirection, int aAmountToDrain, boolean aDoDrain); - boolean canFill (MultiBlockPart aPart, ForgeDirection aDirection, Fluid aFluid); - boolean canDrain (MultiBlockPart aPart, ForgeDirection aDirection, Fluid aFluid); - FluidTankInfo[] getTankInfo (MultiBlockPart aPart, ForgeDirection aDirection); + int fill(MultiBlockPart aPart, ForgeDirection aDirection, FluidStack aFluid, boolean aDoFill); + + FluidStack drain(MultiBlockPart aPart, ForgeDirection aDirection, FluidStack aFluid, boolean aDoDrain); + + FluidStack drain(MultiBlockPart aPart, ForgeDirection aDirection, int aAmountToDrain, boolean aDoDrain); + + boolean canFill(MultiBlockPart aPart, ForgeDirection aDirection, Fluid aFluid); + + boolean canDrain(MultiBlockPart aPart, ForgeDirection aDirection, Fluid aFluid); + + FluidTankInfo[] getTankInfo(MultiBlockPart aPart, ForgeDirection aDirection); } diff --git a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockInventory.java b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockInventory.java index 4df5a11cc0..7e3777fe90 100644 --- a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockInventory.java +++ b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiBlockInventory.java @@ -5,24 +5,43 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; public interface IMultiBlockInventory { - boolean hasInventoryBeenModified (MultiBlockPart aPart); - boolean isValidSlot (MultiBlockPart aPart, int aIndex); - boolean addStackToSlot (MultiBlockPart aPart, int aIndex, ItemStack aStack); - boolean addStackToSlot (MultiBlockPart aPart, int aIndex, ItemStack aStack, int aAmount); - int[] getAccessibleSlotsFromSide (MultiBlockPart aPart, byte aSide); - boolean canInsertItem (MultiBlockPart aPart, int aSlot, ItemStack aStack, byte aSide); - boolean canExtractItem (MultiBlockPart aPart, int aSlot, ItemStack aStack, byte aSide); - int getSizeInventory (MultiBlockPart aPart); - ItemStack getStackInSlot (MultiBlockPart aPart, int aSlot); - ItemStack decrStackSize (MultiBlockPart aPart, int aSlot, int aDecrement); - ItemStack getStackInSlotOnClosing (MultiBlockPart aPart, int aSlot); - void setInventorySlotContents (MultiBlockPart aPart, int aSlot, ItemStack aStack); - String getInventoryName (MultiBlockPart aPart); - boolean hasCustomInventoryName (MultiBlockPart aPart); - int getInventoryStackLimit (MultiBlockPart aPart); - void markDirty (MultiBlockPart aPart); - boolean isUseableByPlayer (MultiBlockPart aPart, EntityPlayer aPlayer); - void openInventory (MultiBlockPart aPart); - void closeInventory (MultiBlockPart aPart); - boolean isItemValidForSlot (MultiBlockPart aPart, int aSlot, ItemStack aStack); + boolean hasInventoryBeenModified(MultiBlockPart aPart); + + boolean isValidSlot(MultiBlockPart aPart, int aIndex); + + boolean addStackToSlot(MultiBlockPart aPart, int aIndex, ItemStack aStack); + + boolean addStackToSlot(MultiBlockPart aPart, int aIndex, ItemStack aStack, int aAmount); + + int[] getAccessibleSlotsFromSide(MultiBlockPart aPart, byte aSide); + + boolean canInsertItem(MultiBlockPart aPart, int aSlot, ItemStack aStack, byte aSide); + + boolean canExtractItem(MultiBlockPart aPart, int aSlot, ItemStack aStack, byte aSide); + + int getSizeInventory(MultiBlockPart aPart); + + ItemStack getStackInSlot(MultiBlockPart aPart, int aSlot); + + ItemStack decrStackSize(MultiBlockPart aPart, int aSlot, int aDecrement); + + ItemStack getStackInSlotOnClosing(MultiBlockPart aPart, int aSlot); + + void setInventorySlotContents(MultiBlockPart aPart, int aSlot, ItemStack aStack); + + String getInventoryName(MultiBlockPart aPart); + + boolean hasCustomInventoryName(MultiBlockPart aPart); + + int getInventoryStackLimit(MultiBlockPart aPart); + + void markDirty(MultiBlockPart aPart); + + boolean isUseableByPlayer(MultiBlockPart aPart, EntityPlayer aPlayer); + + void openInventory(MultiBlockPart aPart); + + void closeInventory(MultiBlockPart aPart); + + boolean isItemValidForSlot(MultiBlockPart aPart, int aSlot, ItemStack aStack); } diff --git a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiTileEntity.java b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiTileEntity.java index d601d8abd2..f5278d47b4 100644 --- a/src/main/java/gregtech/api/multitileentity/interfaces/IMultiTileEntity.java +++ b/src/main/java/gregtech/api/multitileentity/interfaces/IMultiTileEntity.java @@ -1,5 +1,7 @@ package gregtech.api.multitileentity.interfaces; +import static gregtech.api.enums.GT_Values.MOD_ID_APC; + import cpw.mods.fml.common.Optional; import gregtech.api.interfaces.tileentity.IBasicEnergyContainer; import gregtech.api.interfaces.tileentity.ICoverable; @@ -12,6 +14,9 @@ import gregtech.api.interfaces.tileentity.ITurnable; import gregtech.api.multitileentity.MultiTileEntityBlockInternal; import gregtech.api.multitileentity.MultiTileEntityItemInternal; import gregtech.api.multitileentity.MultiTileEntityRegistry; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; @@ -26,18 +31,22 @@ import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.fluids.IFluidHandler; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -import static gregtech.api.enums.GT_Values.MOD_ID_APC; - /* * Heavily inspired by GT6 */ -public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, ITurnable, IHasInventory, IEnergyConnected, IBasicEnergyContainer, IFluidHandler, ITexturedTileEntity, IDebugableTileEntity { +public interface IMultiTileEntity + extends IHasWorldObjectAndCoords, + ICoverable, + ITurnable, + IHasInventory, + IEnergyConnected, + IBasicEnergyContainer, + IFluidHandler, + ITexturedTileEntity, + IDebugableTileEntity { /** Those two IDs HAVE to be saved inside the NBT of the TileEntity itself. They get set by the Registry itself, when the TileEntity is placed. */ short getMultiTileEntityID(); + short getMultiTileEntityRegistryID(); /** Called by the Registry with the default NBT Parameters and the two IDs you have to save, when the TileEntity is created. aNBT may be null, take that into account if you decide to call the regular readFromNBT Function from here. */ void initFromNBT(NBTTagCompound aNBT, short aMTEID, short aMTERegistry); @@ -45,6 +54,7 @@ public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, NBTTagCompound writeItemNBT(NBTTagCompound aNBT); /** Sets the Item Display Name. Use null to reset it. */ void setCustomName(String aName); + String getCustomName(); /** return the internal Name of this TileEntity to be registered. */ @@ -61,21 +71,29 @@ public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, boolean isDead(); void loadTextureNBT(NBTTagCompound aNBT); + void copyTextures(); void issueClientUpdate(); - void sendClientData( EntityPlayerMP aPlayer); + + void sendClientData(EntityPlayerMP aPlayer); + boolean receiveClientEvent(int aEventID, int aValue); void setShouldRefresh(boolean aShouldRefresh); void addCollisionBoxesToList(AxisAlignedBB aAABB, List aList, Entity aEntity); + AxisAlignedBB getCollisionBoundingBoxFromPool(); + AxisAlignedBB getSelectedBoundingBoxFromPool(); + void setBlockBoundsBasedOnState(Block aBlock); void onBlockAdded(); + boolean playerOwnsThis(EntityPlayer aPlayer, boolean aCheckPrecicely); + boolean privateAccess(); /** @return the amount of Time this TileEntity has been loaded. */ @@ -104,8 +122,11 @@ public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, * Paintable Support */ boolean unpaint(); + boolean isPainted(); + boolean paint(int aRGB); + int getPaint(); /** @@ -113,19 +134,28 @@ public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, * @return Whether the facing was changed */ boolean setMainFacing(byte aSide); + boolean isFacingValid(byte aFacing); - void onFacingChange(); - @Override default void setFrontFacing(byte aSide) { setMainFacing(aSide); } + void onFacingChange(); + @Override + default void setFrontFacing(byte aSide) { + setMainFacing(aSide); + } boolean shouldTriggerBlockUpdate(); + void onMachineBlockUpdate(); boolean allowInteraction(Entity aEntity); - default void onLeftClick(EntityPlayer aPlayer) { /* do nothing */ } + + default void onLeftClick(EntityPlayer aPlayer) { + /* do nothing */ + } boolean onBlockActivated(EntityPlayer aPlayer, byte aSide, float aX, float aY, float aZ); + boolean onRightClick(EntityPlayer aPlayer, byte aSide, float aX, float aY, float aZ); ArrayList getDrops(int aFortune, boolean aSilkTouch); @@ -133,13 +163,16 @@ public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, boolean isSideSolid(byte aSide); float getExplosionResistance(Entity aExploder, double aExplosionX, double aExplosionY, double aExplosionZ); + float getExplosionResistance(); + void onExploded(Explosion aExplosion); boolean recolourBlock(byte aSide, byte aColor); /** Adds to the Creative Tab. return false to prevent it from being added. */ - boolean getSubItems(MultiTileEntityBlockInternal aBlock, Item aItem, CreativeTabs aTab, List aList, short aID); + boolean getSubItems( + MultiTileEntityBlockInternal aBlock, Item aItem, CreativeTabs aTab, List aList, short aID); ItemStack getPickBlock(MovingObjectPosition aTarget); @@ -147,9 +180,19 @@ public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, boolean isSurfaceOpaque(byte aSide); - boolean onPlaced(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, byte aSide, float aHitX, float aHitY, float aHitZ); + boolean onPlaced( + ItemStack aStack, + EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ, + byte aSide, + float aHitX, + float aHitY, + float aHitZ); -// ItemStack getPickBlock(MovingObjectPosition aTarget); + // ItemStack getPickBlock(MovingObjectPosition aTarget); /* * Various Sub Interfaces from GT6 @@ -177,7 +220,6 @@ public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, boolean getWeakChanges(); } - interface IMTE_GetComparatorInputOverride extends IMultiTileEntity { int getComparatorInputOverride(byte aSide); } @@ -208,15 +250,34 @@ public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, interface IMTE_IgnoreEntityCollisionWhenPlacing extends IMultiTileEntity { /** Return true to ignore the Player standing in the way of placing this Block; useful for things like pipes/wires. */ - boolean ignoreEntityCollisionWhenPlacing(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, byte aSide, float aHitX, float aHitY, float aHitZ); + boolean ignoreEntityCollisionWhenPlacing( + ItemStack aStack, + EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ, + byte aSide, + float aHitX, + float aHitY, + float aHitZ); } interface IMTE_CanPlace extends IMultiTileEntity { /** Return false if this TileEntity cannot be placed at that Location. */ - boolean canPlace(ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, byte aSide, float aHitX, float aHitY, float aHitZ); + boolean canPlace( + ItemStack aStack, + EntityPlayer aPlayer, + World aWorld, + int aX, + int aY, + int aZ, + byte aSide, + float aHitX, + float aHitY, + float aHitZ); } - interface IMTE_GetMaxStackSize extends IMultiTileEntity { /** Gets the Max Stacksize of this Item. */ byte getMaxStackSize(ItemStack aStack, byte aDefault); @@ -226,5 +287,4 @@ public interface IMultiTileEntity extends IHasWorldObjectAndCoords, ICoverable, /** Adds ToolTips to the Item. */ void addToolTips(List aList, ItemStack aStack, boolean aF3_H); } - } -- cgit