aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
authorJason Mitchell <mitchej@gmail.com>2023-01-20 00:30:50 -0800
committerGitHub <noreply@github.com>2023-01-20 09:30:50 +0100
commit7ed516e30ba224b4b8e3fad9c836c22ca00bfcdb (patch)
treebea33f6637b929427e9abbe733e19606f8bf9032 /src/main/java/gregtech/common
parent750a4070af4756e3708e2b2555b9874864bf3cfb (diff)
downloadGT5-Unofficial-7ed516e30ba224b4b8e3fad9c836c22ca00bfcdb.tar.gz
GT5-Unofficial-7ed516e30ba224b4b8e3fad9c836c22ca00bfcdb.tar.bz2
GT5-Unofficial-7ed516e30ba224b4b8e3fad9c836c22ca00bfcdb.zip
MTE Inventory updates (#1496)
* MTE Inventory updates * Separate Input/Output inventory * Use a LinkedHashMap to ensure inventory orders are deterministic * Input/Output work on either Input/Output inventories * MTE Inventory * Add GT_Packet_MultiTileEntity * More dyanmic packet with packetFeatures * Add IMTE_HasModes for MultiBlockPart * Help with MTE Inventory (#1613) * convert inventory to use ItemStackHandler * Update MUI * inventories * move Iteminventory to its own method Co-authored-by: miozune <miozune@gmail.com> * Update MUI * Update MUI * Add IMultiBlockPart * Mte fluid inventory (#1639) * first work on fluid inventory * make gui work with numbers not dividable by 4 * use math.min * add outputfluids saving * actually working * Update MUI Co-authored-by: miozune <miozune@gmail.com> * Ticking Covers! * Parts now register covers with the controller * Controllers now tick covers on parts * Break cover ticking out into `tickCoverAtSide` Fix some inventory methods on MultiBlockController * Filter on tickable covers * Improve GUIs for MTEs (#1650) * working controller GUI * locked inventory selection work * input and output locking of inventories Co-authored-by: miozune <miozune@gmail.com> * spotless * CoverInfo refactor (#1654) * Add `CoverInfo` and deprecate the old fields to hold cover information * Disable MTE registration * Fix NPE - Return EMPTY_INFO for SIDE_UNKNOWN Temporarily add back old NBT saving in case of a revert so covers aren't lost. * Actually save the old NBT data, instead of empty Co-authored-by: BlueWeabo <76872108+BlueWeabo@users.noreply.github.com> Co-authored-by: miozune <miozune@gmail.com>
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r--src/main/java/gregtech/common/GT_Client.java16
-rw-r--r--src/main/java/gregtech/common/GT_Network.java45
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java29
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Machines.java30
-rw-r--r--src/main/java/gregtech/common/covers/CoverInfo.java235
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java6
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java10
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java24
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Output_ME.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java160
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java36
13 files changed, 422 insertions, 191 deletions
diff --git a/src/main/java/gregtech/common/GT_Client.java b/src/main/java/gregtech/common/GT_Client.java
index 2a93e541b5..0ce1e284ca 100644
--- a/src/main/java/gregtech/common/GT_Client.java
+++ b/src/main/java/gregtech/common/GT_Client.java
@@ -5,6 +5,7 @@
package gregtech.common;
+import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
import static gregtech.api.enums.GT_Values.calculateMaxPlasmaTurbineEfficiency;
import static org.lwjgl.opengl.GL11.GL_LINE_LOOP;
@@ -328,16 +329,17 @@ public class GT_Client extends GT_Proxy implements Runnable {
byte tConnections = 0;
if (tTile instanceof ICoverable) {
if (showCoverConnections) {
- for (byte i = 0; i < 6; i++) {
- if (((ICoverable) tTile).getCoverIDAtSide(i) > 0) tConnections = (byte) (tConnections + (1 << i));
+ for (byte tSide : ALL_VALID_SIDES) {
+ if (((ICoverable) tTile).getCoverIDAtSide(tSide) > 0)
+ tConnections = (byte) (tConnections + (1 << tSide));
}
} else if (tTile instanceof BaseMetaPipeEntity) tConnections = ((BaseMetaPipeEntity) tTile).mConnections;
}
if (tConnections > 0) {
- for (byte i = 0; i < 6; i++) {
- if ((tConnections & (1 << i)) != 0) {
- switch (GRID_SWITCH_TABLE[aEvent.target.sideHit][i]) {
+ for (byte tSide : ALL_VALID_SIDES) {
+ if ((tConnections & (1 << tSide)) != 0) {
+ switch (GRID_SWITCH_TABLE[aEvent.target.sideHit][tSide]) {
case 0:
GL11.glVertex3d(+.25D, .0D, +.25D);
GL11.glVertex3d(-.25D, .0D, -.25D);
@@ -787,8 +789,8 @@ public class GT_Client extends GT_Proxy implements Runnable {
|| GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sCrowbarList)
|| GT_Utility.isStackInList(aEvent.currentItem, GregTech_API.sScrewdriverList)) {
if (((ICoverable) aTileEntity).getCoverIDAtSide((byte) aEvent.target.sideHit) == 0)
- for (byte i = 0; i < 6; i++)
- if (((ICoverable) aTileEntity).getCoverIDAtSide(i) > 0) {
+ for (byte tSide : ALL_VALID_SIDES)
+ if (((ICoverable) aTileEntity).getCoverIDAtSide(tSide) > 0) {
drawGrid(aEvent, true, false, true);
return;
}
diff --git a/src/main/java/gregtech/common/GT_Network.java b/src/main/java/gregtech/common/GT_Network.java
index 39f50a9e04..4e1a58b4db 100644
--- a/src/main/java/gregtech/common/GT_Network.java
+++ b/src/main/java/gregtech/common/GT_Network.java
@@ -36,24 +36,26 @@ public class GT_Network extends MessageToMessageCodec<FMLProxyPacket, GT_Packet>
public GT_Network() {
this(
"GregTech",
- new GT_Packet_TileEntity(),
- new GT_Packet_Sound(),
- new GT_Packet_Block_Event(),
- new GT_Packet_Ores(),
- new GT_Packet_Pollution(),
- new MessageSetFlaskCapacity(),
- new GT_Packet_TileEntityCover(),
- new GT_Packet_TileEntityCoverGUI(),
- new MessageUpdateFluidDisplayItem(),
- new GT_Packet_ClientPreference(),
- new GT_Packet_WirelessRedstoneCover(),
- new GT_Packet_TileEntityCoverNew(),
- new GT_Packet_SetConfigurationCircuit(),
- new GT_Packet_UpdateItem(),
- new GT_Packet_SetLockedFluid(),
- new GT_Packet_GtTileEntityGuiRequest(),
- new GT_Packet_SendCoverData(),
- new GT_Packet_RequestCoverData());
+ new GT_Packet_TileEntity(), // 0
+ new GT_Packet_Sound(), // 1
+ new GT_Packet_Block_Event(), // 2
+ new GT_Packet_Ores(), // 3
+ new GT_Packet_Pollution(), // 4
+ new MessageSetFlaskCapacity(), // 5
+ new GT_Packet_TileEntityCover(), // 6
+ new GT_Packet_TileEntityCoverGUI(), // 7
+ new MessageUpdateFluidDisplayItem(), // 8
+ new GT_Packet_ClientPreference(), // 9
+ new GT_Packet_WirelessRedstoneCover(), // 10
+ new GT_Packet_TileEntityCoverNew(), // 11
+ new GT_Packet_SetConfigurationCircuit(), // 12
+ new GT_Packet_UpdateItem(), // 13
+ new GT_Packet_SetLockedFluid(), // 14
+ new GT_Packet_GtTileEntityGuiRequest(), // 15
+ new GT_Packet_SendCoverData(), // 16
+ new GT_Packet_RequestCoverData(), // 17
+ new GT_Packet_MultiTileEntity() // 18
+ );
}
public GT_Network(String channelName, GT_Packet... packetTypes) {
@@ -68,7 +70,7 @@ public class GT_Network extends MessageToMessageCodec<FMLProxyPacket, GT_Packet>
@Override
protected void encode(ChannelHandlerContext aContext, GT_Packet aPacket, List<Object> aOutput) throws Exception {
- ByteBuf tBuf = Unpooled.buffer().writeByte(aPacket.getPacketID());
+ final ByteBuf tBuf = Unpooled.buffer().writeByte(aPacket.getPacketID());
aPacket.encode(tBuf);
aOutput.add(new FMLProxyPacket(
tBuf, aContext.channel().attr(NetworkRegistry.FML_CHANNEL).get()));
@@ -77,8 +79,9 @@ public class GT_Network extends MessageToMessageCodec<FMLProxyPacket, GT_Packet>
@Override
protected void decode(ChannelHandlerContext aContext, FMLProxyPacket aPacket, List<Object> aOutput)
throws Exception {
- ByteArrayDataInput aData = ByteStreams.newDataInput(aPacket.payload().array());
- GT_Packet tPacket = this.mSubChannels[aData.readByte()].decode(aData);
+ final ByteArrayDataInput aData =
+ ByteStreams.newDataInput(aPacket.payload().array());
+ final GT_Packet tPacket = this.mSubChannels[aData.readByte()].decode(aData);
tPacket.setINetHandler(aPacket.handler());
aOutput.add(tPacket);
}
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index 92cfd04655..62bc9f7654 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -2191,16 +2191,16 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
GT_MetaGenerated_Tool_01.AXE, 1, Materials.Flint, Materials.Wood, null)));
}
}
- boolean tHungerEffect = (this.mHungerEffect) && (aEvent.player.ticksExisted % 2400 == 1200);
+ final boolean tHungerEffect = (this.mHungerEffect) && (aEvent.player.ticksExisted % 2400 == 1200);
if (aEvent.player.ticksExisted % 120 == 0) {
int tCount = 64;
for (int i = 0; i < 36; i++) {
- ItemStack tStack;
+ final ItemStack tStack;
if ((tStack = aEvent.player.inventory.getStackInSlot(i)) != null) {
if (!aEvent.player.capabilities.isCreativeMode) {
GT_Utility.applyRadioactivity(
aEvent.player, GT_Utility.getRadioactivityLevel(tStack), tStack.stackSize);
- float tHeat = GT_Utility.getHeatDamageFromItem(tStack);
+ final float tHeat = GT_Utility.getHeatDamageFromItem(tStack);
if (tHeat != 0.0F) {
if (tHeat > 0.0F) {
GT_Utility.applyHeatDamageFromItem(aEvent.player, tHeat, tStack);
@@ -2218,12 +2218,12 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
}
}
for (int i = 0; i < 4; i++) {
- ItemStack tStack;
+ final ItemStack tStack;
if ((tStack = aEvent.player.inventory.armorInventory[i]) != null) {
if (!aEvent.player.capabilities.isCreativeMode) {
GT_Utility.applyRadioactivity(
aEvent.player, GT_Utility.getRadioactivityLevel(tStack), tStack.stackSize);
- float tHeat = GT_Utility.getHeatDamageFromItem(tStack);
+ final float tHeat = GT_Utility.getHeatDamageFromItem(tStack);
if (tHeat != 0.0F) {
if (tHeat > 0.0F) {
GT_Utility.applyHeatDamageFromItem(aEvent.player, tHeat, tStack);
@@ -2257,12 +2257,12 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
if (aID >= 1000) {
return null;
}
- TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
+ final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if ((tTileEntity instanceof IGregTechTileEntity)) {
if (GUI_ID_COVER_SIDE_BASE <= aID && aID < GUI_ID_COVER_SIDE_BASE + 6) {
return null;
}
- IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity();
+ final IMetaTileEntity tMetaTileEntity = ((IGregTechTileEntity) tTileEntity).getMetaTileEntity();
if (tMetaTileEntity != null && !tMetaTileEntity.useModularUI()) {
return tMetaTileEntity.getServerGUI(aID, aPlayer.inventory, (IGregTechTileEntity) tTileEntity);
}
@@ -2275,12 +2275,12 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
if (aID >= 1000) {
return null;
}
- TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
+ final TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if ((tTileEntity instanceof IGregTechTileEntity)) {
- IGregTechTileEntity tile = (IGregTechTileEntity) tTileEntity;
+ final IGregTechTileEntity tile = (IGregTechTileEntity) tTileEntity;
if (GUI_ID_COVER_SIDE_BASE <= aID && aID < GUI_ID_COVER_SIDE_BASE + 6) {
- byte side = (byte) (aID - GT_Proxy.GUI_ID_COVER_SIDE_BASE);
+ final byte side = (byte) (aID - GT_Proxy.GUI_ID_COVER_SIDE_BASE);
GT_CoverBehaviorBase<?> cover = tile.getCoverBehaviorAtSideNew(side);
if (cover.hasCoverGUI() && !cover.useModularUI()) {
@@ -2294,7 +2294,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
}
return null;
}
- IMetaTileEntity tMetaTileEntity = tile.getMetaTileEntity();
+ final IMetaTileEntity tMetaTileEntity = tile.getMetaTileEntity();
if (tMetaTileEntity != null && !tMetaTileEntity.useModularUI()) {
return tMetaTileEntity.getClientGUI(aID, aPlayer.inventory, tile);
}
@@ -2315,15 +2315,16 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
}
int rFuelValue = 0;
if ((aFuel.getItem() instanceof GT_MetaGenerated_Item)) {
- Short tFuelValue = ((GT_MetaGenerated_Item) aFuel.getItem()).mBurnValues.get((short) aFuel.getItemDamage());
+ final Short tFuelValue =
+ ((GT_MetaGenerated_Item) aFuel.getItem()).mBurnValues.get((short) aFuel.getItemDamage());
if (tFuelValue != null) {
rFuelValue = Math.max(rFuelValue, tFuelValue);
}
}
- NBTTagCompound tNBT = aFuel.getTagCompound();
+ final NBTTagCompound tNBT = aFuel.getTagCompound();
if (tNBT != null) {
// See if we have something defined by NBT
- short tValue = tNBT.getShort("GT.ItemFuelValue");
+ final short tValue = tNBT.getShort("GT.ItemFuelValue");
rFuelValue = Math.max(rFuelValue, tValue);
} else {
// If not check the ore dict
diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java
index d176fd26a3..25db7f32dd 100644
--- a/src/main/java/gregtech/common/blocks/GT_Block_Machines.java
+++ b/src/main/java/gregtech/common/blocks/GT_Block_Machines.java
@@ -1,6 +1,7 @@
package gregtech.common.blocks;
import static gregtech.GT_Mod.GT_FML_LOGGER;
+import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
import static gregtech.api.enums.GT_Values.SIDE_UP;
import static gregtech.api.objects.XSTR.XSTR_INSTANCE;
@@ -23,6 +24,7 @@ import gregtech.api.metatileentity.CoverableTileEntity;
import gregtech.api.util.GT_BaseCrop;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Utility;
+import gregtech.common.covers.CoverInfo;
import gregtech.common.render.GT_Renderer_Block;
import gregtech.common.tileentities.storage.GT_MetaTileEntity_QuantumChest;
import java.util.ArrayList;
@@ -658,16 +660,13 @@ public class GT_Block_Machines extends GT_Generic_Block implements IDebugableBlo
final byte aSide = (byte) side;
final CoverableTileEntity tile = (CoverableTileEntity) tTileEntity;
if (side != -1) {
- final Block facadeBlock = tile.getCoverBehaviorAtSideNew(aSide)
- .getFacadeBlock(
- aSide, tile.getCoverIDAtSide(aSide), tile.getComplexCoverDataAtSide(aSide), tile);
+ final Block facadeBlock = tile.getCoverInfoAtSide(aSide).getFacadeBlock();
if (facadeBlock != null) return facadeBlock;
} else {
// we do not allow more than one type of facade per block, so no need to check every side
// see comment in gregtech.common.covers.GT_Cover_FacadeBase.isCoverPlaceable
- for (byte i = 0; i < 6; i++) {
- final Block facadeBlock = tile.getCoverBehaviorAtSideNew(i)
- .getFacadeBlock(i, tile.getCoverIDAtSide(i), tile.getComplexCoverDataAtSide(i), tile);
+ for (byte tSide : ALL_VALID_SIDES) {
+ final Block facadeBlock = tile.getCoverInfoAtSide(tSide).getFacadeBlock();
if (facadeBlock != null) {
return facadeBlock;
}
@@ -684,22 +683,17 @@ public class GT_Block_Machines extends GT_Generic_Block implements IDebugableBlo
final byte aSide = (byte) side;
final CoverableTileEntity tile = (CoverableTileEntity) tTileEntity;
if (side != -1) {
- final Block facadeBlock = tile.getCoverBehaviorAtSideNew(aSide)
- .getFacadeBlock(
- aSide, tile.getCoverIDAtSide(aSide), tile.getComplexCoverDataAtSide(aSide), tile);
- if (facadeBlock != null)
- return tile.getCoverBehaviorAtSideNew(aSide)
- .getFacadeMeta(
- aSide, tile.getCoverIDAtSide(aSide), tile.getComplexCoverDataAtSide(aSide), tile);
+ final CoverInfo coverInfo = tile.getCoverInfoAtSide(aSide);
+ final Block facadeBlock = coverInfo.getFacadeBlock();
+ if (facadeBlock != null) return coverInfo.getFacadeMeta();
} else {
// we do not allow more than one type of facade per block, so no need to check every side
// see comment in gregtech.common.covers.GT_Cover_FacadeBase.isCoverPlaceable
- for (byte i = 0; i < 6; i++) {
- final Block facadeBlock = tile.getCoverBehaviorAtSideNew(i)
- .getFacadeBlock(i, tile.getCoverIDAtSide(i), tile.getComplexCoverDataAtSide(i), tile);
+ for (byte tSide : ALL_VALID_SIDES) {
+ final CoverInfo coverInfo = tile.getCoverInfoAtSide(tSide);
+ final Block facadeBlock = coverInfo.getFacadeBlock();
if (facadeBlock != null) {
- return tile.getCoverBehaviorAtSideNew(i)
- .getFacadeMeta(i, tile.getCoverIDAtSide(i), tile.getComplexCoverDataAtSide(i), tile);
+ return coverInfo.getFacadeMeta();
}
}
}
diff --git a/src/main/java/gregtech/common/covers/CoverInfo.java b/src/main/java/gregtech/common/covers/CoverInfo.java
new file mode 100644
index 0000000000..58b1afe5ba
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/CoverInfo.java
@@ -0,0 +1,235 @@
+package gregtech.common.covers;
+
+import static gregtech.api.enums.GT_Values.SIDE_UNKNOWN;
+
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import gregtech.api.GregTech_API;
+import gregtech.api.gui.modularui.GT_CoverUIBuildContext;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.util.GT_CoverBehaviorBase;
+import gregtech.api.util.ISerializableObject;
+import java.lang.ref.WeakReference;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.fluids.Fluid;
+
+public final class CoverInfo {
+ private static final String NBT_SIDE = "s", NBT_ID = "id", NBT_DATA = "d";
+
+ public static final CoverInfo EMPTY_INFO = new CoverInfo(SIDE_UNKNOWN, null);
+ private byte coverSide;
+ private int coverID = 0;
+ private GT_CoverBehaviorBase<?> coverBehavior = null;
+ private ISerializableObject coverData = null;
+ private final WeakReference<ICoverable> coveredTile;
+ private boolean needsUpdate = false;
+
+ public CoverInfo(byte aSide, ICoverable aTile) {
+ coverSide = aSide;
+ coveredTile = new WeakReference<>(aTile);
+ }
+
+ public CoverInfo(byte aSide, int aID, ICoverable aTile, ISerializableObject aCoverData) {
+ coverSide = aSide;
+ coverID = aID;
+ coverBehavior = GregTech_API.getCoverBehaviorNew(aID);
+ coverData = aCoverData == null ? coverBehavior.createDataObject() : aCoverData;
+ coveredTile = new WeakReference<>(aTile);
+ }
+
+ public CoverInfo(ICoverable aTile, NBTTagCompound aNBT) {
+ coverSide = aNBT.getByte(NBT_SIDE);
+ coverID = aNBT.getInteger(NBT_ID);
+ coverBehavior = GregTech_API.getCoverBehaviorNew(coverID);
+ coverData = aNBT.hasKey(NBT_DATA)
+ ? coverBehavior.createDataObject(aNBT.getTag(NBT_DATA))
+ : coverBehavior.createDataObject();
+ coveredTile = new WeakReference<>(aTile);
+ }
+
+ public boolean isValid() {
+ return coverID != 0 && coverSide != SIDE_UNKNOWN;
+ }
+
+ public NBTTagCompound writeToNBT(NBTTagCompound aNBT) {
+ aNBT.setByte(NBT_SIDE, coverSide);
+ aNBT.setInteger(NBT_ID, coverID);
+ if (coverData != null) aNBT.setTag(NBT_DATA, coverData.saveDataToNBT());
+
+ return aNBT;
+ }
+
+ public int getCoverID() {
+ return coverID;
+ }
+
+ public boolean needsUpdate() {
+ return needsUpdate;
+ }
+
+ public void setNeedsUpdate(boolean aUpdate) {
+ needsUpdate = aUpdate;
+ }
+
+ public GT_CoverBehaviorBase<?> getCoverBehavior() {
+ if (coverBehavior != null) return coverBehavior;
+ return GregTech_API.sNoBehavior;
+ }
+
+ public ISerializableObject getCoverData() {
+ if (coverData != null) return coverData;
+ return GregTech_API.sNoBehavior.createDataObject();
+ }
+
+ public boolean onCoverRemoval(boolean aForced) {
+ return getCoverBehavior().onCoverRemoval(coverSide, coverID, coverData, coveredTile.get(), aForced);
+ }
+
+ public ItemStack getDrop() {
+ return getCoverBehavior().getDrop(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public ItemStack getDisplayStack() {
+ return getCoverBehavior().getDisplayStack(coverID, coverData);
+ }
+
+ public boolean isDataNeededOnClient() {
+ return getCoverBehavior().isDataNeededOnClient(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public void onDropped() {
+ getCoverBehavior().onDropped(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public void setCoverData(ISerializableObject aData) {
+ coverData = aData;
+ }
+
+ public ITexture getSpecialCoverFGTexture() {
+ return getCoverBehavior().getSpecialCoverFGTexture(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public ITexture getSpecialCoverTexture() {
+ return getCoverBehavior().getSpecialCoverTexture(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public int getTickRate() {
+ return getCoverBehavior().getTickRate(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public byte getSide() {
+ return coverSide;
+ }
+
+ public ICoverable getTile() {
+ return coveredTile.get();
+ }
+
+ public boolean isRedstoneSensitive(long aTickTimer) {
+ return getCoverBehavior().isRedstoneSensitive(coverSide, coverID, coverData, coveredTile.get(), aTickTimer);
+ }
+
+ public ISerializableObject doCoverThings(long aTickTimer, byte aRedstone) {
+ return getCoverBehavior()
+ .doCoverThings(coverSide, aRedstone, coverID, coverData, coveredTile.get(), aTickTimer);
+ }
+
+ public void onBaseTEDestroyed() {
+ getCoverBehavior().onBaseTEDestroyed(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public void updateCoverBehavior() {
+ coverBehavior = GregTech_API.getCoverBehaviorNew(coverID);
+ }
+
+ public void preDataChanged(int aCoverID, ISerializableObject aCoverData) {
+ getCoverBehavior().preDataChanged(coverSide, coverID, aCoverID, coverData, aCoverData, coveredTile.get());
+ }
+
+ public void onDataChanged() {
+ getCoverBehavior().onDataChanged(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public String getBehaviorDescription() {
+ return getCoverBehavior().getDescription(coverSide, coverID, coverData, null);
+ }
+
+ public ModularWindow createWindow(EntityPlayer player) {
+ final GT_CoverUIBuildContext buildContext =
+ new GT_CoverUIBuildContext(player, coverID, coverSide, coveredTile.get(), true);
+ return getCoverBehavior().createWindow(buildContext);
+ }
+
+ public boolean isGUIClickable() {
+ return getCoverBehavior().isGUIClickable(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public boolean hasCoverGUI() {
+ return getCoverBehavior().hasCoverGUI();
+ }
+
+ public boolean useModularUI() {
+ return getCoverBehavior().useModularUI();
+ }
+
+ public boolean letsItemsIn(int aSlot) {
+ return getCoverBehavior().letsItemsIn(coverSide, coverID, coverData, aSlot, coveredTile.get());
+ }
+
+ public boolean letsItemsOut(int aSlot) {
+ return getCoverBehavior().letsItemsOut(coverSide, coverID, coverData, aSlot, coveredTile.get());
+ }
+
+ public boolean letsFluidIn(Fluid aFluid) {
+ return letsFluidIn(aFluid, coveredTile.get());
+ }
+
+ public boolean letsFluidOut(Fluid aFluid) {
+ return letsFluidOut(aFluid, coveredTile.get());
+ }
+
+ public boolean letsFluidIn(Fluid aFluid, ICoverable tile) {
+ return getCoverBehavior().letsFluidIn(coverSide, coverID, coverData, aFluid, tile);
+ }
+
+ public boolean letsFluidOut(Fluid aFluid, ICoverable tile) {
+ return getCoverBehavior().letsFluidOut(coverSide, coverID, coverData, aFluid, tile);
+ }
+
+ public boolean letsEnergyIn() {
+ return getCoverBehavior().letsEnergyIn(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public boolean letsEnergyOut() {
+ return getCoverBehavior().letsEnergyOut(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public boolean alwaysLookConnected() {
+ return getCoverBehavior().alwaysLookConnected(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public boolean onCoverRightClick(EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ return getCoverBehavior()
+ .onCoverRightClick(coverSide, coverID, coverData, coveredTile.get(), aPlayer, aX, aY, aZ);
+ }
+
+ public boolean onCoverShiftRightClick(EntityPlayer aPlayer) {
+ return getCoverBehavior().onCoverShiftRightClick(coverSide, coverID, coverData, coveredTile.get(), aPlayer);
+ }
+
+ public ISerializableObject onCoverScrewdriverClick(EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ return getCoverBehavior()
+ .onCoverScrewdriverClick(coverSide, coverID, coverData, coveredTile.get(), aPlayer, aX, aY, aZ);
+ }
+
+ public Block getFacadeBlock() {
+ return getCoverBehavior().getFacadeBlock(coverSide, coverID, coverData, coveredTile.get());
+ }
+
+ public int getFacadeMeta() {
+ return getCoverBehavior().getFacadeMeta(coverSide, coverID, coverData, coveredTile.get());
+ }
+}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
index 270a221a08..f45ffbf2e8 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
@@ -1,5 +1,7 @@
package gregtech.common.covers;
+import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
+
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
import gregtech.api.gui.modularui.GT_CoverUIBuildContext;
@@ -168,8 +170,8 @@ public class GT_Cover_ControlsWork extends GT_CoverBehavior implements IControls
@Override
public boolean isCoverPlaceable(byte aSide, ItemStack aStack, ICoverable aTileEntity) {
if (!super.isCoverPlaceable(aSide, aStack, aTileEntity)) return false;
- for (byte i = 0; i < 6; i++) {
- if (aTileEntity.getCoverBehaviorAtSideNew(i) instanceof IControlsWorkCover) {
+ for (byte tSide : ALL_VALID_SIDES) {
+ if (aTileEntity.getCoverBehaviorAtSideNew(tSide) instanceof IControlsWorkCover) {
return false;
}
}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
index dc3bcc4f7b..54e9e50d8b 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
@@ -58,11 +58,11 @@ public class GT_Cover_Conveyor extends GT_CoverBehavior {
return aCoverVariable;
}
}
- TileEntity tTileEntity = aTileEntity.getTileEntityAtSide(aSide);
- Object fromEntity = aCoverVariable % 2 == 0 ? aTileEntity : tTileEntity,
- toEntity = aCoverVariable % 2 != 0 ? aTileEntity : tTileEntity;
- byte fromSide = aCoverVariable % 2 != 0 ? GT_Utility.getOppositeSide(aSide) : aSide,
- toSide = aCoverVariable % 2 == 0 ? GT_Utility.getOppositeSide(aSide) : aSide;
+ final TileEntity tTileEntity = aTileEntity.getTileEntityAtSide(aSide);
+ final Object fromEntity = aCoverVariable % 2 == 0 ? aTileEntity : tTileEntity;
+ final Object toEntity = aCoverVariable % 2 != 0 ? aTileEntity : tTileEntity;
+ final byte fromSide = aCoverVariable % 2 != 0 ? GT_Utility.getOppositeSide(aSide) : aSide;
+ final byte toSide = aCoverVariable % 2 == 0 ? GT_Utility.getOppositeSide(aSide) : aSide;
moveMultipleItemStacks(
fromEntity,
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java b/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java
index a2707043ef..7c55a9dce8 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java
@@ -1,5 +1,7 @@
package gregtech.common.covers;
+import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
+
import com.google.common.io.ByteArrayDataInput;
import com.gtnewhorizons.modularui.api.drawable.ItemDrawable;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
@@ -120,6 +122,7 @@ public abstract class GT_Cover_FacadeBase extends GT_CoverBehaviorBase<GT_Cover_
public void placeCover(byte aSide, ItemStack aCover, ICoverable aTileEntity) {
aTileEntity.setCoverIdAndDataAtSide(
aSide, GT_Utility.stackToInt(aCover), new FacadeData(GT_Utility.copyAmount(1, aCover), 0));
+
if (aTileEntity.isClientSide())
GT_RenderingWorld.getInstance()
.register(
@@ -193,7 +196,7 @@ public abstract class GT_Cover_FacadeBase extends GT_CoverBehaviorBase<GT_Cover_
@Override
protected void onDroppedImpl(byte aSide, int aCoverID, FacadeData aCoverVariable, ICoverable aTileEntity) {
if (aTileEntity.isClientSide()) {
- for (byte i = 0; i < 6; i++) {
+ for (byte i : ALL_VALID_SIDES) {
if (i == aSide) continue;
// since we do not allow multiple type of facade per block, this check would be enough.
if (aTileEntity.getCoverBehaviorAtSideNew(i) instanceof GT_Cover_FacadeBase) return;
@@ -231,23 +234,20 @@ public abstract class GT_Cover_FacadeBase extends GT_CoverBehaviorBase<GT_Cover_
// to render it correctly require changing GT_Block_Machine to render in both pass, which is not really a good
// idea...
if (!super.isCoverPlaceable(aSide, aStack, aTileEntity)) return false;
- Block targetBlock = getTargetBlock(aStack);
+ final Block targetBlock = getTargetBlock(aStack);
if (targetBlock == null) return false;
// we allow one single type of facade on the same block for now
// otherwise it's not clear which block this block should impersonate
// this restriction can be lifted later by specifying a certain facade as dominate one as an extension to this
// class
- for (byte i = 0; i < 6; i++) {
+ for (byte i : ALL_VALID_SIDES) {
if (i == aSide) continue;
- GT_CoverBehaviorBase<?> behavior = aTileEntity.getCoverBehaviorAtSideNew(i);
- if (behavior == null) continue;
- Block facadeBlock = behavior.getFacadeBlock(
- i, aTileEntity.getCoverIDAtSide(i), aTileEntity.getComplexCoverDataAtSide(i), aTileEntity);
+ final CoverInfo coverInfo = aTileEntity.getCoverInfoAtSide(i);
+ if (!coverInfo.isValid()) continue;
+ final Block facadeBlock = coverInfo.getFacadeBlock();
if (facadeBlock == null) continue;
if (facadeBlock != targetBlock) return false;
- if (behavior.getFacadeMeta(
- i, aTileEntity.getCoverIDAtSide(i), aTileEntity.getComplexCoverDataAtSide(i), aTileEntity)
- != getTargetMeta(aStack)) return false;
+ if (coverInfo.getFacadeMeta() != getTargetMeta(aStack)) return false;
}
return true;
}
@@ -272,7 +272,7 @@ public abstract class GT_Cover_FacadeBase extends GT_CoverBehaviorBase<GT_Cover_
@Nonnull
@Override
public NBTBase saveDataToNBT() {
- NBTTagCompound tag = new NBTTagCompound();
+ final NBTTagCompound tag = new NBTTagCompound();
if (mStack != null) tag.setTag("mStack", mStack.writeToNBT(new NBTTagCompound()));
tag.setByte("mFlags", (byte) mFlags);
return tag;
@@ -286,7 +286,7 @@ public abstract class GT_Cover_FacadeBase extends GT_CoverBehaviorBase<GT_Cover_
@Override
public void loadDataFromNBT(NBTBase aNBT) {
- NBTTagCompound tag = (NBTTagCompound) aNBT;
+ final NBTTagCompound tag = (NBTTagCompound) aNBT;
mStack = ItemStack.loadItemStackFromNBT(tag.getCompoundTag("mStack"));
mFlags = tag.getByte("mFlags");
}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java
index 92445fa038..984e817665 100644
--- a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java
@@ -1,5 +1,7 @@
package gregtech.common.covers;
+import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
+
import gregtech.api.GregTech_API;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.covers.IControlsWorkCover;
@@ -53,8 +55,8 @@ public class GT_Cover_RedstoneTransmitterExternal extends GT_Cover_RedstoneWirel
@Override
public boolean isCoverPlaceable(byte aSide, ItemStack aStack, ICoverable aTileEntity) {
if (!super.isCoverPlaceable(aSide, aStack, aTileEntity)) return false;
- for (byte i = 0; i < 6; i++) {
- if (aTileEntity.getCoverBehaviorAtSideNew(i) instanceof IControlsWorkCover) {
+ for (byte tSide : ALL_VALID_SIDES) {
+ if (aTileEntity.getCoverBehaviorAtSideNew(tSide) instanceof IControlsWorkCover) {
return false;
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java
index ed0ca51231..2014138b71 100644
--- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java
+++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_OutputBus_ME.java
@@ -129,13 +129,7 @@ public class GT_MetaTileEntity_Hatch_OutputBus_ME extends GT_MetaTileEntity_Hatc
@Override
public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
- if (!getBaseMetaTileEntity()
- .getCoverBehaviorAtSideNew(aSide)
- .isGUIClickable(
- aSide,
- getBaseMetaTileEntity().getCoverIDAtSide(aSide),
- getBaseMetaTileEntity().getComplexCoverDataAtSide(aSide),
- getBaseMetaTileEntity())) return;
+ if (!getBaseMetaTileEntity().getCoverInfoAtSide(aSide).isGUIClickable()) return;
infiniteCache = !infiniteCache;
GT_Utility.sendChatToPlayer(
aPlayer, StatCollector.translateToLocal("GT5U.hatch.infiniteCache." + infiniteCache));
diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Output_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Output_ME.java
index 940497ede3..bdb1ebbbb4 100644
--- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Output_ME.java
+++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_Output_ME.java
@@ -151,13 +151,7 @@ public class GT_MetaTileEntity_Hatch_Output_ME extends GT_MetaTileEntity_Hatch_O
@Override
public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
// Don't allow to lock fluid in me fluid hatch
- if (!getBaseMetaTileEntity()
- .getCoverBehaviorAtSideNew(aSide)
- .isGUIClickable(
- aSide,
- getBaseMetaTileEntity().getCoverIDAtSide(aSide),
- getBaseMetaTileEntity().getComplexCoverDataAtSide(aSide),
- getBaseMetaTileEntity())) return;
+ if (!getBaseMetaTileEntity().getCoverInfoAtSide(aSide).isGUIClickable()) return;
infiniteCache = !infiniteCache;
GT_Utility.sendChatToPlayer(
aPlayer, StatCollector.translateToLocal("GT5U.hatch.infiniteCacheFluid." + infiniteCache));
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java
index 557b01fbb0..516d2dda66 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.machines.basic;
+import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
import static gregtech.api.enums.GT_Values.AuthorKuba;
import static gregtech.api.enums.GT_Values.V;
import static gregtech.api.enums.Textures.BlockIcons.*;
@@ -179,8 +180,8 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
openGUI(aBaseMetaTileEntity, aPlayer);
return true;
}
- for (byte i = 0; i < 6; i++) {
- if (aBaseMetaTileEntity.getAirAtSide(i)) {
+ for (byte tSide : ALL_VALID_SIDES) {
+ if (aBaseMetaTileEntity.getAirAtSide(tSide)) {
openGUI(aBaseMetaTileEntity, aPlayer);
return true;
}
@@ -230,38 +231,38 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
updateModifiers();
if (canWork()) {
- ItemStack queen = getQueen();
+ final ItemStack queen = getQueen();
usedQueen = queen.copy();
if (beeRoot.getType(queen) == EnumBeeType.QUEEN) {
- IBee bee = beeRoot.getMember(queen);
+ final IBee bee = beeRoot.getMember(queen);
usedQueenBee = bee;
// LIFE CYCLES
float mod = this.getLifespanModifier(null, null, 1.f);
- IBeekeepingMode mode = beeRoot.getBeekeepingMode(this.getWorld());
- IBeeModifier beemodifier = mode.getBeeModifier();
+ final IBeekeepingMode mode = beeRoot.getBeekeepingMode(this.getWorld());
+ final IBeeModifier beemodifier = mode.getBeeModifier();
mod *= beemodifier.getLifespanModifier(null, null, 1.f);
- int h = bee.getHealth();
+ final int h = bee.getHealth();
mod = 1.f / mod;
- float cycles = h / mod;
+ final float cycles = h / mod;
// PRODUCTS
- HashMap<GT_Utility.ItemId, ItemStack> pollen = new HashMap<>();
+ final HashMap<GT_Utility.ItemId, ItemStack> pollen = new HashMap<>();
if (isRetrievingPollen && floweringMod > 0f) {
- int icycles =
+ final int icycles =
(int) cycles + (getWorld().rand.nextFloat() < (cycles - (float) ((int) cycles)) ? 1 : 0);
for (int z = 0; z < icycles; z++) {
- IIndividual p = bee.retrievePollen(this);
+ final IIndividual p = bee.retrievePollen(this);
if (p != null) {
- ItemStack s =
+ final ItemStack s =
p.getGenome().getSpeciesRoot().getMemberStack(p, EnumGermlingType.POLLEN.ordinal());
if (s != null) {
- GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(s);
+ final GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(s);
pollen.computeIfAbsent(id, k -> {
- ItemStack ns = s.copy();
+ final ItemStack ns = s.copy();
ns.stackSize = 0;
return ns;
});
@@ -274,19 +275,19 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
retrievedpollen = null;
retrievingPollenInThisOperation = isRetrievingPollen;
- IBeeGenome genome = bee.getGenome();
- IAlleleBeeSpecies primary = genome.getPrimary();
- IAlleleBeeSpecies secondary = genome.getSecondary();
+ final IBeeGenome genome = bee.getGenome();
+ final IAlleleBeeSpecies primary = genome.getPrimary();
+ final IAlleleBeeSpecies secondary = genome.getSecondary();
- float speed = genome.getSpeed();
- float prodMod = getProductionModifier(null, 1f) * beemodifier.getProductionModifier(null, 1.f);
+ final float speed = genome.getSpeed();
+ final float prodMod = getProductionModifier(null, 1f) * beemodifier.getProductionModifier(null, 1.f);
- HashMap<GT_Utility.ItemId, Float> drops = new HashMap<>();
- HashMap<GT_Utility.ItemId, ItemStack> dropstacks = new HashMap<>();
+ final HashMap<GT_Utility.ItemId, Float> drops = new HashMap<>();
+ final HashMap<GT_Utility.ItemId, ItemStack> dropstacks = new HashMap<>();
for (Map.Entry<ItemStack, Float> entry :
primary.getProductChances().entrySet()) {
- GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(entry.getKey());
+ final GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(entry.getKey());
drops.merge(
id,
Bee.getFinalChance(entry.getValue(), speed, prodMod, 8f)
@@ -297,7 +298,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
}
for (Map.Entry<ItemStack, Float> entry :
secondary.getProductChances().entrySet()) {
- GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(entry.getKey());
+ final GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(entry.getKey());
drops.merge(
id,
Bee.getFinalChance(entry.getValue() / 2f, speed, prodMod, 8f)
@@ -309,7 +310,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
if (primary.isJubilant(genome, this) && secondary.isJubilant(genome, this))
for (Map.Entry<ItemStack, Float> entry :
primary.getSpecialtyChances().entrySet()) {
- GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(entry.getKey());
+ final GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(entry.getKey());
drops.merge(
id,
Bee.getFinalChance(entry.getValue(), speed, prodMod, 8f)
@@ -320,30 +321,30 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
}
int i = 0;
- int imax = mOutputItems.length;
+ final int imax = mOutputItems.length;
- IApiaristTracker breedingTracker = beeRoot.getBreedingTracker(getWorld(), getOwner());
+ final IApiaristTracker breedingTracker = beeRoot.getBreedingTracker(getWorld(), getOwner());
if (!bee.canSpawn()) {
- ItemStack convert = new ItemStack(PluginApiculture.items.beePrincessGE);
- NBTTagCompound nbttagcompound = new NBTTagCompound();
+ final ItemStack convert = new ItemStack(PluginApiculture.items.beePrincessGE);
+ final NBTTagCompound nbttagcompound = new NBTTagCompound();
queen.writeToNBT(nbttagcompound);
convert.setTagCompound(nbttagcompound);
this.mOutputItems[i++] = convert;
} else {
- IBee b = bee.spawnPrincess(this);
+ final IBee b = bee.spawnPrincess(this);
if (b != null) {
- ItemStack princess = beeRoot.getMemberStack(b, EnumBeeType.PRINCESS.ordinal());
+ final ItemStack princess = beeRoot.getMemberStack(b, EnumBeeType.PRINCESS.ordinal());
breedingTracker.registerPrincess(b);
this.mOutputItems[i++] = princess;
}
- IBee[] d = bee.spawnDrones(this);
+ final IBee[] d = bee.spawnDrones(this);
if (d != null && d.length > 0) {
- HashMap<GT_Utility.ItemId, ItemStack> drones = new HashMap<>(d.length);
+ final HashMap<GT_Utility.ItemId, ItemStack> drones = new HashMap<>(d.length);
for (IBee dr : d) {
- ItemStack drone = beeRoot.getMemberStack(dr, EnumBeeType.DRONE.ordinal());
+ final ItemStack drone = beeRoot.getMemberStack(dr, EnumBeeType.DRONE.ordinal());
breedingTracker.registerDrone(dr);
- GT_Utility.ItemId drid = GT_Utility.ItemId.createNoCopy(drone);
+ final GT_Utility.ItemId drid = GT_Utility.ItemId.createNoCopy(drone);
if (drones.containsKey(drid)) drones.get(drid).stackSize += drone.stackSize;
else {
this.mOutputItems[i++] = drone;
@@ -353,12 +354,12 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
}
}
- int imin = i;
+ final int imin = i;
setQueen(null);
for (Map.Entry<GT_Utility.ItemId, Float> entry : drops.entrySet()) {
- ItemStack s = dropstacks.get(entry.getKey()).copy();
+ final ItemStack s = dropstacks.get(entry.getKey()).copy();
s.stackSize = entry.getValue().intValue()
+ (getWorld().rand.nextFloat()
< (entry.getValue()
@@ -383,8 +384,8 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
usedBeeLife = cycles * (float) beeCycleLength;
this.mMaxProgresstime = (int) usedBeeLife;
- int timemaxdivider = this.mMaxProgresstime / 100;
- int useddivider = 1 << this.mSpeed;
+ final int timemaxdivider = this.mMaxProgresstime / 100;
+ final int useddivider = 1 << this.mSpeed;
int actualdivider = useddivider;
this.mMaxProgresstime /= Math.min(actualdivider, timemaxdivider);
actualdivider /= Math.min(actualdivider, timemaxdivider);
@@ -403,17 +404,17 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
this.mMaxProgresstime = 100;
this.mProgresstime = 0;
- int useddivider = Math.min(100, 1 << this.mSpeed);
+ final int useddivider = Math.min(100, 1 << this.mSpeed);
this.mMaxProgresstime /= useddivider;
this.mEUt = (int) ((float) baseEUtUsage * this.energyMod * useddivider);
if (useddivider == 2) this.mEUt += 32;
else if (useddivider > 2) this.mEUt += (32 * (useddivider << (this.mSpeed - 2)));
- IBee princess = beeRoot.getMember(getQueen());
+ final IBee princess = beeRoot.getMember(getQueen());
usedQueenBee = princess;
- IBee drone = beeRoot.getMember(getDrone());
+ final IBee drone = beeRoot.getMember(getDrone());
princess.mate(drone);
- NBTTagCompound nbttagcompound = new NBTTagCompound();
+ final NBTTagCompound nbttagcompound = new NBTTagCompound();
princess.writeToNBT(nbttagcompound);
this.mOutputItems[0] = new ItemStack(PluginApiculture.items.beeQueenGE);
this.mOutputItems[0].setTagCompound(nbttagcompound);
@@ -446,8 +447,8 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
}
private void doEffect() {
- IBeeGenome genome = usedQueenBee.getGenome();
- IAlleleBeeEffect effect = genome.getEffect();
+ final IBeeGenome genome = usedQueenBee.getGenome();
+ final IAlleleBeeEffect effect = genome.getEffect();
if (!(effect instanceof IAlleleBeeAcceleratableEffect)) {
effectData[0] = effect.validateStorage(effectData[0]);
effect.doEffect(genome, effectData[0], this);
@@ -455,7 +456,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
if (!effect.isCombinable()) return;
- IAlleleBeeEffect secondary = (IAlleleBeeEffect) genome.getInactiveAllele(EnumBeeChromosome.EFFECT);
+ final IAlleleBeeEffect secondary = (IAlleleBeeEffect) genome.getInactiveAllele(EnumBeeChromosome.EFFECT);
if (!secondary.isCombinable()) return;
if (!(secondary instanceof IAlleleBeeAcceleratableEffect)) {
@@ -465,8 +466,8 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
}
private void doAcceleratedEffects() {
- IBeeGenome genome = usedQueenBee.getGenome();
- IAlleleBeeEffect effect = genome.getEffect();
+ final IBeeGenome genome = usedQueenBee.getGenome();
+ final IAlleleBeeEffect effect = genome.getEffect();
try {
if (AlleleBeeEffectThrottledField == null) {
AlleleBeeEffectThrottledField = AlleleEffectThrottled.class.getDeclaredField("throttle");
@@ -487,7 +488,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
if (!effect.isCombinable()) return;
- IAlleleBeeEffect secondary = (IAlleleBeeEffect) genome.getInactiveAllele(EnumBeeChromosome.EFFECT);
+ final IAlleleBeeEffect secondary = (IAlleleBeeEffect) genome.getInactiveAllele(EnumBeeChromosome.EFFECT);
if (!secondary.isCombinable()) return;
if (secondary instanceof IAlleleBeeAcceleratableEffect) {
@@ -521,7 +522,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
if (usedQueen != null) {
if (aTick % 2 == 0) {
// FX on client, effect on server
- IBee bee = beeRoot.getMember(usedQueen);
+ final IBee bee = beeRoot.getMember(usedQueen);
effectData = bee.doFX(effectData, this);
}
}
@@ -540,7 +541,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
|| aTick % 600 == 0
|| aBaseMetaTileEntity.hasWorkJustBeenEnabled())
&& hasEnoughEnergyToCheckRecipe()) {
- int check = checkRecipe();
+ final int check = checkRecipe();
if (check == FOUND_AND_SUCCESSFULLY_USED_RECIPE) {
aBaseMetaTileEntity.setActive(true);
}
@@ -615,9 +616,9 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
aBaseMetaTileEntity.setActive(false);
if (doesAutoOutput() && !isOutputEmpty() && aBaseMetaTileEntity.getFrontFacing() != mMainFacing) {
- TileEntity tTileEntity2 =
+ final TileEntity tTileEntity2 =
aBaseMetaTileEntity.getTileEntityAtSide(aBaseMetaTileEntity.getFrontFacing());
- long tStoredEnergy = aBaseMetaTileEntity.getUniversalEnergyStored();
+ final long tStoredEnergy = aBaseMetaTileEntity.getUniversalEnergyStored();
int tMaxStacks = (int) (tStoredEnergy / 64L);
if (tMaxStacks > mOutputItems.length) tMaxStacks = mOutputItems.length;
@@ -670,7 +671,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
if (!GT_ApiaryUpgrade.isUpgrade(aStack)) return false;
for (int i = drone + 1; i < drone + 1 + 4; i++) {
if (aIndex == i) continue;
- ItemStack s = getStackInSlot(i);
+ final ItemStack s = getStackInSlot(i);
if (s == null) continue;
if (GT_Utility.areStacksEqual(getStackInSlot(i), aStack)) return false;
if (GT_ApiaryUpgrade.isUpgrade(aStack)) {
@@ -860,7 +861,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
private int flowerBlockMeta;
private boolean checkFlower(IBee bee) {
- String flowerType = bee.getGenome().getFlowerProvider().getFlowerType();
+ final String flowerType = bee.getGenome().getFlowerProvider().getFlowerType();
if (!this.flowerType.equals(flowerType)) flowercoords = null;
if (flowercoords != null) {
if (getWorld().getBlock(flowercoords.posX, flowercoords.posY, flowercoords.posZ) != flowerBlock
@@ -890,7 +891,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
clearErrors();
if (queen == null) return true; // Reloaded the chunk ?
if (beeRoot.isMember(queen, EnumBeeType.PRINCESS.ordinal())) return true;
- IBee bee = beeRoot.getMember(queen);
+ final IBee bee = beeRoot.getMember(queen);
for (IErrorState err : bee.getCanWork(this)) setCondition(true, err);
setCondition(!checkFlower(bee), EnumErrorCode.NO_FLOWER);
return !hasErrors();
@@ -898,13 +899,13 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
private boolean canWork() {
clearErrors();
- EnumBeeType beeType = beeRoot.getType(getQueen());
+ final EnumBeeType beeType = beeRoot.getType(getQueen());
if (beeType == EnumBeeType.PRINCESS) {
setCondition(!beeRoot.isDrone(getDrone()), EnumErrorCode.NO_DRONE);
return !hasErrors();
}
if (beeType == EnumBeeType.QUEEN) {
- IBee bee = beeRoot.getMember(getQueen());
+ final IBee bee = beeRoot.getMember(getQueen());
for (IErrorState err : bee.getCanWork(this)) setCondition(true, err);
setCondition(!checkFlower(bee), EnumErrorCode.NO_FLOWER);
return !hasErrors();
@@ -936,12 +937,12 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
private int maxspeed = 0;
public void updateModifiers() {
- GT_ApiaryModifier mods = new GT_ApiaryModifier();
+ final GT_ApiaryModifier mods = new GT_ApiaryModifier();
for (int i = 2; i < 2 + 4; i++) {
- ItemStack s = getInputAt(i);
+ final ItemStack s = getInputAt(i);
if (s == null) continue;
if (GT_ApiaryUpgrade.isUpgrade(s)) {
- GT_ApiaryUpgrade upgrade = GT_ApiaryUpgrade.getUpgrade(s);
+ final GT_ApiaryUpgrade upgrade = GT_ApiaryUpgrade.getUpgrade(s);
upgrade.applyModifiers(mods, s);
}
}
@@ -1124,25 +1125,26 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
.widget(new DrawableWidget()
.setDrawable(GT_UITextures.PICTURE_INFORMATION)
.setGTTooltip(() -> {
- String energyreq = GT_Utility.formatNumbers(
+ final String energyreq = GT_Utility.formatNumbers(
(int) ((float) GT_MetaTileEntity_IndustrialApiary.baseEUtUsage
* getEnergyModifier()
* getAcceleration())
+ getAdditionalEnergyUsage());
- String Temp = StatCollector.translateToLocal(
+ final String Temp = StatCollector.translateToLocal(
getTemperature().getName());
- String Hum =
+ final String Hum =
StatCollector.translateToLocal(getHumidity().getName());
if (getUsedQueen() != null
&& BeeManager.beeRoot.isMember(getUsedQueen(), EnumBeeType.QUEEN.ordinal())) {
- IBee bee = BeeManager.beeRoot.getMember(getUsedQueen());
+ final IBee bee = BeeManager.beeRoot.getMember(getUsedQueen());
if (bee.isAnalyzed()) {
- IBeeGenome genome = bee.getGenome();
- IBeeModifier mod = BeeManager.beeRoot
+ final IBeeGenome genome = bee.getGenome();
+ final IBeeModifier mod = BeeManager.beeRoot
.getBeekeepingMode(getWorld())
.getBeeModifier();
- float tmod = getTerritoryModifier(null, 1f) * mod.getTerritoryModifier(null, 1f);
- int[] t = Arrays.stream(genome.getTerritory())
+ final float tmod =
+ getTerritoryModifier(null, 1f) * mod.getTerritoryModifier(null, 1f);
+ final int[] t = Arrays.stream(genome.getTerritory())
.map(i -> (int) ((float) i * tmod))
.toArray();
return mTooltipCache.getUncachedTooltipData(
@@ -1279,7 +1281,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
}
private int getAdditionalEnergyUsage() {
- int accelerated = getAcceleration();
+ final int accelerated = getAcceleration();
int energyusage = 0;
if (accelerated == 2) energyusage = 32;
else if (accelerated > 2) energyusage = 32 * accelerated << (mSpeed - 2);
@@ -1322,10 +1324,10 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
if (aShifthold == 5) return null;
if (aShifthold != 0) return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer);
if (aMouseclick > 1) return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer);
- ItemStack s = aPlayer.inventory.getItemStack();
+ final ItemStack s = aPlayer.inventory.getItemStack();
if (s == null) return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer);
- Slot slot = getSlot(aSlotNumber);
- ItemStack slotStack = slot.getStack();
+ final Slot slot = getSlot(aSlotNumber);
+ final ItemStack slotStack = slot.getStack();
if (slotStack != null && !GT_Utility.areStacksEqual(slotStack, s)) return null; // super would replace item
if (slotStack == null && !slot.isItemValid(s))
return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer);
@@ -1336,23 +1338,23 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
if (max == 0) return null;
if (aMouseclick == 1) max = 1;
if (max == s.stackSize) return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer);
- ItemStack newStack = s.splitStack(s.stackSize - max);
- ItemStack result = super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer);
+ final ItemStack newStack = s.splitStack(s.stackSize - max);
+ final ItemStack result = super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer);
aPlayer.inventory.setItemStack(newStack);
return result;
}
@Override
public ItemStack transferStackInSlot(EntityPlayer aPlayer, int aSlotIndex) {
- Slot s = getSlot(aSlotIndex);
+ final Slot s = getSlot(aSlotIndex);
if (s == null) return super.transferStackInSlot(aPlayer, aSlotIndex);
if (aSlotIndex >= playerInventorySlot) return super.transferStackInSlot(aPlayer, aSlotIndex);
- ItemStack aStack = s.getStack();
+ final ItemStack aStack = s.getStack();
if (aStack == null) return super.transferStackInSlot(aPlayer, aSlotIndex);
if (!GT_ApiaryUpgrade.isUpgrade(aStack)) return super.transferStackInSlot(aPlayer, aSlotIndex);
for (int i = playerInventorySlot + 2; i < playerInventorySlot + 2 + 4; i++) {
- Slot iSlot = getSlot(i);
- ItemStack iStack = iSlot.getStack();
+ final Slot iSlot = getSlot(i);
+ final ItemStack iStack = iSlot.getStack();
if (iStack == null) {
if (!iSlot.isItemValid(aStack)) continue;
} else {
@@ -1361,7 +1363,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
int max = GT_ApiaryUpgrade.getUpgrade(aStack).getMaxNumber();
if (iStack == null) {
max = Math.min(max, aStack.stackSize);
- ItemStack newstack = aStack.splitStack(max);
+ final ItemStack newstack = aStack.splitStack(max);
iSlot.putStack(newstack);
} else {
max = Math.max(0, max - iStack.stackSize);
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java
index 0006c8b7d5..5e6651cdad 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Cleanroom.java
@@ -1,5 +1,6 @@
package gregtech.common.tileentities.machines.multi;
+import static gregtech.api.enums.GT_Values.ALL_VALID_SIDES;
import static gregtech.api.enums.GT_Values.debugCleanroom;
import static gregtech.api.enums.Textures.BlockIcons.*;
@@ -45,6 +46,7 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
return new GT_MetaTileEntity_Cleanroom(mName);
}
+ @Override
protected GT_Multiblock_Tooltip_Builder createTooltip() {
final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
tt.addMachineType("Cleanroom")
@@ -104,7 +106,7 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
int mDoorCount = 0;
int mHullCount = 0;
int mPlascreteCount = 0;
- HashMap<String, Integer> otherBlocks = new HashMap<>();
+ final HashMap<String, Integer> otherBlocks = new HashMap<>();
boolean doorState = false;
this.mUpdate = 100;
@@ -112,8 +114,8 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
GT_Log.out.println("Cleanroom: Checking machine");
}
for (int i = 1; i < 8; i++) {
- Block tBlock = aBaseMetaTileEntity.getBlockOffset(i, 0, 0);
- int tMeta = aBaseMetaTileEntity.getMetaIDOffset(i, 0, 0);
+ final Block tBlock = aBaseMetaTileEntity.getBlockOffset(i, 0, 0);
+ final int tMeta = aBaseMetaTileEntity.getMetaIDOffset(i, 0, 0);
if (tBlock != GregTech_API.sBlockCasings3 || tMeta != 11) {
if (tBlock == GregTech_API.sBlockReinforced || tMeta == 2) {
x = i;
@@ -127,8 +129,8 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
}
}
for (int i = 1; i < 8; i++) {
- Block tBlock = aBaseMetaTileEntity.getBlockOffset(0, 0, i);
- int tMeta = aBaseMetaTileEntity.getMetaIDOffset(0, 0, i);
+ final Block tBlock = aBaseMetaTileEntity.getBlockOffset(0, 0, i);
+ final int tMeta = aBaseMetaTileEntity.getMetaIDOffset(0, 0, i);
if (tBlock != GregTech_API.sBlockCasings3 || tMeta != 11) {
if (tBlock == GregTech_API.sBlockReinforced || tMeta == 2) {
z = i;
@@ -145,8 +147,8 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
for (int i = -x + 1; i < x; i++) {
for (int j = -z + 1; j < z; j++) {
if (i == 0 && j == 0) continue;
- Block tBlock = aBaseMetaTileEntity.getBlockOffset(j, 0, i);
- int tMeta = aBaseMetaTileEntity.getMetaIDOffset(j, 0, i);
+ final Block tBlock = aBaseMetaTileEntity.getBlockOffset(j, 0, i);
+ final int tMeta = aBaseMetaTileEntity.getMetaIDOffset(j, 0, i);
if (tBlock != GregTech_API.sBlockCasings3 && tMeta != 11) {
return false;
}
@@ -154,8 +156,8 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
}
for (int i = -1; i > -16; i--) {
- Block tBlock = aBaseMetaTileEntity.getBlockOffset(x, i, z);
- int tMeta = aBaseMetaTileEntity.getMetaIDOffset(x, i, z);
+ final Block tBlock = aBaseMetaTileEntity.getBlockOffset(x, i, z);
+ final int tMeta = aBaseMetaTileEntity.getMetaIDOffset(x, i, z);
if (tBlock != GregTech_API.sBlockReinforced || tMeta != 2) {
y = i + 1;
break;
@@ -193,7 +195,7 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
} else if (tBlock == GregTech_API.sBlockReinforced && tMeta == 2) {
mPlascreteCount++;
} else {
- IGregTechTileEntity tTileEntity =
+ final IGregTechTileEntity tTileEntity =
aBaseMetaTileEntity.getIGregTechTileEntityOffset(dX, dY, dZ);
if ((!this.addMaintenanceToMachineList(tTileEntity, 210))
&& (!this.addEnergyInputToMachineList(tTileEntity, 210))) {
@@ -209,7 +211,7 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
mDoorCount++;
} else {
if (tTileEntity != null) {
- IMetaTileEntity aMetaTileEntity = tTileEntity.getMetaTileEntity();
+ final IMetaTileEntity aMetaTileEntity = tTileEntity.getMetaTileEntity();
if (aMetaTileEntity == null) {
if (debugCleanroom) {
GT_Log.out.println("Cleanroom: Missing block? Not a aMetaTileEntity");
@@ -255,9 +257,9 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
return false;
}
if (mPlascreteCount < 20) return false;
- float ratio = (((float) mPlascreteCount) / 100f);
+ final float ratio = (((float) mPlascreteCount) / 100f);
for (Map.Entry<String, Integer> e : otherBlocks.entrySet()) {
- ConfigEntry ce = config.get(e.getKey());
+ final ConfigEntry ce = config.get(e.getKey());
if (ce.allowedCount > 0) { // count has priority
if (e.getValue() > ce.allowedCount) return false;
} else if (e.getValue() > ratio * ce.percentage) return false;
@@ -268,9 +270,9 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
if (doorState) {
this.mEfficiency = Math.max(0, this.mEfficiency - 200);
}
- for (byte i = 0; i < 6; i++) {
- byte t = (byte) Math.max(1, (byte) (15 / (10000f / this.mEfficiency)));
- aBaseMetaTileEntity.setInternalOutputRedstoneSignal(i, t);
+ for (byte tSide : ALL_VALID_SIDES) {
+ final byte t = (byte) Math.max(1, (byte) (15 / (10000f / this.mEfficiency)));
+ aBaseMetaTileEntity.setInternalOutputRedstoneSignal(tSide, t);
}
this.mHeight = -y;
return true;
@@ -430,7 +432,7 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_TooltipMultiB
public static void loadConfig(Configuration cfg) {
if (!cfg.hasCategory(category)) setDefaultConfigValues(cfg);
for (ConfigCategory cc : cfg.getCategory(category).getChildren()) {
- String name = cc.get("Name").getString();
+ final String name = cc.get("Name").getString();
if (cc.containsKey("Count")) {
if (cc.containsKey("Meta"))
config.put(