summaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Arm.java131
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Blastproof.java33
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java101
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java151
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Crafting.java39
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java110
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Drain.java117
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java154
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_EnergyOnly.java122
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java109
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Lens.java27
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java113
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java129
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java126
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Pump.java205
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneConductor.java100
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverExternal.java33
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java32
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneSignalizer.java96
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java33
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java33
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java113
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Screen.java100
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Shutter.java103
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java47
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Vent.java49
-rw-r--r--src/main/java/gregtech/common/entities/GT_Entity_Arrow.java397
-rw-r--r--src/main/java/gregtech/common/entities/GT_Entity_Arrow_Potion.java79
-rw-r--r--src/main/java/gregtech/common/gui/GT_Container_Boiler.java101
-rw-r--r--src/main/java/gregtech/common/gui/GT_Container_BronzeBlastFurnace.java43
-rw-r--r--src/main/java/gregtech/common/gui/GT_Container_ChestBuffer.java97
-rw-r--r--src/main/java/gregtech/common/gui/GT_Container_Filter.java152
-rw-r--r--src/main/java/gregtech/common/gui/GT_Container_QuantumChest.java68
-rw-r--r--src/main/java/gregtech/common/gui/GT_Container_Regulator.java186
-rw-r--r--src/main/java/gregtech/common/gui/GT_Container_SuperBuffer.java92
-rw-r--r--src/main/java/gregtech/common/gui/GT_Container_TypeFilter.java132
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_Boiler.java54
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_BronzeBlastFurnace.java38
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_ChestBuffer.java29
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_Filter.java29
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java52
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_QuantumChest.java37
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_Regulator.java43
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_SuperBuffer.java29
-rw-r--r--src/main/java/gregtech/common/gui/GT_GUIContainer_TypeFilter.java29
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java121
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java93
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java131
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java89
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java107
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java108
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java111
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java111
-rw-r--r--src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java138
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java86
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java101
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java120
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java54
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java145
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java356
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java181
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java172
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java161
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java191
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java145
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_FluidNaquadahReactor.java119
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java131
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java125
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java264
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java125
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SolidNaquadahReactor.java119
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java144
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_Bronze.java48
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_BronzeBricks.java51
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_Steel.java50
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_SteelBricks.java50
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Bronze.java130
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Steel.java130
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java128
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java128
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java128
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java128
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Bronze.java130
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Steel.java130
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java128
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java128
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java135
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java141
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_Locker.java225
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java202
-rw-r--r--src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java104
91 files changed, 10135 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Arm.java b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java
new file mode 100644
index 0000000..30bdce1
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java
@@ -0,0 +1,131 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 5: */ import gregtech.api.util.GT_CoverBehavior;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import net.minecraft.entity.player.EntityPlayer;
+/* 8: */ import net.minecraft.tileentity.TileEntity;
+/* 9: */ import net.minecraftforge.fluids.Fluid;
+/* 10: */
+/* 11: */ public class GT_Cover_Arm
+/* 12: */ extends GT_CoverBehavior
+/* 13: */ {
+/* 14: */ public final int mTickRate;
+/* 15: */
+/* 16: */ public GT_Cover_Arm(int aTickRate)
+/* 17: */ {
+/* 18:16 */ this.mTickRate = aTickRate;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 22: */ {
+/* 23:21 */ if ((aCoverVariable == 0) || (((aTileEntity instanceof IMachineProgress)) && (!((IMachineProgress)aTileEntity).isAllowedToWork()))) {
+/* 24:21 */ return aCoverVariable;
+/* 25: */ }
+/* 26:22 */ TileEntity tTileEntity = aTileEntity.getTileEntityAtSide(aSide);
+/* 27:23 */ aTileEntity.decreaseStoredEnergyUnits(1L, true);
+/* 28:24 */ if (aTileEntity.getUniversalEnergyCapacity() >= 128L)
+/* 29: */ {
+/* 30:25 */ if (aTileEntity.isUniversalEnergyStored(256L)) {
+/* 31:26 */ aTileEntity.decreaseStoredEnergyUnits(4 * GT_Utility.moveOneItemStackIntoSlot(aCoverVariable > 0 ? aTileEntity : tTileEntity, aCoverVariable > 0 ? tTileEntity : aTileEntity, aCoverVariable > 0 ? aSide : GT_Utility.getOppositeSide(aSide), Math.abs(aCoverVariable) - 1, null, false, (byte)64, (byte)1, (byte)64, (byte)1), true);
+/* 32: */ }
+/* 33: */ }
+/* 34: */ else {
+/* 35:29 */ GT_Utility.moveOneItemStackIntoSlot(aCoverVariable > 0 ? aTileEntity : tTileEntity, aCoverVariable > 0 ? tTileEntity : aTileEntity, aCoverVariable > 0 ? aSide : GT_Utility.getOppositeSide(aSide), Math.abs(aCoverVariable) - 1, null, false, (byte)64, (byte)1, (byte)64, (byte)1);
+/* 36: */ }
+/* 37:31 */ return aCoverVariable;
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 41: */ {
+/* 42:36 */ if (GT_Utility.getClickedFacingCoords(aSide, aX, aY, aZ)[0] >= 0.5F) {
+/* 43:36 */ aCoverVariable += 16;
+/* 44: */ } else {
+/* 45:36 */ aCoverVariable -= 16;
+/* 46: */ }
+/* 47:37 */ GT_Utility.sendChatToPlayer(aPlayer, (aCoverVariable > 0 ? "Puts out into adjacent Slot #" : "Grabs in for own Slot #") + (Math.abs(aCoverVariable) - 1));
+/* 48:38 */ return aCoverVariable;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean onCoverRightclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 52: */ {
+/* 53:43 */ if (GT_Utility.getClickedFacingCoords(aSide, aX, aY, aZ)[0] >= 0.5F) {
+/* 54:43 */ aCoverVariable++;
+/* 55: */ } else {
+/* 56:43 */ aCoverVariable--;
+/* 57: */ }
+/* 58:44 */ GT_Utility.sendChatToPlayer(aPlayer, (aCoverVariable > 0 ? "Puts out into adjacent Slot #" : "Grabs in for own Slot #") + (Math.abs(aCoverVariable) - 1));
+/* 59:45 */ aTileEntity.setCoverDataAtSide(aSide, aCoverVariable);
+/* 60:46 */ return true;
+/* 61: */ }
+/* 62: */
+/* 63: */ @Override
+public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 64: */ {
+/* 65:51 */ return true;
+/* 66: */ }
+/* 67: */
+/* 68: */ @Override
+public boolean letsRedstoneGoOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 69: */ {
+/* 70:56 */ return true;
+/* 71: */ }
+/* 72: */
+/* 73: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 74: */ {
+/* 75:61 */ return true;
+/* 76: */ }
+/* 77: */
+/* 78: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 79: */ {
+/* 80:66 */ return true;
+/* 81: */ }
+/* 82: */
+/* 83: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 84: */ {
+/* 85:71 */ return true;
+/* 86: */ }
+/* 87: */
+/* 88: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 89: */ {
+/* 90:76 */ return true;
+/* 91: */ }
+/* 92: */
+/* 93: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 94: */ {
+/* 95:81 */ return true;
+/* 96: */ }
+/* 97: */
+/* 98: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 99: */ {
+/* :0:86 */ return true;
+/* :1: */ }
+/* :2: */
+/* :3: */ @Override
+public boolean alwaysLookConnected(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* :4: */ {
+/* :5:91 */ return true;
+/* :6: */ }
+/* :7: */
+/* :8: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* :9: */ {
+/* ;0:96 */ return this.mTickRate;
+/* ;1: */ }
+/* ;2: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Arm
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Blastproof.java b/src/main/java/gregtech/common/covers/GT_Cover_Blastproof.java
new file mode 100644
index 0000000..83e8761
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Blastproof.java
@@ -0,0 +1,33 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 5: */
+/* 6: */ public class GT_Cover_Blastproof
+/* 7: */ extends GT_CoverBehavior
+/* 8: */ {
+/* 9: */ private final float mLevel;
+/* 10: */
+/* 11: */ public GT_Cover_Blastproof(float aLevel)
+/* 12: */ {
+/* 13:11 */ this.mLevel = aLevel;
+/* 14: */ }
+/* 15: */
+/* 16: */ @Override
+public float getBlastProofLevel(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 17: */ {
+/* 18:16 */ return this.mLevel;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public boolean isSimpleCover()
+/* 22: */ {
+/* 23:21 */ return true;
+/* 24: */ }
+/* 25: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Blastproof
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
new file mode 100644
index 0000000..b639620
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java
@@ -0,0 +1,101 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 5: */ import gregtech.api.util.GT_CoverBehavior;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import net.minecraft.entity.player.EntityPlayer;
+/* 8: */ import net.minecraftforge.fluids.Fluid;
+/* 9: */
+/* 10: */ public class GT_Cover_ControlsWork
+/* 11: */ extends GT_CoverBehavior
+/* 12: */ {
+/* 13: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 14: */ {
+ if(aTileEntity instanceof IMachineProgress)
+ {
+ if((aInputRedstone > 0) == (aCoverVariable == 0) && aCoverVariable != 2)
+ ((IMachineProgress)aTileEntity).enableWorking();
+ else
+ ((IMachineProgress)aTileEntity).disableWorking();
+ ((IMachineProgress)aTileEntity).setWorkDataValue(aInputRedstone);
+ }
+ return aCoverVariable;
+}
+/* 30: */
+/* 31: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 32: */ {
+/* 33:22 */ return true;
+/* 34: */ }
+/* 35: */
+/* 36: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 37: */ {
+/* 38:27 */ return true;
+/* 39: */ }
+/* 40: */
+/* 41: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 42: */ {
+/* 43:32 */ return true;
+/* 44: */ }
+/* 45: */
+/* 46: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 47: */ {
+/* 48:37 */ return true;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 52: */ {
+/* 53:42 */ return true;
+/* 54: */ }
+/* 55: */
+/* 56: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 57: */ {
+/* 58:47 */ return true;
+/* 59: */ }
+/* 60: */
+/* 61: */ @Override
+public boolean onCoverRemoval(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced)
+/* 62: */ {
+/* 63:52 */ if ((aTileEntity instanceof IMachineProgress))
+/* 64: */ {
+/* 65:53 */ ((IMachineProgress)aTileEntity).enableWorking();
+/* 66:54 */ ((IMachineProgress)aTileEntity).setWorkDataValue((byte)0);
+/* 67: */ }
+/* 68:56 */ return true;
+/* 69: */ }
+/* 70: */
+/* 71: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 72: */ {
+/* 73:61 */ aCoverVariable = (aCoverVariable + 1) % 3;
+/* 74:62 */ if (aCoverVariable == 0) {
+/* 75:62 */ GT_Utility.sendChatToPlayer(aPlayer, "Normal");
+/* 76: */ }
+/* 77:63 */ if (aCoverVariable == 1) {
+/* 78:63 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted");
+/* 79: */ }
+/* 80:64 */ if (aCoverVariable == 2) {
+/* 81:64 */ GT_Utility.sendChatToPlayer(aPlayer, "No Work at all");
+/* 82: */ }
+/* 83:65 */ return aCoverVariable;
+/* 84: */ }
+/* 85: */
+/* 86: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 87: */ {
+/* 88:70 */ return 1;
+/* 89: */ }
+/* 90: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_ControlsWork
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
new file mode 100644
index 0000000..86363ea
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Conveyor.java
@@ -0,0 +1,151 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 5: */ import gregtech.api.util.GT_CoverBehavior;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import net.minecraft.entity.player.EntityPlayer;
+/* 8: */ import net.minecraft.tileentity.TileEntity;
+/* 9: */ import net.minecraftforge.fluids.Fluid;
+/* 10: */
+/* 11: */ public class GT_Cover_Conveyor
+/* 12: */ extends GT_CoverBehavior
+/* 13: */ {
+/* 14: */ public final int mTickRate;
+/* 15: */
+/* 16: */ public GT_Cover_Conveyor(int aTickRate)
+/* 17: */ {
+/* 18:16 */ this.mTickRate = aTickRate;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 22: */ {
+/* 23:21 */ if ((aCoverVariable % 6 > 1) && ((aTileEntity instanceof IMachineProgress))) {
+/* 24:21 */ if (((IMachineProgress)aTileEntity).isAllowedToWork() != aCoverVariable % 6 < 4) {
+/* 25:21 */ return aCoverVariable;
+/* 26: */ }
+/* 27: */ }
+/* 28:22 */ TileEntity tTileEntity = aTileEntity.getTileEntityAtSide(aSide);
+/* 29:23 */ aTileEntity.decreaseStoredEnergyUnits(1L, true);
+/* 30:24 */ if (((aCoverVariable % 2 != 1) || (aSide != 1)) && ((aCoverVariable % 2 != 0) || (aSide != 0)) && (aTileEntity.getUniversalEnergyCapacity() >= 128L))
+/* 31: */ {
+/* 32:25 */ if (aTileEntity.isUniversalEnergyStored(256L)) {
+/* 33:26 */ aTileEntity.decreaseStoredEnergyUnits(4 * GT_Utility.moveOneItemStack(aCoverVariable % 2 == 0 ? aTileEntity : tTileEntity, aCoverVariable % 2 != 0 ? aTileEntity : tTileEntity, aCoverVariable % 2 != 0 ? GT_Utility.getOppositeSide(aSide) : aSide, aCoverVariable % 2 == 0 ? GT_Utility.getOppositeSide(aSide) : aSide, null, false, (byte)64, (byte)1, (byte)64, (byte)1), true);
+/* 34: */ }
+/* 35: */ }
+/* 36: */ else {
+/* 37:29 */ GT_Utility.moveOneItemStack(aCoverVariable % 2 == 0 ? aTileEntity : tTileEntity, aCoverVariable % 2 != 0 ? aTileEntity : tTileEntity, aCoverVariable % 2 != 0 ? GT_Utility.getOppositeSide(aSide) : aSide, aCoverVariable % 2 == 0 ? GT_Utility.getOppositeSide(aSide) : aSide, null, false, (byte)64, (byte)1, (byte)64, (byte)1);
+/* 38: */ }
+/* 39:31 */ return aCoverVariable;
+/* 40: */ }
+/* 41: */
+/* 42: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 43: */ {
+/* 44:36 */ aCoverVariable = (aCoverVariable + 1) % 12;
+/* 45:37 */ if (aCoverVariable == 0) {
+/* 46:37 */ GT_Utility.sendChatToPlayer(aPlayer, "Export");
+/* 47: */ }
+/* 48:38 */ if (aCoverVariable == 1) {
+/* 49:38 */ GT_Utility.sendChatToPlayer(aPlayer, "Import");
+/* 50: */ }
+/* 51:39 */ if (aCoverVariable == 2) {
+/* 52:39 */ GT_Utility.sendChatToPlayer(aPlayer, "Export (conditional)");
+/* 53: */ }
+/* 54:40 */ if (aCoverVariable == 3) {
+/* 55:40 */ GT_Utility.sendChatToPlayer(aPlayer, "Import (conditional)");
+/* 56: */ }
+/* 57:41 */ if (aCoverVariable == 4) {
+/* 58:41 */ GT_Utility.sendChatToPlayer(aPlayer, "Export (invert cond)");
+/* 59: */ }
+/* 60:42 */ if (aCoverVariable == 5) {
+/* 61:42 */ GT_Utility.sendChatToPlayer(aPlayer, "Import (invert cond)");
+/* 62: */ }
+/* 63:43 */ if (aCoverVariable == 6) {
+/* 64:43 */ GT_Utility.sendChatToPlayer(aPlayer, "Export allow Input");
+/* 65: */ }
+/* 66:44 */ if (aCoverVariable == 7) {
+/* 67:44 */ GT_Utility.sendChatToPlayer(aPlayer, "Import allow Output");
+/* 68: */ }
+/* 69:45 */ if (aCoverVariable == 8) {
+/* 70:45 */ GT_Utility.sendChatToPlayer(aPlayer, "Export allow Input (conditional)");
+/* 71: */ }
+/* 72:46 */ if (aCoverVariable == 9) {
+/* 73:46 */ GT_Utility.sendChatToPlayer(aPlayer, "Import allow Output (conditional)");
+/* 74: */ }
+/* 75:47 */ if (aCoverVariable == 10) {
+/* 76:47 */ GT_Utility.sendChatToPlayer(aPlayer, "Export allow Input (invert cond)");
+/* 77: */ }
+/* 78:48 */ if (aCoverVariable == 11) {
+/* 79:48 */ GT_Utility.sendChatToPlayer(aPlayer, "Import allow Output (invert cond)");
+/* 80: */ }
+/* 81:49 */ return aCoverVariable;
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 85: */ {
+/* 86:54 */ return true;
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public boolean letsRedstoneGoOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 90: */ {
+/* 91:59 */ return true;
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 95: */ {
+/* 96:64 */ return true;
+/* 97: */ }
+/* 98: */
+/* 99: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* :0: */ {
+/* :1:69 */ return true;
+/* :2: */ }
+/* :3: */
+/* :4: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* :5: */ {
+/* :6:74 */ return true;
+/* :7: */ }
+/* :8: */
+/* :9: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* ;0: */ {
+/* ;1:79 */ return true;
+/* ;2: */ }
+/* ;3: */
+/* ;4: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* ;5: */ {
+/* ;6:84 */ return (aCoverVariable >= 6) || (aCoverVariable % 2 != 0);
+/* ;7: */ }
+/* ;8: */
+/* ;9: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* <0: */ {
+/* <1:89 */ return (aCoverVariable >= 6) || (aCoverVariable % 2 == 0);
+/* <2: */ }
+/* <3: */
+/* <4: */ @Override
+public boolean alwaysLookConnected(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* <5: */ {
+/* <6:94 */ return true;
+/* <7: */ }
+/* <8: */
+/* <9: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* =0: */ {
+/* =1:99 */ return this.mTickRate;
+/* =2: */ }
+/* =3: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Conveyor
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Crafting.java b/src/main/java/gregtech/common/covers/GT_Cover_Crafting.java
new file mode 100644
index 0000000..c877761
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Crafting.java
@@ -0,0 +1,39 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 5: */ import net.minecraft.entity.player.EntityPlayer;
+/* 6: */ import net.minecraft.entity.player.EntityPlayerMP;
+/* 9: */ import net.minecraft.inventory.ContainerWorkbench;
+/* 11: */ import net.minecraft.network.play.server.S2DPacketOpenWindow;
+/* 13: */
+/* 14: */ public class GT_Cover_Crafting
+/* 15: */ extends GT_CoverBehavior
+/* 16: */ {
+/* 17: */ @Override
+public boolean onCoverRightclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 18: */ {
+/* 19:13 */ if ((aPlayer instanceof EntityPlayerMP))
+/* 20: */ {
+/* 21:14 */ ((EntityPlayerMP)aPlayer).getNextWindowId();
+/* 22:15 */ ((EntityPlayerMP)aPlayer).playerNetServerHandler.sendPacket(new S2DPacketOpenWindow(((EntityPlayerMP)aPlayer).currentWindowId, 1, "Crafting", 9, true));
+/* 23:16 */ ((EntityPlayerMP)aPlayer).openContainer = new ContainerWorkbench(((EntityPlayerMP)aPlayer).inventory, ((EntityPlayerMP)aPlayer).worldObj, aTileEntity.getXCoord(), aTileEntity.getYCoord(), aTileEntity.getZCoord())
+/* 24: */ {
+/* 25: */ @Override
+public boolean canInteractWith(EntityPlayer par1EntityPlayer)
+/* 26: */ {
+/* 27:19 */ return true;
+/* 28: */ }
+/* 29:21 */ };
+/* 30:22 */ ((EntityPlayerMP)aPlayer).openContainer.windowId = ((EntityPlayerMP)aPlayer).currentWindowId;
+/* 31:23 */ ((EntityPlayerMP)aPlayer).openContainer.addCraftingToCrafters((EntityPlayerMP)aPlayer);
+/* 32: */ }
+/* 33:25 */ return true;
+/* 34: */ }
+/* 35: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Crafting
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java b/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java
new file mode 100644
index 0000000..9d56f5a
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_DoesWork.java
@@ -0,0 +1,110 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 5: */ import gregtech.api.util.GT_CoverBehavior;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import net.minecraft.entity.player.EntityPlayer;
+/* 8: */ import net.minecraftforge.fluids.Fluid;
+/* 9: */
+/* 10: */ public class GT_Cover_DoesWork
+/* 11: */ extends GT_CoverBehavior
+/* 12: */ {
+/* 13: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 14: */ {
+/* 15:13 */ if ((aTileEntity instanceof IMachineProgress))
+/* 16: */ {
+/* 17:14 */ if (aCoverVariable < 2)
+/* 18: */ {
+/* 19:15 */ int tScale = ((IMachineProgress)aTileEntity).getMaxProgress() / 15;
+/* 20:16 */ if ((tScale > 0) && (((IMachineProgress)aTileEntity).hasThingsToDo())) {
+/* 21:17 */ aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable % 2 == 0 ? (byte)(((IMachineProgress)aTileEntity).getProgress() / tScale) : (byte)(15 - ((IMachineProgress)aTileEntity).getProgress() / tScale));
+/* 22: */ } else {
+/* 23:19 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable % 2 == 0 ? 0 : 15));
+/* 24: */ }
+/* 25: */ }
+/* 26: */ else
+/* 27: */ {
+/* 28:22 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)((aCoverVariable % 2 == 0 ? 1 : 0) != (((IMachineProgress)aTileEntity).getMaxProgress() == 0 ? 1 : 0) ? 0 : 15));
+/* 29: */ }
+/* 30: */ }
+/* 31: */ else {
+/* 32:25 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)0);
+/* 33: */ }
+/* 34:27 */ return aCoverVariable;
+/* 35: */ }
+/* 36: */
+/* 37: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 38: */ {
+/* 39:32 */ aCoverVariable = (aCoverVariable + 1) % 4;
+/* 40:33 */ if (aCoverVariable == 0) {
+/* 41:33 */ GT_Utility.sendChatToPlayer(aPlayer, "Normal");
+/* 42: */ }
+/* 43:34 */ if (aCoverVariable == 1) {
+/* 44:34 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted");
+/* 45: */ }
+/* 46:35 */ if (aCoverVariable == 2) {
+/* 47:35 */ GT_Utility.sendChatToPlayer(aPlayer, "Ready to work");
+/* 48: */ }
+/* 49:36 */ if (aCoverVariable == 3) {
+/* 50:36 */ GT_Utility.sendChatToPlayer(aPlayer, "Not ready to work");
+/* 51: */ }
+/* 52:37 */ return aCoverVariable;
+/* 53: */ }
+/* 54: */
+/* 55: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 56: */ {
+/* 57:42 */ return true;
+/* 58: */ }
+/* 59: */
+/* 60: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 61: */ {
+/* 62:47 */ return true;
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 66: */ {
+/* 67:52 */ return true;
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 71: */ {
+/* 72:57 */ return true;
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 76: */ {
+/* 77:62 */ return true;
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 81: */ {
+/* 82:67 */ return true;
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 86: */ {
+/* 87:72 */ return true;
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 91: */ {
+/* 92:77 */ return 5;
+/* 93: */ }
+/* 94: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_DoesWork
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Drain.java b/src/main/java/gregtech/common/covers/GT_Cover_Drain.java
new file mode 100644
index 0000000..bc89a85
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Drain.java
@@ -0,0 +1,117 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Materials;
+/* 4: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 5: */ import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 6: */ import gregtech.api.util.GT_CoverBehavior;
+/* 7: */ import gregtech.api.util.GT_Utility;
+/* 8: */ import net.minecraft.block.Block;
+/* 9: */ import net.minecraft.entity.player.EntityPlayer;
+/* 10: */ import net.minecraft.init.Blocks;
+/* 13: */ import net.minecraftforge.common.util.ForgeDirection;
+/* 14: */ import net.minecraftforge.fluids.Fluid;
+/* 15: */ import net.minecraftforge.fluids.FluidStack;
+/* 16: */ import net.minecraftforge.fluids.IFluidBlock;
+/* 17: */ import net.minecraftforge.fluids.IFluidHandler;
+/* 18: */
+/* 19: */ public class GT_Cover_Drain
+/* 20: */ extends GT_CoverBehavior
+/* 21: */ {
+/* 22: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 23: */ {
+/* 24:20 */ if ((aCoverVariable % 3 > 1) && ((aTileEntity instanceof IMachineProgress))) {
+/* 25:20 */ if (((IMachineProgress)aTileEntity).isAllowedToWork() != aCoverVariable % 3 < 2) {
+/* 26:20 */ return aCoverVariable;
+/* 27: */ }
+/* 28: */ }
+/* 29:21 */ if (aSide != 6)
+/* 30: */ {
+/* 31:22 */ Block tBlock = aTileEntity.getBlockAtSide(aSide);
+/* 32:23 */ if ((aCoverVariable < 3) && ((aTileEntity instanceof IFluidHandler)))
+/* 33: */ {
+/* 34:24 */ if ((aSide == 1) &&
+/* 35:25 */ (aTileEntity.getWorld().isRaining()) &&
+/* 36:26 */ (aTileEntity.getWorld().getPrecipitationHeight(aTileEntity.getXCoord(), aTileEntity.getZCoord()) - 2 < aTileEntity.getYCoord()))
+/* 37: */ {
+/* 38:27 */ int tAmount = (int)(aTileEntity.getBiome().rainfall * 10.0F);
+/* 39:28 */ if (tAmount > 0) {
+/* 40:29 */ ((IFluidHandler)aTileEntity).fill(ForgeDirection.getOrientation(aSide), Materials.Water.getFluid(aTileEntity.getWorld().isThundering() ? tAmount * 2 : tAmount), true);
+/* 41: */ }
+/* 42: */ }
+/* 43:34 */ FluidStack tLiquid = null;
+/* 44:35 */ if (tBlock != null)
+/* 45: */ {
+/* 46:36 */ if (((tBlock == Blocks.water) || (tBlock == Blocks.flowing_water)) && (aTileEntity.getMetaIDAtSide(aSide) == 0)) {
+/* 47:37 */ tLiquid = Materials.Water.getFluid(1000L);
+/* 48:38 */ } else if (((tBlock == Blocks.lava) || (tBlock == Blocks.flowing_lava)) && (aTileEntity.getMetaIDAtSide(aSide) == 0)) {
+/* 49:39 */ tLiquid = Materials.Lava.getFluid(1000L);
+/* 50:40 */ } else if ((tBlock instanceof IFluidBlock)) {
+/* 51:41 */ tLiquid = ((IFluidBlock)tBlock).drain(aTileEntity.getWorld(), aTileEntity.getOffsetX(aSide, 1), aTileEntity.getOffsetY(aSide, 1), aTileEntity.getOffsetZ(aSide, 1), false);
+/* 52: */ }
+/* 53:43 */ if ((tLiquid != null) && (tLiquid.getFluid() != null) && ((aSide > 1) || ((aSide == 0) && (tLiquid.getFluid().getDensity() <= 0)) || ((aSide == 1) && (tLiquid.getFluid().getDensity() >= 0))) &&
+/* 54:44 */ (((IFluidHandler)aTileEntity).fill(ForgeDirection.getOrientation(aSide), tLiquid, false) == tLiquid.amount))
+/* 55: */ {
+/* 56:45 */ ((IFluidHandler)aTileEntity).fill(ForgeDirection.getOrientation(aSide), tLiquid, true);
+/* 57:46 */ aTileEntity.getWorld().setBlockToAir(aTileEntity.getXCoord() + ForgeDirection.getOrientation(aSide).offsetX, aTileEntity.getYCoord() + ForgeDirection.getOrientation(aSide).offsetY, aTileEntity.getZCoord() + ForgeDirection.getOrientation(aSide).offsetZ);
+/* 58: */ }
+/* 59: */ }
+/* 60: */ }
+/* 61:51 */ if ((aCoverVariable >= 3) && (tBlock != null) && (
+/* 62:52 */ (tBlock == Blocks.lava) || (tBlock == Blocks.flowing_lava) || (tBlock == Blocks.water) || (tBlock == Blocks.flowing_water) || ((tBlock instanceof IFluidBlock)))) {
+/* 63:53 */ aTileEntity.getWorld().setBlock(aTileEntity.getOffsetX(aSide, 1), aTileEntity.getOffsetY(aSide, 1), aTileEntity.getOffsetZ(aSide, 1), Blocks.air, 0, 0);
+/* 64: */ }
+/* 65: */ }
+/* 66:57 */ return aCoverVariable;
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 70: */ {
+/* 71:62 */ aCoverVariable = (aCoverVariable + 1) % 6;
+/* 72:63 */ if (aCoverVariable == 0) {
+/* 73:63 */ GT_Utility.sendChatToPlayer(aPlayer, "Import");
+/* 74: */ }
+/* 75:64 */ if (aCoverVariable == 1) {
+/* 76:64 */ GT_Utility.sendChatToPlayer(aPlayer, "Import (conditional)");
+/* 77: */ }
+/* 78:65 */ if (aCoverVariable == 2) {
+/* 79:65 */ GT_Utility.sendChatToPlayer(aPlayer, "Import (invert cond)");
+/* 80: */ }
+/* 81:66 */ if (aCoverVariable == 3) {
+/* 82:66 */ GT_Utility.sendChatToPlayer(aPlayer, "Keep Liquids Away");
+/* 83: */ }
+/* 84:67 */ if (aCoverVariable == 4) {
+/* 85:67 */ GT_Utility.sendChatToPlayer(aPlayer, "Keep Liquids Away (conditional)");
+/* 86: */ }
+/* 87:68 */ if (aCoverVariable == 5) {
+/* 88:68 */ GT_Utility.sendChatToPlayer(aPlayer, "Keep Liquids Away (invert cond)");
+/* 89: */ }
+/* 90:69 */ return aCoverVariable;
+/* 91: */ }
+/* 92: */
+/* 93: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 94: */ {
+/* 95:74 */ if ((aCoverVariable > 1) && ((aTileEntity instanceof IMachineProgress))) {}
+/* 96:74 */ return ((IMachineProgress)aTileEntity).isAllowedToWork() == aCoverVariable < 2;
+/* 97: */ }
+/* 98: */
+/* 99: */ @Override
+public boolean alwaysLookConnected(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* :0: */ {
+/* :1:79 */ return true;
+/* :2: */ }
+/* :3: */
+/* :4: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* :5: */ {
+/* :6:84 */ return aCoverVariable < 3 ? 50 : 1;
+/* :7: */ }
+/* :8: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Drain
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java
new file mode 100644
index 0000000..476c7b7
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_EUMeter.java
@@ -0,0 +1,154 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 5: */ import gregtech.api.util.GT_Utility;
+/* 6: */ import net.minecraft.entity.player.EntityPlayer;
+/* 7: */ import net.minecraftforge.fluids.Fluid;
+/* 8: */
+/* 9: */ public class GT_Cover_EUMeter
+/* 10: */ extends GT_CoverBehavior
+/* 11: */ {
+/* 12: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 13: */ {
+/* 14: 12 */ long tScale = 0L;
+/* 15: 13 */ if (aCoverVariable < 2)
+/* 16: */ {
+/* 17: 14 */ tScale = aTileEntity.getUniversalEnergyCapacity() / 15L;
+/* 18: 15 */ if (tScale > 0L) {
+/* 19: 16 */ aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable % 2 == 0 ? (byte)(int)(aTileEntity.getUniversalEnergyStored() / tScale) : (byte)(int)(15L - aTileEntity.getUniversalEnergyStored() / tScale));
+/* 20: */ } else {
+/* 21: 18 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable % 2 == 0 ? 0 : 15));
+/* 22: */ }
+/* 23: */ }
+/* 24: 20 */ else if (aCoverVariable < 4)
+/* 25: */ {
+/* 26: 21 */ tScale = aTileEntity.getEUCapacity() / 15L;
+/* 27: 22 */ if (tScale > 0L) {
+/* 28: 23 */ aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable % 2 == 0 ? (byte)(int)(aTileEntity.getStoredEU() / tScale) : (byte)(int)(15L - aTileEntity.getStoredEU() / tScale));
+/* 29: */ } else {
+/* 30: 25 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable % 2 == 0 ? 0 : 15));
+/* 31: */ }
+/* 32: */ }
+/* 33: 27 */ else if (aCoverVariable < 6)
+/* 34: */ {
+/* 35: 28 */ tScale = aTileEntity.getSteamCapacity() / 15L;
+/* 36: 29 */ if (tScale > 0L) {
+/* 37: 30 */ aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable % 2 == 0 ? (byte)(int)(aTileEntity.getStoredSteam() / tScale) : (byte)(int)(15L - aTileEntity.getStoredSteam() / tScale));
+/* 38: */ } else {
+/* 39: 32 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable % 2 == 0 ? 0 : 15));
+/* 40: */ }
+/* 41: */ }
+/* 42: 34 */ else if (aCoverVariable < 8)
+/* 43: */ {
+/* 44: 35 */ tScale = aTileEntity.getInputVoltage() * aTileEntity.getInputAmperage() / 15L;
+/* 45: 36 */ if (tScale > 0L) {
+/* 46: 37 */ aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable % 2 == 0 ? (byte)(int)(aTileEntity.getAverageElectricInput() / tScale) : (byte)(int)(15L - aTileEntity.getAverageElectricInput() / tScale));
+/* 47: */ } else {
+/* 48: 39 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable % 2 == 0 ? 0 : 15));
+/* 49: */ }
+/* 50: */ }
+/* 51: 41 */ else if (aCoverVariable < 10)
+/* 52: */ {
+/* 53: 42 */ tScale = aTileEntity.getOutputVoltage() * aTileEntity.getOutputAmperage() / 15L;
+/* 54: 43 */ if (tScale > 0L) {
+/* 55: 44 */ aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable % 2 == 0 ? (byte)(int)(aTileEntity.getAverageElectricOutput() / tScale) : (byte)(int)(15L - aTileEntity.getAverageElectricOutput() / tScale));
+/* 56: */ } else {
+/* 57: 46 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable % 2 == 0 ? 0 : 15));
+/* 58: */ }
+/* 59: */ }
+/* 60: 49 */ return aCoverVariable;
+/* 61: */ }
+/* 62: */
+/* 63: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 64: */ {
+/* 65: 54 */ aCoverVariable = (aCoverVariable + 1) % 10;
+/* 66: 55 */ if (aCoverVariable == 0) {
+/* 67: 55 */ GT_Utility.sendChatToPlayer(aPlayer, "Normal Universal Storage");
+/* 68: */ }
+/* 69: 56 */ if (aCoverVariable == 1) {
+/* 70: 56 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted Universal Storage");
+/* 71: */ }
+/* 72: 57 */ if (aCoverVariable == 2) {
+/* 73: 57 */ GT_Utility.sendChatToPlayer(aPlayer, "Normal Electricity Storage");
+/* 74: */ }
+/* 75: 58 */ if (aCoverVariable == 3) {
+/* 76: 58 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted Electricity Storage");
+/* 77: */ }
+/* 78: 59 */ if (aCoverVariable == 4) {
+/* 79: 59 */ GT_Utility.sendChatToPlayer(aPlayer, "Normal Steam Storage");
+/* 80: */ }
+/* 81: 60 */ if (aCoverVariable == 5) {
+/* 82: 60 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted Steam Storage");
+/* 83: */ }
+/* 84: 61 */ if (aCoverVariable == 6) {
+/* 85: 61 */ GT_Utility.sendChatToPlayer(aPlayer, "Normal Average Electric Input");
+/* 86: */ }
+/* 87: 62 */ if (aCoverVariable == 7) {
+/* 88: 62 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted Average Electric Input");
+/* 89: */ }
+/* 90: 63 */ if (aCoverVariable == 8) {
+/* 91: 63 */ GT_Utility.sendChatToPlayer(aPlayer, "Normal Average Electric Output");
+/* 92: */ }
+/* 93: 64 */ if (aCoverVariable == 9) {
+/* 94: 64 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted Average Electric Output");
+/* 95: */ }
+/* 96: 65 */ return aCoverVariable;
+/* 97: */ }
+/* 98: */
+/* 99: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 100: */ {
+/* 101: 70 */ return true;
+/* 102: */ }
+/* 103: */
+/* 104: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 105: */ {
+/* 106: 75 */ return true;
+/* 107: */ }
+/* 108: */
+/* 109: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 110: */ {
+/* 111: 80 */ return true;
+/* 112: */ }
+/* 113: */
+/* 114: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 115: */ {
+/* 116: 85 */ return true;
+/* 117: */ }
+/* 118: */
+/* 119: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 120: */ {
+/* 121: 90 */ return true;
+/* 122: */ }
+/* 123: */
+/* 124: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 125: */ {
+/* 126: 95 */ return true;
+/* 127: */ }
+/* 128: */
+/* 129: */ @Override
+public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 130: */ {
+/* 131:100 */ return true;
+/* 132: */ }
+/* 133: */
+/* 134: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 135: */ {
+/* 136:105 */ return 5;
+/* 137: */ }
+/* 138: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_EUMeter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_EnergyOnly.java b/src/main/java/gregtech/common/covers/GT_Cover_EnergyOnly.java
new file mode 100644
index 0000000..203d0ce
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_EnergyOnly.java
@@ -0,0 +1,122 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 5: */ import gregtech.api.util.GT_CoverBehavior;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import net.minecraft.entity.player.EntityPlayer;
+/* 8: */ import net.minecraftforge.fluids.Fluid;
+/* 9: */
+/* 10: */ public class GT_Cover_EnergyOnly
+/* 11: */ extends GT_CoverBehavior
+/* 12: */ {
+/* 13: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 14: */ {
+/* 15:13 */ aCoverVariable = (aCoverVariable + 1) % 3;
+/* 16:14 */ if (aCoverVariable == 0) {
+/* 17:14 */ GT_Utility.sendChatToPlayer(aPlayer, "Allow");
+/* 18: */ }
+/* 19:15 */ if (aCoverVariable == 1) {
+/* 20:15 */ GT_Utility.sendChatToPlayer(aPlayer, "Allow (conditional)");
+/* 21: */ }
+/* 22:16 */ if (aCoverVariable == 2) {
+/* 23:16 */ GT_Utility.sendChatToPlayer(aPlayer, "Disallow (conditional)");
+/* 24: */ }
+/* 25:17 */ return aCoverVariable;
+/* 26: */ }
+/* 27: */
+/* 28: */ @Override
+public float getBlastProofLevel(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 29: */ {
+/* 30:22 */ return 20.0F;
+/* 31: */ }
+/* 32: */
+/* 33: */ @Override
+public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 34: */ {
+/* 35:27 */ return false;
+/* 36: */ }
+/* 37: */
+/* 38: */ @Override
+public boolean letsRedstoneGoOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 39: */ {
+/* 40:32 */ return false;
+/* 41: */ }
+/* 42: */
+/* 43: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 44: */ {
+/* 45:37 */ if ((aCoverVariable > 1) && ((aTileEntity instanceof IMachineProgress))) {
+/* 46:37 */ if (((IMachineProgress)aTileEntity).isAllowedToWork() != aCoverVariable < 2) {
+/* 47:37 */ return false;
+/* 48: */ }
+/* 49: */ }
+/* 50:38 */ return true;
+/* 51: */ }
+/* 52: */
+/* 53: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 54: */ {
+/* 55:43 */ if ((aCoverVariable > 1) && ((aTileEntity instanceof IMachineProgress))) {
+/* 56:43 */ if (((IMachineProgress)aTileEntity).isAllowedToWork() != aCoverVariable < 2) {
+/* 57:43 */ return false;
+/* 58: */ }
+/* 59: */ }
+/* 60:44 */ return true;
+/* 61: */ }
+/* 62: */
+/* 63: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 64: */ {
+/* 65:49 */ return false;
+/* 66: */ }
+/* 67: */
+/* 68: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 69: */ {
+/* 70:54 */ return false;
+/* 71: */ }
+/* 72: */
+/* 73: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 74: */ {
+/* 75:59 */ return false;
+/* 76: */ }
+/* 77: */
+/* 78: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 79: */ {
+/* 80:64 */ return false;
+/* 81: */ }
+/* 82: */
+/* 83: */ @Override
+public boolean isGUIClickable(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 84: */ {
+/* 85:69 */ return false;
+/* 86: */ }
+/* 87: */
+/* 88: */ @Override
+public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 89: */ {
+/* 90:74 */ return false;
+/* 91: */ }
+/* 92: */
+/* 93: */ @Override
+public boolean onCoverRightclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 94: */ {
+/* 95:79 */ return false;
+/* 96: */ }
+/* 97: */
+/* 98: */ @Override
+public boolean onCoverRemoval(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced)
+/* 99: */ {
+/* :0:84 */ return true;
+/* :1: */ }
+/* :2: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_EnergyOnly
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
new file mode 100644
index 0000000..12e556f
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java
@@ -0,0 +1,109 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 5: */ import gregtech.api.util.GT_Utility;
+/* 6: */ import net.minecraft.entity.player.EntityPlayer;
+/* 7: */ import net.minecraft.item.ItemStack;
+/* 8: */ import net.minecraftforge.fluids.Fluid;
+/* 9: */
+/* 10: */ public class GT_Cover_ItemMeter
+/* 11: */ extends GT_CoverBehavior
+/* 12: */ {
+/* 13: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 14: */ {
+/* 15: */ int[] tSlots;
+/* 17:14 */ if (aCoverVariable < 2) {
+/* 18:15 */ tSlots = aTileEntity.getAccessibleSlotsFromSide(aSide);
+/* 19: */ } else {
+/* 20:17 */ tSlots = new int[] { aCoverVariable - 2 };
+/* 21: */ }
+/* 22:19 */ int tAll = 0;int tFull = 0;
+/* 23:20 */ for (int i : tSlots) {
+/* 24:21 */ if ((i > 0) && (i < aTileEntity.getSizeInventory()))
+/* 25: */ {
+/* 26:22 */ tAll += 64;
+/* 27:23 */ ItemStack tStack = aTileEntity.getStackInSlot(i);
+/* 28:24 */ if (tStack != null) {
+/* 29:25 */ tFull += tStack.stackSize * 64 / tStack.getMaxStackSize();
+/* 30: */ }
+/* 31: */ }
+/* 32: */ }
+/* 33:29 */ tAll /= 14;
+/* 34:30 */ if (tAll > 0) {
+/* 35:31 */ aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable != 1 ? 0 : tFull > 0 ? (byte)(tFull / tAll + 1) : (byte)(15 - (tFull > 0 ? tFull / tAll + 1 : 0)));
+/* 36: */ } else {
+/* 37:33 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable != 1 ? 0 : 15));
+/* 38: */ }
+/* 39:35 */ return aCoverVariable;
+/* 40: */ }
+/* 41: */
+/* 42: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 43: */ {
+/* 44:40 */ aCoverVariable = (aCoverVariable + 1) % (2 + aTileEntity.getSizeInventory());
+/* 45:41 */ if (aCoverVariable == 0) {
+/* 46:41 */ GT_Utility.sendChatToPlayer(aPlayer, "Normal");
+/* 47:42 */ } else if (aCoverVariable == 1) {
+/* 48:42 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted");
+/* 49: */ } else {
+/* 50:43 */ GT_Utility.sendChatToPlayer(aPlayer, "Slot: " + (aCoverVariable - 2));
+/* 51: */ }
+/* 52:44 */ return aCoverVariable;
+/* 53: */ }
+/* 54: */
+/* 55: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 56: */ {
+/* 57:49 */ return true;
+/* 58: */ }
+/* 59: */
+/* 60: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 61: */ {
+/* 62:54 */ return true;
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 66: */ {
+/* 67:59 */ return true;
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 71: */ {
+/* 72:64 */ return true;
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 76: */ {
+/* 77:69 */ return true;
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 81: */ {
+/* 82:74 */ return true;
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 86: */ {
+/* 87:79 */ return true;
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 91: */ {
+/* 92:84 */ return 5;
+/* 93: */ }
+/* 94: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_ItemMeter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Lens.java b/src/main/java/gregtech/common/covers/GT_Cover_Lens.java
new file mode 100644
index 0000000..e4a1f6d
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Lens.java
@@ -0,0 +1,27 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 5: */
+/* 6: */ public class GT_Cover_Lens
+/* 7: */ extends GT_CoverBehavior
+/* 8: */ {
+/* 9: */ private final byte mColor;
+/* 10: */
+/* 11: */ public GT_Cover_Lens(byte aColor)
+/* 12: */ {
+/* 13:10 */ this.mColor = aColor;
+/* 14: */ }
+/* 15: */
+/* 16: */ @Override
+public byte getLensColor(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 17: */ {
+/* 18:15 */ return this.mColor;
+/* 19: */ }
+/* 20: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Lens
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java b/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
new file mode 100644
index 0000000..d05d639
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_LiquidMeter.java
@@ -0,0 +1,113 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 5: */ import gregtech.api.util.GT_Utility;
+/* 6: */ import net.minecraft.entity.player.EntityPlayer;
+/* 7: */ import net.minecraftforge.common.util.ForgeDirection;
+/* 8: */ import net.minecraftforge.fluids.Fluid;
+/* 9: */ import net.minecraftforge.fluids.FluidStack;
+/* 10: */ import net.minecraftforge.fluids.FluidTankInfo;
+/* 11: */ import net.minecraftforge.fluids.IFluidHandler;
+/* 12: */
+/* 13: */ public class GT_Cover_LiquidMeter
+/* 14: */ extends GT_CoverBehavior
+/* 15: */ {
+/* 16: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 17: */ {
+/* 18:16 */ if ((aTileEntity instanceof IFluidHandler))
+/* 19: */ {
+/* 20:17 */ FluidTankInfo[] tTanks = ((IFluidHandler)aTileEntity).getTankInfo(ForgeDirection.UNKNOWN);
+/* 21:18 */ long tAll = 0L;long tFull = 0L;
+/* 22:19 */ if (tTanks != null) {
+/* 23:19 */ for (FluidTankInfo tTank : tTanks) {
+/* 24:19 */ if (tTank != null)
+/* 25: */ {
+/* 26:20 */ tAll += tTank.capacity;
+/* 27:21 */ FluidStack tLiquid = tTank.fluid;
+/* 28:22 */ if (tLiquid != null) {
+/* 29:23 */ tFull += tLiquid.amount;
+/* 30: */ }
+/* 31: */ }
+/* 32: */ }
+/* 33: */ }
+/* 34:26 */ tAll /= 14L;
+/* 35:27 */ if (tAll > 0L) {
+/* 36:28 */ aTileEntity.setOutputRedstoneSignal(aSide, aCoverVariable == 0 ? 0 : tFull > 0L ? (byte)(int)(tFull / tAll + 1L) : (byte)(int)(15L - (tFull > 0L ? tFull / tAll + 1L : 0L)));
+/* 37: */ } else {
+/* 38:30 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(aCoverVariable == 0 ? 0 : 15));
+/* 39: */ }
+/* 40: */ }
+/* 41: */ else
+/* 42: */ {
+/* 43:33 */ aTileEntity.setOutputRedstoneSignal(aSide, (byte)0);
+/* 44: */ }
+/* 45:35 */ return aCoverVariable;
+/* 46: */ }
+/* 47: */
+/* 48: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 49: */ {
+/* 50:40 */ if (aCoverVariable == 0) {
+/* 51:41 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted");
+/* 52: */ } else {
+/* 53:43 */ GT_Utility.sendChatToPlayer(aPlayer, "Normal");
+/* 54: */ }
+/* 55:44 */ return aCoverVariable == 0 ? 1 : 0;
+/* 56: */ }
+/* 57: */
+/* 58: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 59: */ {
+/* 60:49 */ return true;
+/* 61: */ }
+/* 62: */
+/* 63: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 64: */ {
+/* 65:54 */ return true;
+/* 66: */ }
+/* 67: */
+/* 68: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 69: */ {
+/* 70:59 */ return true;
+/* 71: */ }
+/* 72: */
+/* 73: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 74: */ {
+/* 75:64 */ return true;
+/* 76: */ }
+/* 77: */
+/* 78: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 79: */ {
+/* 80:69 */ return true;
+/* 81: */ }
+/* 82: */
+/* 83: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 84: */ {
+/* 85:74 */ return true;
+/* 86: */ }
+/* 87: */
+/* 88: */ @Override
+public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 89: */ {
+/* 90:79 */ return true;
+/* 91: */ }
+/* 92: */
+/* 93: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 94: */ {
+/* 95:84 */ return 5;
+/* 96: */ }
+/* 97: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_LiquidMeter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java b/src/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java
new file mode 100644
index 0000000..8626948
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_NeedMaintainance.java
@@ -0,0 +1,129 @@
+package gregtech.common.covers;
+
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
+import gregtech.api.util.GT_CoverBehavior;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraftforge.fluids.Fluid;
+
+public class GT_Cover_NeedMaintainance extends GT_CoverBehavior{
+
+ @Override
+ public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+ {
+ boolean needsRepair = false;
+ if(aTileEntity instanceof IGregTechTileEntity){
+ IGregTechTileEntity tTileEntity = (IGregTechTileEntity) aTileEntity;
+ IMetaTileEntity mTileEntity = tTileEntity.getMetaTileEntity();
+ if(mTileEntity instanceof GT_MetaTileEntity_MultiBlockBase){
+ GT_MetaTileEntity_MultiBlockBase multi = (GT_MetaTileEntity_MultiBlockBase) mTileEntity;
+ int ideal = multi.getIdealStatus();
+ int real = multi.getRepairStatus();
+ if((aCoverVariable ==0||aCoverVariable==1)&&(ideal-real>0)){
+ needsRepair=true;
+ }
+ if((aCoverVariable ==2||aCoverVariable==3)&&(ideal-real>1)){
+ needsRepair=true;
+ }if((aCoverVariable ==4||aCoverVariable==5)&&(ideal-real>2)){
+ needsRepair=true;
+ }if((aCoverVariable ==6||aCoverVariable==7)&&(ideal-real>3)){
+ needsRepair=true;
+ }
+ }}
+ if(aCoverVariable % 2 == 0){
+ needsRepair = !needsRepair;
+ }
+
+ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(needsRepair ? 0 : 15));
+ return aCoverVariable;
+ }
+
+ @Override
+ public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+ /* 64: */ {
+ /* 65: 54 */ aCoverVariable = (aCoverVariable + 1) % 10;
+ /* 66: 55 */ if (aCoverVariable == 0) {
+ /* 67: 55 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 1 Maintainance Needed");
+ /* 68: */ }
+ /* 69: 56 */ if (aCoverVariable == 1) {
+ /* 70: 56 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 1 Maintainance Needed(inverted)");
+ /* 71: */ }
+ /* 72: 57 */ if (aCoverVariable == 2) {
+ /* 73: 57 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 2 Maintainance Needed");
+ /* 74: */ }
+ /* 75: 58 */ if (aCoverVariable == 3) {
+ /* 76: 58 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 2 Maintainance Needed(inverted)");
+ /* 77: */ }
+ /* 78: 59 */ if (aCoverVariable == 4) {
+ /* 79: 59 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 3 Maintainance Needed");
+ /* 80: */ }
+ /* 81: 60 */ if (aCoverVariable == 5) {
+ /* 82: 60 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 3 Maintainance Needed(inverted)");
+ /* 83: */ }
+ /* 84: 61 */ if (aCoverVariable == 6) {
+ /* 85: 61 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 4 Maintainance Needed");
+ /* 86: */ }
+ /* 87: 62 */ if (aCoverVariable == 7) {
+ /* 88: 62 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 4 Maintainance Needed(inverted)");
+ /* 89: */ }
+ /* 90: 63 */ if (aCoverVariable == 8) {
+ /* 91: 63 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 5 Maintainance Needed");
+ /* 92: */ }
+ /* 93: 64 */ if (aCoverVariable == 9) {
+ /* 94: 64 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if 5 Maintainance Needed(inverted)");
+ /* 95: */ }
+ /* 96: 65 */ return aCoverVariable;
+ /* 97: */ }
+ /* 98: */
+ /* 99: */ @Override
+ public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 100: */ {
+ /* 101: 70 */ return true;
+ /* 102: */ }
+ /* 103: */
+ /* 104: */ @Override
+ public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 105: */ {
+ /* 106: 75 */ return true;
+ /* 107: */ }
+ /* 108: */
+ /* 109: */ @Override
+ public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+ /* 110: */ {
+ /* 111: 80 */ return true;
+ /* 112: */ }
+ /* 113: */
+ /* 114: */ @Override
+ public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+ /* 115: */ {
+ /* 116: 85 */ return true;
+ /* 117: */ }
+ /* 118: */
+ /* 119: */ @Override
+ public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+ /* 120: */ {
+ /* 121: 90 */ return true;
+ /* 122: */ }
+ /* 123: */
+ /* 124: */ @Override
+ public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+ /* 125: */ {
+ /* 126: 95 */ return true;
+ /* 127: */ }
+ /* 128: */
+ /* 129: */ @Override
+ public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 130: */ {
+ /* 131:100 */ return true;
+ /* 132: */ }
+ /* 133: */
+ /* 134: */ @Override
+ public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 135: */ {
+ /* 136:105 */ return 60;
+ /* 137: */ }
+
+}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java b/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java
new file mode 100644
index 0000000..83d8011
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java
@@ -0,0 +1,126 @@
+package gregtech.common.covers;
+
+import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.util.GT_CoverBehavior;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraftforge.fluids.Fluid;
+
+public class GT_Cover_PlayerDetector extends GT_CoverBehavior{
+
+ private String placer = "";
+ private int range = 8;
+
+ @Override
+ public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+ {
+ boolean playerDetected = false;
+
+ if(aTileEntity instanceof IGregTechTileEntity){
+ if(aTileEntity.isUniversalEnergyStored(20)){
+ aTileEntity.decreaseStoredEnergyUnits(20, true);
+ range = 32;
+ }else{range = 8;}
+ placer = ((IGregTechTileEntity) aTileEntity).getOwnerName();
+ }
+ for (Object tObject : aTileEntity.getWorld().playerEntities) {
+ if ((tObject instanceof EntityPlayerMP))
+ {
+ EntityPlayerMP tEntity = (EntityPlayerMP)tObject;
+ int dist = Math.max(1, (int)tEntity.getDistance(aTileEntity.getXCoord() + 0.5D, aTileEntity.getYCoord() + 0.5D, aTileEntity.getZCoord() + 0.5D));
+ if (dist < range)
+ {
+ if (aCoverVariable == 0)
+ {
+ playerDetected=true;
+ break;
+ }
+ if (tEntity.getDisplayName().equalsIgnoreCase(placer))
+ {
+ if (aCoverVariable == 1)
+ {
+ playerDetected=true;
+ break;
+ }
+ }
+ else if (aCoverVariable == 2)
+ {
+ playerDetected=true;
+ break;
+ }
+ }
+ }
+ }
+
+
+ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(playerDetected ? 15 : 0));
+ return aCoverVariable;
+ }
+
+ @Override
+ public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+ /* 64: */ {
+ /* 65: 54 */ aCoverVariable = (aCoverVariable + 1) % 3;
+ /* 66: 55 */ if (aCoverVariable == 0) {
+ /* 67: 55 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if any Player is close");
+ /* 68: */ }
+ /* 69: 56 */ if (aCoverVariable == 1) {
+ /* 70: 56 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if you are close");
+ /* 71: */ }
+ /* 72: 57 */ if (aCoverVariable == 2) {
+ /* 73: 57 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if other player is close");
+ /* 74: */ }
+ /* 96: 65 */ return aCoverVariable;
+ /* 97: */ }
+ /* 98: */
+ /* 99: */ @Override
+ public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 100: */ {
+ /* 101: 70 */ return true;
+ /* 102: */ }
+ /* 103: */
+ /* 104: */ @Override
+ public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 105: */ {
+ /* 106: 75 */ return true;
+ /* 107: */ }
+ /* 108: */
+ /* 109: */ @Override
+ public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+ /* 110: */ {
+ /* 111: 80 */ return true;
+ /* 112: */ }
+ /* 113: */
+ /* 114: */ @Override
+ public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+ /* 115: */ {
+ /* 116: 85 */ return true;
+ /* 117: */ }
+ /* 118: */
+ /* 119: */ @Override
+ public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+ /* 120: */ {
+ /* 121: 90 */ return true;
+ /* 122: */ }
+ /* 123: */
+ /* 124: */ @Override
+ public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+ /* 125: */ {
+ /* 126: 95 */ return true;
+ /* 127: */ }
+ /* 128: */
+ /* 129: */ @Override
+ public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 130: */ {
+ /* 131:100 */ return true;
+ /* 132: */ }
+ /* 133: */
+ /* 134: */ @Override
+ public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 135: */ {
+ /* 136:105 */ return 20;
+ /* 137: */ }
+
+}
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Pump.java b/src/main/java/gregtech/common/covers/GT_Cover_Pump.java
new file mode 100644
index 0000000..558b0de
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Pump.java
@@ -0,0 +1,205 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 5: */ import gregtech.api.util.GT_CoverBehavior;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import net.minecraft.entity.player.EntityPlayer;
+/* 8: */ import net.minecraftforge.common.util.ForgeDirection;
+/* 9: */ import net.minecraftforge.fluids.Fluid;
+/* 10: */ import net.minecraftforge.fluids.FluidStack;
+/* 11: */ import net.minecraftforge.fluids.IFluidHandler;
+/* 12: */
+/* 13: */ public class GT_Cover_Pump
+/* 14: */ extends GT_CoverBehavior
+/* 15: */ {
+/* 16: */ public final int mTransferRate;
+/* 17: */
+/* 18: */ public GT_Cover_Pump(int aTransferRate)
+/* 19: */ {
+/* 20: 18 */ this.mTransferRate = aTransferRate;
+/* 21: */ }
+/* 22: */
+/* 23: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 24: */ {
+/* 25: 23 */ if ((aCoverVariable % 6 > 1) && ((aTileEntity instanceof IMachineProgress))) {
+/* 26: 23 */ if (((IMachineProgress)aTileEntity).isAllowedToWork() != aCoverVariable % 6 < 4) {
+/* 27: 23 */ return aCoverVariable;
+/* 28: */ }
+/* 29: */ }
+/* 30: 24 */ if ((aTileEntity instanceof IFluidHandler))
+/* 31: */ {
+/* 32: 25 */ IFluidHandler tTank2 = aTileEntity.getITankContainerAtSide(aSide);
+/* 33: 26 */ if (tTank2 != null)
+/* 34: */ {
+/* 35: 27 */ aTileEntity.decreaseStoredEnergyUnits(GT_Utility.getTier(this.mTransferRate), true);
+/* 36: 28 */ IFluidHandler tTank1 = (IFluidHandler)aTileEntity;
+/* 37: 29 */ if (aCoverVariable % 2 == 0)
+/* 38: */ {
+/* 39: 30 */ FluidStack tLiquid = tTank1.drain(ForgeDirection.getOrientation(aSide), this.mTransferRate, false);
+/* 40: 31 */ if (tLiquid != null)
+/* 41: */ {
+/* 42: 32 */ tLiquid = tLiquid.copy();
+/* 43: 33 */ tLiquid.amount = tTank2.fill(ForgeDirection.getOrientation(aSide).getOpposite(), tLiquid, false);
+/* 44: 34 */ if (tLiquid.amount > 0) {
+/* 45: 35 */ if (((aCoverVariable % 2 != 1) || (aSide != 1)) && ((aCoverVariable % 2 != 0) || (aSide != 0)) && (aTileEntity.getUniversalEnergyCapacity() >= Math.min(1, tLiquid.amount / 10)))
+/* 46: */ {
+/* 47: 36 */ if (aTileEntity.isUniversalEnergyStored(Math.min(1, tLiquid.amount / 10)))
+/* 48: */ {
+/* 49: 37 */ aTileEntity.decreaseStoredEnergyUnits(Math.min(1, tLiquid.amount / 10), true);
+/* 50: 38 */ tTank2.fill(ForgeDirection.getOrientation(aSide).getOpposite(), tTank1.drain(ForgeDirection.getOrientation(aSide), tLiquid.amount, true), true);
+/* 51: */ }
+/* 52: */ }
+/* 53: */ else {
+/* 54: 41 */ tTank2.fill(ForgeDirection.getOrientation(aSide).getOpposite(), tTank1.drain(ForgeDirection.getOrientation(aSide), tLiquid.amount, true), true);
+/* 55: */ }
+/* 56: */ }
+/* 57: */ }
+/* 58: */ }
+/* 59: */ else
+/* 60: */ {
+/* 61: 46 */ FluidStack tLiquid = tTank2.drain(ForgeDirection.getOrientation(aSide).getOpposite(), this.mTransferRate, false);
+/* 62: 47 */ if (tLiquid != null)
+/* 63: */ {
+/* 64: 48 */ tLiquid = tLiquid.copy();
+/* 65: 49 */ tLiquid.amount = tTank1.fill(ForgeDirection.getOrientation(aSide), tLiquid, false);
+/* 66: 50 */ if (tLiquid.amount > 0) {
+/* 67: 51 */ if (((aCoverVariable % 2 != 1) || (aSide != 1)) && ((aCoverVariable % 2 != 0) || (aSide != 0)) && (aTileEntity.getUniversalEnergyCapacity() >= Math.min(1, tLiquid.amount / 10)))
+/* 68: */ {
+/* 69: 52 */ if (aTileEntity.isUniversalEnergyStored(Math.min(1, tLiquid.amount / 10)))
+/* 70: */ {
+/* 71: 53 */ aTileEntity.decreaseStoredEnergyUnits(Math.min(1, tLiquid.amount / 10), true);
+/* 72: 54 */ tTank1.fill(ForgeDirection.getOrientation(aSide), tTank2.drain(ForgeDirection.getOrientation(aSide).getOpposite(), tLiquid.amount, true), true);
+/* 73: */ }
+/* 74: */ }
+/* 75: */ else {
+/* 76: 57 */ tTank1.fill(ForgeDirection.getOrientation(aSide), tTank2.drain(ForgeDirection.getOrientation(aSide).getOpposite(), tLiquid.amount, true), true);
+/* 77: */ }
+/* 78: */ }
+/* 79: */ }
+/* 80: */ }
+/* 81: */ }
+/* 82: */ }
+/* 83: 64 */ return aCoverVariable;
+/* 84: */ }
+/* 85: */
+/* 86: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 87: */ {
+/* 88: 69 */ aCoverVariable = (aCoverVariable + 1) % 12;
+/* 89: 70 */ if (aCoverVariable == 0) {
+/* 90: 70 */ GT_Utility.sendChatToPlayer(aPlayer, "Export");
+/* 91: */ }
+/* 92: 71 */ if (aCoverVariable == 1) {
+/* 93: 71 */ GT_Utility.sendChatToPlayer(aPlayer, "Import");
+/* 94: */ }
+/* 95: 72 */ if (aCoverVariable == 2) {
+/* 96: 72 */ GT_Utility.sendChatToPlayer(aPlayer, "Export (conditional)");
+/* 97: */ }
+/* 98: 73 */ if (aCoverVariable == 3) {
+/* 99: 73 */ GT_Utility.sendChatToPlayer(aPlayer, "Import (conditional)");
+/* 100: */ }
+/* 101: 74 */ if (aCoverVariable == 4) {
+/* 102: 74 */ GT_Utility.sendChatToPlayer(aPlayer, "Export (invert cond)");
+/* 103: */ }
+/* 104: 75 */ if (aCoverVariable == 5) {
+/* 105: 75 */ GT_Utility.sendChatToPlayer(aPlayer, "Import (invert cond)");
+/* 106: */ }
+/* 107: 76 */ if (aCoverVariable == 6) {
+/* 108: 76 */ GT_Utility.sendChatToPlayer(aPlayer, "Export allow Input");
+/* 109: */ }
+/* 110: 77 */ if (aCoverVariable == 7) {
+/* 111: 77 */ GT_Utility.sendChatToPlayer(aPlayer, "Import allow Output");
+/* 112: */ }
+/* 113: 78 */ if (aCoverVariable == 8) {
+/* 114: 78 */ GT_Utility.sendChatToPlayer(aPlayer, "Export allow Input (conditional)");
+/* 115: */ }
+/* 116: 79 */ if (aCoverVariable == 9) {
+/* 117: 79 */ GT_Utility.sendChatToPlayer(aPlayer, "Import allow Output (conditional)");
+/* 118: */ }
+/* 119: 80 */ if (aCoverVariable == 10) {
+/* 120: 80 */ GT_Utility.sendChatToPlayer(aPlayer, "Export allow Input (invert cond)");
+/* 121: */ }
+/* 122: 81 */ if (aCoverVariable == 11) {
+/* 123: 81 */ GT_Utility.sendChatToPlayer(aPlayer, "Import allow Output (invert cond)");
+/* 124: */ }
+/* 125: 82 */ return aCoverVariable;
+/* 126: */ }
+/* 127: */
+/* 128: */ @Override
+public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 129: */ {
+/* 130: 87 */ return true;
+/* 131: */ }
+/* 132: */
+/* 133: */ @Override
+public boolean letsRedstoneGoOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 134: */ {
+/* 135: 92 */ return true;
+/* 136: */ }
+/* 137: */
+/* 138: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 139: */ {
+/* 140: 97 */ return true;
+/* 141: */ }
+/* 142: */
+/* 143: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 144: */ {
+/* 145:102 */ return true;
+/* 146: */ }
+/* 147: */
+/* 148: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 149: */ {
+/* 150:107 */ return true;
+/* 151: */ }
+/* 152: */
+/* 153: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 154: */ {
+/* 155:112 */ return true;
+/* 156: */ }
+/* 157: */
+/* 158: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 159: */ {
+/* 160:117 */ if ((aCoverVariable > 1) && ((aTileEntity instanceof IMachineProgress))) {
+/* 161:117 */ if (((IMachineProgress)aTileEntity).isAllowedToWork() != aCoverVariable % 6 < 4) {
+/* 162:117 */ return false;
+/* 163: */ }
+/* 164: */ }
+/* 165:118 */ return (aCoverVariable >= 6) || (aCoverVariable % 2 != 0);
+/* 166: */ }
+/* 167: */
+/* 168: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 169: */ {
+/* 170:123 */ if ((aCoverVariable > 1) && ((aTileEntity instanceof IMachineProgress))) {
+/* 171:123 */ if (((IMachineProgress)aTileEntity).isAllowedToWork() != aCoverVariable % 6 < 4) {
+/* 172:123 */ return false;
+/* 173: */ }
+/* 174: */ }
+/* 175:124 */ return (aCoverVariable >= 6) || (aCoverVariable % 2 == 0);
+/* 176: */ }
+/* 177: */
+/* 178: */ @Override
+public boolean alwaysLookConnected(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 179: */ {
+/* 180:129 */ return true;
+/* 181: */ }
+/* 182: */
+/* 183: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 184: */ {
+/* 185:134 */ return 1;
+/* 186: */ }
+/* 187: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Pump
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneConductor.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneConductor.java
new file mode 100644
index 0000000..9bddf2a
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneConductor.java
@@ -0,0 +1,100 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 5: */ import gregtech.api.util.GT_Utility;
+/* 6: */ import net.minecraft.entity.player.EntityPlayer;
+/* 7: */ import net.minecraftforge.fluids.Fluid;
+/* 8: */
+/* 9: */ public class GT_Cover_RedstoneConductor
+/* 10: */ extends GT_CoverBehavior
+/* 11: */ {
+/* 12: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 13: */ {
+/* 14:12 */ if (aCoverVariable == 0) {
+/* 15:12 */ aTileEntity.setOutputRedstoneSignal(aSide, aTileEntity.getStrongestRedstone());
+/* 16:13 */ } else if (aCoverVariable < 7) {
+/* 17:13 */ aTileEntity.setOutputRedstoneSignal(aSide, aTileEntity.getInternalInputRedstoneSignal((byte)(aCoverVariable - 1)));
+/* 18: */ }
+/* 19:15 */ return aCoverVariable;
+/* 20: */ }
+/* 21: */
+/* 22: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 23: */ {
+/* 24:20 */ aCoverVariable = (aCoverVariable + 1) % 7;
+/* 25:21 */ switch (aCoverVariable)
+/* 26: */ {
+/* 27: */ case 0:
+/* 28:22 */ GT_Utility.sendChatToPlayer(aPlayer, "Conducts strongest Input"); break;
+/* 29: */ case 1:
+/* 30:23 */ GT_Utility.sendChatToPlayer(aPlayer, "Conducts from bottom Input"); break;
+/* 31: */ case 2:
+/* 32:24 */ GT_Utility.sendChatToPlayer(aPlayer, "Conducts from top Input"); break;
+/* 33: */ case 3:
+/* 34:25 */ GT_Utility.sendChatToPlayer(aPlayer, "Conducts from north Input"); break;
+/* 35: */ case 4:
+/* 36:26 */ GT_Utility.sendChatToPlayer(aPlayer, "Conducts from south Input"); break;
+/* 37: */ case 5:
+/* 38:27 */ GT_Utility.sendChatToPlayer(aPlayer, "Conducts from west Input"); break;
+/* 39: */ case 6:
+/* 40:28 */ GT_Utility.sendChatToPlayer(aPlayer, "Conducts from east Input");
+/* 41: */ }
+/* 42:30 */ return aCoverVariable;
+/* 43: */ }
+/* 44: */
+/* 45: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 46: */ {
+/* 47:35 */ return true;
+/* 48: */ }
+/* 49: */
+/* 50: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 51: */ {
+/* 52:40 */ return true;
+/* 53: */ }
+/* 54: */
+/* 55: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 56: */ {
+/* 57:45 */ return true;
+/* 58: */ }
+/* 59: */
+/* 60: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 61: */ {
+/* 62:50 */ return true;
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 66: */ {
+/* 67:55 */ return true;
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 71: */ {
+/* 72:60 */ return true;
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 76: */ {
+/* 77:65 */ return true;
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 81: */ {
+/* 82:70 */ return 1;
+/* 83: */ }
+/* 84: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_RedstoneConductor
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverExternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverExternal.java
new file mode 100644
index 0000000..689804f
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverExternal.java
@@ -0,0 +1,33 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 6: */
+/* 7: */ public class GT_Cover_RedstoneReceiverExternal
+/* 8: */ extends GT_Cover_RedstoneWirelessBase
+/* 9: */ {
+/* 10: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 11: */ {
+/* 12: 9 */ aTileEntity.setOutputRedstoneSignal(aSide, GregTech_API.sWirelessRedstone.get(Integer.valueOf(aCoverVariable)) == null ? 0 : GregTech_API.sWirelessRedstone.get(Integer.valueOf(aCoverVariable)).byteValue());
+/* 13:10 */ return aCoverVariable;
+/* 14: */ }
+/* 15: */
+/* 16: */ @Override
+public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 17: */ {
+/* 18:15 */ return true;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 22: */ {
+/* 23:20 */ return 1;
+/* 24: */ }
+/* 25: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_RedstoneReceiverExternal
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java
new file mode 100644
index 0000000..c2141a7
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneReceiverInternal.java
@@ -0,0 +1,32 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 6: */
+/* 7: */ public class GT_Cover_RedstoneReceiverInternal
+/* 8: */ extends GT_Cover_RedstoneWirelessBase
+/* 9: */ {
+/* 10: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 11: */ {
+/* 12: 9 */ return aCoverVariable;
+/* 13: */ }
+/* 14: */
+/* 15: */ @Override
+public byte getRedstoneInput(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 16: */ {
+/* 17:14 */ return GregTech_API.sWirelessRedstone.get(Integer.valueOf(aCoverVariable)) == null ? 0 : GregTech_API.sWirelessRedstone.get(Integer.valueOf(aCoverVariable)).byteValue();
+/* 18: */ }
+/* 19: */
+/* 20: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 21: */ {
+/* 22:19 */ return 1;
+/* 23: */ }
+/* 24: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_RedstoneReceiverInternal
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneSignalizer.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneSignalizer.java
new file mode 100644
index 0000000..ff89620
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneSignalizer.java
@@ -0,0 +1,96 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 5: */ import gregtech.api.util.GT_CoverBehavior;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import net.minecraft.entity.player.EntityPlayer;
+/* 8: */ import net.minecraftforge.fluids.Fluid;
+/* 9: */
+/* 10: */ public class GT_Cover_RedstoneSignalizer
+/* 11: */ extends GT_CoverBehavior
+/* 12: */ {
+/* 13: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 14: */ {
+/* 15:13 */ aCoverVariable = (aCoverVariable + 1) % 48;
+/* 16:14 */ if (aCoverVariable / 16 == 0) {
+/* 17:15 */ GT_Utility.sendChatToPlayer(aPlayer, "Signal = " + (aCoverVariable & 0xF));
+/* 18:16 */ } else if (aCoverVariable / 16 == 1) {
+/* 19:17 */ GT_Utility.sendChatToPlayer(aPlayer, "Conditional Signal = " + (aCoverVariable & 0xF));
+/* 20:18 */ } else if (aCoverVariable / 16 == 2) {
+/* 21:19 */ GT_Utility.sendChatToPlayer(aPlayer, "Inverted Conditional Signal = " + (aCoverVariable & 0xF));
+/* 22: */ }
+/* 23:20 */ return aCoverVariable;
+/* 24: */ }
+/* 25: */
+/* 26: */ @Override
+public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 27: */ {
+/* 28:25 */ return true;
+/* 29: */ }
+/* 30: */
+/* 31: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 32: */ {
+/* 33:30 */ return true;
+/* 34: */ }
+/* 35: */
+/* 36: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 37: */ {
+/* 38:35 */ return true;
+/* 39: */ }
+/* 40: */
+/* 41: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 42: */ {
+/* 43:40 */ return true;
+/* 44: */ }
+/* 45: */
+/* 46: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 47: */ {
+/* 48:45 */ return true;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 52: */ {
+/* 53:50 */ return true;
+/* 54: */ }
+/* 55: */
+/* 56: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 57: */ {
+/* 58:55 */ return true;
+/* 59: */ }
+/* 60: */
+/* 61: */ @Override
+public byte getRedstoneInput(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 62: */ {
+/* 63:60 */ if (aCoverVariable < 16) {
+/* 64:60 */ return (byte)(aCoverVariable & 0xF);
+/* 65: */ }
+/* 66:61 */ if ((aTileEntity instanceof IMachineProgress))
+/* 67: */ {
+/* 68:62 */ if (((IMachineProgress)aTileEntity).isAllowedToWork())
+/* 69: */ {
+/* 70:63 */ if (aCoverVariable / 16 == 1) {
+/* 71:64 */ return (byte)(aCoverVariable & 0xF);
+/* 72: */ }
+/* 73: */ }
+/* 74:67 */ else if (aCoverVariable / 16 == 2) {
+/* 75:68 */ return (byte)(aCoverVariable & 0xF);
+/* 76: */ }
+/* 77:71 */ return 0;
+/* 78: */ }
+/* 79:73 */ return (byte)(aCoverVariable & 0xF);
+/* 80: */ }
+/* 81: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_RedstoneSignalizer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java
new file mode 100644
index 0000000..bf8337b
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterExternal.java
@@ -0,0 +1,33 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 6: */
+/* 7: */ public class GT_Cover_RedstoneTransmitterExternal
+/* 8: */ extends GT_Cover_RedstoneWirelessBase
+/* 9: */ {
+/* 10: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 11: */ {
+/* 12: 9 */ GregTech_API.sWirelessRedstone.put(Integer.valueOf(aCoverVariable), Byte.valueOf(aInputRedstone));
+/* 13:10 */ return aCoverVariable;
+/* 14: */ }
+/* 15: */
+/* 16: */ @Override
+public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 17: */ {
+/* 18:15 */ return true;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 22: */ {
+/* 23:20 */ return 1;
+/* 24: */ }
+/* 25: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_RedstoneTransmitterExternal
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java
new file mode 100644
index 0000000..1e1fcbb
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneTransmitterInternal.java
@@ -0,0 +1,33 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 6: */
+/* 7: */ public class GT_Cover_RedstoneTransmitterInternal
+/* 8: */ extends GT_Cover_RedstoneWirelessBase
+/* 9: */ {
+/* 10: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 11: */ {
+/* 12: 9 */ GregTech_API.sWirelessRedstone.put(Integer.valueOf(aCoverVariable), Byte.valueOf(aTileEntity.getOutputRedstoneSignal(aSide)));
+/* 13:10 */ return aCoverVariable;
+/* 14: */ }
+/* 15: */
+/* 16: */ @Override
+public boolean letsRedstoneGoOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 17: */ {
+/* 18:15 */ return true;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 22: */ {
+/* 23:20 */ return 1;
+/* 24: */ }
+/* 25: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_RedstoneTransmitterInternal
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java
new file mode 100644
index 0000000..cdf5a31
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_RedstoneWirelessBase.java
@@ -0,0 +1,113 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+/* 4: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 5: */ import gregtech.api.util.GT_CoverBehavior;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 8: */ import net.minecraft.entity.player.EntityPlayer;
+/* 10: */ import net.minecraftforge.fluids.Fluid;
+/* 11: */
+/* 12: */ public abstract class GT_Cover_RedstoneWirelessBase
+/* 13: */ extends GT_CoverBehavior
+/* 14: */ {
+/* 15: */ @Override
+public boolean onCoverRemoval(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced)
+/* 16: */ {
+/* 17:13 */ GregTech_API.sWirelessRedstone.put(Integer.valueOf(aCoverVariable), Byte.valueOf((byte)0));
+/* 18:14 */ return true;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public boolean onCoverRightclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 22: */ {
+/* 23:19 */ if (((aX > 0.375D) && (aX < 0.625D)) || ((aSide > 3) && (((aY > 0.375D) && (aY < 0.625D)) || ((aSide < 2) && (((aZ > 0.375D) && (aZ < 0.625D)) || (aSide == 2) || (aSide == 3))))))
+/* 24: */ {
+/* 25:20 */ GregTech_API.sWirelessRedstone.put(Integer.valueOf(aCoverVariable), Byte.valueOf((byte)0));
+/* 26:21 */ aCoverVariable = GT_Utility.stackToInt(aPlayer.inventory.getCurrentItem());
+/* 27:22 */ aTileEntity.setCoverDataAtSide(aSide, aCoverVariable);
+/* 28:23 */ GT_Utility.sendChatToPlayer(aPlayer, "Frequency: " + aCoverVariable);
+/* 29:24 */ return true;
+/* 30: */ }
+/* 31:26 */ return false;
+/* 32: */ }
+/* 33: */
+/* 34: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 35: */ {
+/* 36:31 */ if (((aX > 0.375D) && (aX < 0.625D)) || ((aSide <= 3) || (((aY > 0.375D) && (aY < 0.625D)) || ((aSide >= 2) || (((aZ <= 0.375D) || (aZ >= 0.625D)) && (aSide != 2) && (aSide != 3))))))
+/* 37: */ {
+/* 38:34 */ GregTech_API.sWirelessRedstone.put(Integer.valueOf(aCoverVariable), Byte.valueOf((byte)0));
+/* 39:35 */ float[] tCoords = GT_Utility.getClickedFacingCoords(aSide, aX, aY, aZ);
+/* 40:36 */ switch ((byte)((byte)(int)(tCoords[0] * 2.0F) + 2 * (byte)(int)(tCoords[1] * 2.0F)))
+/* 41: */ {
+/* 42: */ case 0:
+/* 43:38 */ aCoverVariable -= 32;
+/* 44:39 */ break;
+/* 45: */ case 1:
+/* 46:41 */ aCoverVariable += 32;
+/* 47:42 */ break;
+/* 48: */ case 2:
+/* 49:44 */ aCoverVariable -= 1024;
+/* 50:45 */ break;
+/* 51: */ case 3:
+/* 52:47 */ aCoverVariable += 1024;
+/* 53: */ }
+/* 54: */ }
+/* 55:51 */ GT_Utility.sendChatToPlayer(aPlayer, "Frequency: " + aCoverVariable);
+/* 56:52 */ return aCoverVariable;
+/* 57: */ }
+/* 58: */
+/* 59: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 60: */ {
+/* 61:57 */ return true;
+/* 62: */ }
+/* 63: */
+/* 64: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 65: */ {
+/* 66:62 */ return true;
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 70: */ {
+/* 71:67 */ return true;
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 75: */ {
+/* 76:72 */ return true;
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 80: */ {
+/* 81:77 */ return true;
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 85: */ {
+/* 86:82 */ return true;
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public String getDescription(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 90: */ {
+/* 91:87 */ return "Frequency: " + aCoverVariable;
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 95: */ {
+/* 96:92 */ return 1;
+/* 97: */ }
+/* 98: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_RedstoneWirelessBase
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Screen.java b/src/main/java/gregtech/common/covers/GT_Cover_Screen.java
new file mode 100644
index 0000000..06c1ac0
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Screen.java
@@ -0,0 +1,100 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 5: */ import net.minecraft.entity.player.EntityPlayer;
+/* 6: */ import net.minecraftforge.fluids.Fluid;
+/* 7: */
+/* 8: */ public class GT_Cover_Screen
+/* 9: */ extends GT_CoverBehavior
+/* 10: */ {
+/* 11: */ @Override
+public float getBlastProofLevel(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 12: */ {
+/* 13:11 */ return 20.0F;
+/* 14: */ }
+/* 15: */
+/* 16: */ @Override
+public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 17: */ {
+/* 18:16 */ return false;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public boolean letsRedstoneGoOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 22: */ {
+/* 23:21 */ return false;
+/* 24: */ }
+/* 25: */
+/* 26: */ @Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 27: */ {
+/* 28:26 */ return false;
+/* 29: */ }
+/* 30: */
+/* 31: */ @Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 32: */ {
+/* 33:31 */ return false;
+/* 34: */ }
+/* 35: */
+/* 36: */ @Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 37: */ {
+/* 38:36 */ return false;
+/* 39: */ }
+/* 40: */
+/* 41: */ @Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+/* 42: */ {
+/* 43:41 */ return false;
+/* 44: */ }
+/* 45: */
+/* 46: */ @Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 47: */ {
+/* 48:46 */ return false;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+/* 52: */ {
+/* 53:51 */ return false;
+/* 54: */ }
+/* 55: */
+/* 56: */ @Override
+public boolean isGUIClickable(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 57: */ {
+/* 58:56 */ return true;
+/* 59: */ }
+/* 60: */
+/* 61: */ @Override
+public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 62: */ {
+/* 63:61 */ return false;
+/* 64: */ }
+/* 65: */
+/* 66: */ @Override
+public boolean onCoverRightclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 67: */ {
+/* 68:66 */ return false;
+/* 69: */ }
+/* 70: */
+/* 71: */ @Override
+public boolean onCoverRemoval(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, boolean aForced)
+/* 72: */ {
+/* 73:71 */ return true;
+/* 74: */ }
+/* 75: */
+/* 76: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 77: */ {
+/* 78:76 */ return 0;
+/* 79: */ }
+/* 80: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Screen
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java b/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java
new file mode 100644
index 0000000..8bfca37
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java
@@ -0,0 +1,103 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 5: */ import gregtech.api.util.GT_Utility;
+/* 6: */ import net.minecraft.entity.player.EntityPlayer;
+/* 7: */ import net.minecraftforge.fluids.Fluid;
+/* 8: */
+/* 9: */ public class GT_Cover_Shutter
+/* 10: */ extends GT_CoverBehavior
+/* 11: */ {
+/* 12: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 13: */ {
+/* 14:13 */ return aCoverVariable;
+/* 15: */ }
+/* 16: */
+/* 17: */ @Override
+public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 18: */ {
+/* 19:18 */ aCoverVariable = (aCoverVariable + 1) % 4;
+/* 20:19 */ if (aCoverVariable == 0) {
+/* 21:19 */ GT_Utility.sendChatToPlayer(aPlayer, "Open if work enabled");
+/* 22: */ }
+/* 23:20 */ if (aCoverVariable == 1) {
+/* 24:20 */ GT_Utility.sendChatToPlayer(aPlayer, "Open if work disabled");
+/* 25: */ }
+/* 26:21 */ if (aCoverVariable == 2) {
+/* 27:21 */ GT_Utility.sendChatToPlayer(aPlayer, "Only Output allowed");
+/* 28: */ }
+/* 29:22 */ if (aCoverVariable == 3) {
+/* 30:22 */ GT_Utility.sendChatToPlayer(aPlayer, "Only Input allowed");
+/* 31: */ }
+/* 32:23 */ return aCoverVariable;
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public boolean letsRedstoneGoIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+{
+ return aCoverVariable >= 2 ? aCoverVariable == 3 : (aTileEntity instanceof IMachineProgress) ? ((IMachineProgress)aTileEntity).isAllowedToWork() ? aCoverVariable % 2 == 0 : aCoverVariable % 2 != 0 : true;
+}
+
+@Override
+public boolean letsRedstoneGoOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+{
+ return aCoverVariable >= 2 ? aCoverVariable == 2 : (aTileEntity instanceof IMachineProgress) ? ((IMachineProgress)aTileEntity).isAllowedToWork() ? aCoverVariable % 2 == 0 : aCoverVariable % 2 != 0 : true;
+}
+
+@Override
+public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+{
+ return aCoverVariable >= 2 ? aCoverVariable == 3 : (aTileEntity instanceof IMachineProgress) ? ((IMachineProgress)aTileEntity).isAllowedToWork() ? aCoverVariable % 2 == 0 : aCoverVariable % 2 != 0 : true;
+}
+
+@Override
+public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+{
+ return aCoverVariable >= 2 ? aCoverVariable == 2 : (aTileEntity instanceof IMachineProgress) ? ((IMachineProgress)aTileEntity).isAllowedToWork() ? aCoverVariable % 2 == 0 : aCoverVariable % 2 != 0 : true;
+}
+
+@Override
+public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+{
+ return aCoverVariable >= 2 ? aCoverVariable == 3 : (aTileEntity instanceof IMachineProgress) ? ((IMachineProgress)aTileEntity).isAllowedToWork() ? aCoverVariable % 2 == 0 : aCoverVariable % 2 != 0 : true;
+}
+
+@Override
+public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+{
+ return aCoverVariable >= 2 ? aCoverVariable == 2 : (aTileEntity instanceof IMachineProgress) ? ((IMachineProgress)aTileEntity).isAllowedToWork() ? aCoverVariable % 2 == 0 : aCoverVariable % 2 != 0 : true;
+}
+
+@Override
+public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+{
+ return aCoverVariable >= 2 ? aCoverVariable == 3 : (aTileEntity instanceof IMachineProgress) ? ((IMachineProgress)aTileEntity).isAllowedToWork() ? aCoverVariable % 2 == 0 : aCoverVariable % 2 != 0 : true;
+}
+
+@Override
+public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+{
+ return aCoverVariable >= 2 ? aCoverVariable == 2 : (aTileEntity instanceof IMachineProgress) ? ((IMachineProgress)aTileEntity).isAllowedToWork() ? aCoverVariable % 2 == 0 : aCoverVariable % 2 != 0 : true;
+}
+/* 74: */
+/* 75: */ @Override
+public boolean alwaysLookConnected(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 76: */ {
+/* 77:68 */ return true;
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 81: */ {
+/* 82:73 */ return 0;
+/* 83: */ }
+/* 84: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Shutter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java b/src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java
new file mode 100644
index 0000000..2e3664f
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_SolarPanel.java
@@ -0,0 +1,47 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.util.GT_CoverBehavior;
+/* 7: */
+/* 8: */ public class GT_Cover_SolarPanel
+/* 9: */ extends GT_CoverBehavior
+/* 10: */ {
+/* 11: */ private final int mVoltage;
+/* 12: */
+/* 13: */ public GT_Cover_SolarPanel(int aVoltage)
+/* 14: */ {
+/* 15:11 */ this.mVoltage = aVoltage;
+/* 16: */ }
+/* 17: */
+/* 18: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 19: */ {
+/* 20:16 */ if (aTimer % 100L == 0L) {
+/* 21:17 */ if ((aSide != 1) || (aTileEntity.getWorld().isThundering()))
+/* 22: */ {
+/* 23:18 */ aCoverVariable = 0;
+/* 24: */ }
+/* 25: */ else
+/* 26: */ {
+/* 27:20 */ boolean bRain = (aTileEntity.getWorld().isRaining()) && (aTileEntity.getBiome().rainfall > 0.0F);
+/* 28:21 */ aCoverVariable = ((!bRain) || (aTileEntity.getWorld().skylightSubtracted < 4)) && (aTileEntity.getSkyAtSide(aSide)) ? 1 : (bRain) || (!aTileEntity.getWorld().isDaytime()) ? 2 : 0;
+/* 29: */ }
+/* 30: */ }
+/* 31:24 */ if ((aCoverVariable == 1) || ((aCoverVariable == 2) && (aTimer % 8L == 0L))) {
+/* 32:24 */ aTileEntity.injectEnergyUnits((byte)6, this.mVoltage, 1L);
+/* 33: */ }
+/* 34:25 */ return aCoverVariable;
+/* 35: */ }
+/* 36: */
+/* 37: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 38: */ {
+/* 39:30 */ return 1;
+/* 40: */ }
+/* 41: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_SolarPanel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Vent.java b/src/main/java/gregtech/common/covers/GT_Cover_Vent.java
new file mode 100644
index 0000000..1d14725
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Vent.java
@@ -0,0 +1,49 @@
+/* 1: */ package gregtech.common.covers;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.tileentity.ICoverable;
+/* 4: */ import gregtech.api.interfaces.tileentity.IMachineProgress;
+/* 5: */ import gregtech.api.util.GT_CoverBehavior;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */
+/* 8: */ public class GT_Cover_Vent
+/* 9: */ extends GT_CoverBehavior
+/* 10: */ {
+/* 11: */ private final int mEfficiency;
+/* 12: */
+/* 13: */ public GT_Cover_Vent(int aEfficiency)
+/* 14: */ {
+/* 15:13 */ this.mEfficiency = aEfficiency;
+/* 16: */ }
+/* 17: */
+/* 18: */ @Override
+public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+/* 19: */ {
+/* 20:18 */ if ((aTileEntity instanceof IMachineProgress))
+/* 21: */ {
+/* 22:19 */ if ((((IMachineProgress)aTileEntity).hasThingsToDo()) && (aCoverVariable != ((IMachineProgress)aTileEntity).getProgress()) &&
+/* 23:20 */ (!GT_Utility.hasBlockHitBox(aTileEntity.getWorld(), aTileEntity.getOffsetX(aSide, 1), aTileEntity.getOffsetY(aSide, 1), aTileEntity.getOffsetZ(aSide, 1)))) {
+/* 24:21 */ ((IMachineProgress)aTileEntity).increaseProgress(this.mEfficiency);
+/* 25: */ }
+/* 26:24 */ return ((IMachineProgress)aTileEntity).getProgress();
+/* 27: */ }
+/* 28:26 */ return 0;
+/* 29: */ }
+/* 30: */
+/* 31: */ @Override
+public boolean alwaysLookConnected(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 32: */ {
+/* 33:31 */ return true;
+/* 34: */ }
+/* 35: */
+/* 36: */ @Override
+public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+/* 37: */ {
+/* 38:36 */ return 60;
+/* 39: */ }
+/* 40: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.covers.GT_Cover_Vent
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/entities/GT_Entity_Arrow.java b/src/main/java/gregtech/common/entities/GT_Entity_Arrow.java
new file mode 100644
index 0000000..f444b74
--- /dev/null
+++ b/src/main/java/gregtech/common/entities/GT_Entity_Arrow.java
@@ -0,0 +1,397 @@
+/* 1: */ package gregtech.common.entities;
+/* 10: */ import java.util.List;
+/* 12: */ import java.util.UUID;
+
+/* 2: */
+/* 3: */ import com.mojang.authlib.GameProfile;
+
+/* 5: */ import gregtech.api.objects.ItemData;
+/* 7: */ import gregtech.api.util.GT_OreDictUnificator;
+/* 8: */ import gregtech.api.util.GT_Utility;
+/* 13: */ import net.minecraft.block.Block;
+/* 14: */ import net.minecraft.block.material.Material;
+/* 15: */ import net.minecraft.enchantment.Enchantment;
+/* 16: */ import net.minecraft.enchantment.EnchantmentHelper;
+/* 17: */ import net.minecraft.entity.Entity;
+/* 18: */ import net.minecraft.entity.EntityLivingBase;
+/* 19: */ import net.minecraft.entity.monster.EntityCreeper;
+/* 20: */ import net.minecraft.entity.monster.EntityEnderman;
+/* 21: */ import net.minecraft.entity.player.EntityPlayer;
+/* 22: */ import net.minecraft.entity.player.EntityPlayerMP;
+/* 25: */ import net.minecraft.entity.projectile.EntityArrow;
+/* 26: */ import net.minecraft.init.Blocks;
+/* 27: */ import net.minecraft.init.Items;
+/* 28: */ import net.minecraft.item.ItemStack;
+/* 29: */ import net.minecraft.nbt.NBTTagCompound;
+/* 31: */ import net.minecraft.network.play.server.S2BPacketChangeGameState;
+/* 32: */ import net.minecraft.potion.Potion;
+/* 33: */ import net.minecraft.util.AxisAlignedBB;
+/* 34: */ import net.minecraft.util.DamageSource;
+/* 35: */ import net.minecraft.util.MathHelper;
+/* 36: */ import net.minecraft.util.MovingObjectPosition;
+/* 37: */ import net.minecraft.util.Vec3;
+/* 38: */ import net.minecraft.world.World;
+/* 39: */ import net.minecraft.world.WorldServer;
+/* 40: */ import net.minecraftforge.common.util.FakePlayerFactory;
+/* 41: */
+/* 42: */ public class GT_Entity_Arrow
+/* 43: */ extends EntityArrow
+/* 44: */ {
+/* 45: 36 */ private int mHitBlockX = -1;
+/* 46: 37 */ private int mHitBlockY = -1;
+/* 47: 38 */ private int mHitBlockZ = -1;
+/* 48: 39 */ private Block mHitBlock = Blocks.air;
+/* 49: 40 */ private int mHitBlockMeta = 0;
+/* 50: 41 */ private boolean inGround = false;
+/* 51: 42 */ private int mTicksAlive = 0;
+/* 52: 43 */ private int ticksInAir = 0;
+/* 53: 44 */ private int mKnockback = 0;
+/* 54: 46 */ private ItemStack mArrow = null;
+/* 55: */
+/* 56: */ public GT_Entity_Arrow(World aWorld)
+/* 57: */ {
+/* 58: 49 */ super(aWorld);
+/* 59: */ }
+/* 60: */
+/* 61: */ public GT_Entity_Arrow(World aWorld, double aX, double aY, double aZ)
+/* 62: */ {
+/* 63: 53 */ super(aWorld, aX, aY, aZ);
+/* 64: */ }
+/* 65: */
+/* 66: */ public GT_Entity_Arrow(World aWorld, EntityLivingBase aEntity, float aSpeed)
+/* 67: */ {
+/* 68: 57 */ super(aWorld, aEntity, aSpeed);
+/* 69: */ }
+/* 70: */
+/* 71: */ public GT_Entity_Arrow(EntityArrow aArrow, ItemStack aStack)
+/* 72: */ {
+/* 73: 61 */ super(aArrow.worldObj);
+/* 74: 62 */ NBTTagCompound tNBT = new NBTTagCompound();
+/* 75: 63 */ aArrow.writeToNBT(tNBT);
+/* 76: 64 */ readFromNBT(tNBT);
+/* 77: 65 */ setArrowItem(aStack);
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public void onUpdate()
+/* 81: */ {
+/* 82: 70 */ onEntityUpdate();
+/* 83: 71 */ if ((this.mArrow == null) && (!this.worldObj.isRemote))
+/* 84: */ {
+/* 85: 72 */ setDead();
+/* 86: 73 */ return;
+/* 87: */ }
+/* 88: 76 */ Entity tShootingEntity = this.shootingEntity;
+/* 89: 78 */ if ((this.prevRotationPitch == 0.0F) && (this.prevRotationYaw == 0.0F))
+/* 90: */ {
+/* 91: 79 */ float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
+/* 92: 80 */ this.prevRotationYaw = (this.rotationYaw = (float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / 3.141592653589793D));
+/* 93: 81 */ this.prevRotationPitch = (this.rotationPitch = (float)(Math.atan2(this.motionY, f) * 180.0D / 3.141592653589793D));
+/* 94: */ }
+/* 95: 84 */ if (this.mTicksAlive++ == 3000) {
+/* 96: 84 */ setDead();
+/* 97: */ }
+/* 98: 86 */ Block tBlock = this.worldObj.getBlock(this.mHitBlockX, this.mHitBlockY, this.mHitBlockZ);
+/* 99: 88 */ if (tBlock.getMaterial() != Material.air)
+/* 100: */ {
+/* 101: 89 */ tBlock.setBlockBoundsBasedOnState(this.worldObj, this.mHitBlockX, this.mHitBlockY, this.mHitBlockZ);
+/* 102: 90 */ AxisAlignedBB axisalignedbb = tBlock.getCollisionBoundingBoxFromPool(this.worldObj, this.mHitBlockX, this.mHitBlockY, this.mHitBlockZ);
+/* 103: 91 */ if ((axisalignedbb != null) && (axisalignedbb.isVecInside(Vec3.createVectorHelper(this.posX, this.posY, this.posZ)))) {
+/* 104: 91 */ this.inGround = true;
+/* 105: */ }
+/* 106: */ }
+/* 107: 94 */ if (this.arrowShake > 0) {
+/* 108: 94 */ this.arrowShake -= 1;
+/* 109: */ }
+/* 110: 96 */ if (this.inGround)
+/* 111: */ {
+/* 112: 97 */ int j = this.worldObj.getBlockMetadata(this.mHitBlockX, this.mHitBlockY, this.mHitBlockZ);
+/* 113: 98 */ if ((tBlock != this.mHitBlock) || (j != this.mHitBlockMeta))
+/* 114: */ {
+/* 115: 99 */ this.inGround = false;
+/* 116:100 */ this.motionX *= this.rand.nextFloat() * 0.2F;
+/* 117:101 */ this.motionY *= this.rand.nextFloat() * 0.2F;
+/* 118:102 */ this.motionZ *= this.rand.nextFloat() * 0.2F;
+/* 119:103 */ this.mTicksAlive = 0;
+/* 120:104 */ this.ticksInAir = 0;
+/* 121: */ }
+/* 122: */ }
+/* 123: */ else
+/* 124: */ {
+/* 125:107 */ this.ticksInAir += 1;
+/* 126:108 */ Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
+/* 127:109 */ Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
+/* 128:110 */ MovingObjectPosition tVector = this.worldObj.func_147447_a(vec31, vec3, false, true, false);
+/* 129:111 */ vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
+/* 130:112 */ vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
+/* 131:114 */ if (tVector != null) {
+/* 132:114 */ vec3 = Vec3.createVectorHelper(tVector.hitVec.xCoord, tVector.hitVec.yCoord, tVector.hitVec.zCoord);
+/* 133: */ }
+/* 134:116 */ Entity tHitEntity = null;
+/* 135:117 */ List tAllPotentiallyHitEntities = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D));
+/* 136:118 */ double tLargestDistance = 1.7976931348623157E+308D;
+/* 137:120 */ for (int i = 0; i < tAllPotentiallyHitEntities.size(); i++)
+/* 138: */ {
+/* 139:121 */ Entity entity1 = (Entity)tAllPotentiallyHitEntities.get(i);
+/* 140:123 */ if ((entity1.canBeCollidedWith()) && ((entity1 != tShootingEntity) || (this.ticksInAir >= 5)))
+/* 141: */ {
+/* 142:124 */ AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(0.3D, 0.3D, 0.3D);
+/* 143:125 */ MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3);
+/* 144:127 */ if (movingobjectposition1 != null)
+/* 145: */ {
+/* 146:128 */ double tDistance = vec31.distanceTo(movingobjectposition1.hitVec);
+/* 147:130 */ if (tDistance < tLargestDistance)
+/* 148: */ {
+/* 149:131 */ tHitEntity = entity1;
+/* 150:132 */ tLargestDistance = tDistance;
+/* 151: */ }
+/* 152: */ }
+/* 153: */ }
+/* 154: */ }
+/* 155:138 */ if (tHitEntity != null) {
+/* 156:138 */ tVector = new MovingObjectPosition(tHitEntity);
+/* 157: */ }
+/* 158:140 */ if ((tVector != null) && (tVector.entityHit != null) && ((tVector.entityHit instanceof EntityPlayer)))
+/* 159: */ {
+/* 160:141 */ EntityPlayer entityplayer = (EntityPlayer)tVector.entityHit;
+/* 161:142 */ if ((entityplayer.capabilities.disableDamage) || (((tShootingEntity instanceof EntityPlayer)) && (!((EntityPlayer)tShootingEntity).canAttackPlayer(entityplayer)))) {
+/* 162:142 */ tVector = null;
+/* 163: */ }
+/* 164: */ }
+/* 165:145 */ if (tVector != null) {
+/* 166:146 */ if (tVector.entityHit != null)
+/* 167: */ {
+/* 168:147 */ ItemData tData = GT_OreDictUnificator.getItemData(this.mArrow);
+/* 169: */
+/* 170: */
+/* 171:150 */ float tMagicDamage = (tVector.entityHit instanceof EntityLivingBase) ? EnchantmentHelper.func_152377_a(this.mArrow, ((EntityLivingBase)tVector.entityHit).getCreatureAttribute()) : 0.0F;
+/* 172:151 */ float tDamage = MathHelper.ceiling_double_int(MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ) * (getDamage() + ((tData != null) && (tData.mMaterial != null) && (tData.mMaterial.mMaterial != null) ? tData.mMaterial.mMaterial.mToolQuality / 2.0F - 1.0F : 0.0F)));
+/* 173:153 */ if (getIsCritical()) {
+/* 174:153 */ tDamage += this.rand.nextInt((int)(tDamage / 2.0D + 2.0D));
+/* 175: */ }
+/* 176:156 */ int tFireDamage = (isBurning() ? 5 : 0) + 4 * EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, this.mArrow);
+/* 177:157 */ int tKnockback = this.mKnockback + EnchantmentHelper.getEnchantmentLevel(Enchantment.knockback.effectId, this.mArrow);
+/* 178:158 */ int tHitTimer = -1;
+/* 179: */
+/* 180:160 */ int[] tDamages = onHitEntity(tVector.entityHit, tShootingEntity == null ? this : tShootingEntity, this.mArrow == null ? new ItemStack(Items.arrow, 1) : this.mArrow, (int)(tDamage * 2.0F), (int)(tMagicDamage * 2.0F), tKnockback, tFireDamage, tHitTimer);
+/* 181:162 */ if (tDamages != null)
+/* 182: */ {
+/* 183:163 */ tDamage = tDamages[0] / 2.0F;
+/* 184:164 */ tMagicDamage = tDamages[1] / 2.0F;
+/* 185:165 */ tKnockback = tDamages[2];
+/* 186:166 */ tFireDamage = tDamages[3];
+/* 187:167 */ tHitTimer = tDamages[4];
+/* 188:169 */ if ((tFireDamage > 0) && (!(tVector.entityHit instanceof EntityEnderman))) {
+/* 189:169 */ tVector.entityHit.setFire(tFireDamage);
+/* 190: */ }
+/* 191:171 */ if ((!(tHitEntity instanceof EntityPlayer)) && (EnchantmentHelper.getEnchantmentLevel(Enchantment.looting.effectId, this.mArrow) > 0))
+/* 192: */ {
+/* 193:172 */ EntityPlayer tPlayer = null;
+/* 194:173 */ if ((this.worldObj instanceof WorldServer)) {
+/* 195:173 */ tPlayer = FakePlayerFactory.get((WorldServer)this.worldObj, new GameProfile(new UUID(0L, 0L), (tShootingEntity instanceof EntityLivingBase) ? ((EntityLivingBase)tShootingEntity).getCommandSenderName() : "Arrow"));
+/* 196: */ }
+/* 197:174 */ if (tPlayer != null)
+/* 198: */ {
+/* 199:175 */ tPlayer.inventory.currentItem = 0;
+/* 200:176 */ tPlayer.inventory.setInventorySlotContents(0, getArrowItem());
+/* 201:177 */ tShootingEntity = tPlayer;
+/* 202:178 */ tPlayer.setDead();
+/* 203: */ }
+/* 204: */ }
+/* 205:182 */ DamageSource tDamageSource = DamageSource.causeArrowDamage(this, tShootingEntity == null ? this : tShootingEntity);
+/* 206:184 */ if ((tDamage + tMagicDamage > 0.0F) && (tVector.entityHit.attackEntityFrom(tDamageSource, tDamage + tMagicDamage)))
+/* 207: */ {
+/* 208:185 */ if ((tVector.entityHit instanceof EntityLivingBase))
+/* 209: */ {
+/* 210:186 */ if (tHitTimer >= 0) {
+/* 211:186 */ tVector.entityHit.hurtResistantTime = tHitTimer;
+/* 212: */ }
+/* 213:188 */ if (((tVector.entityHit instanceof EntityCreeper)) && (EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, this.mArrow) > 0)) {
+/* 214:188 */ ((EntityCreeper)tVector.entityHit).func_146079_cb();
+/* 215: */ }
+/* 216:190 */ EntityLivingBase tHitLivingEntity = (EntityLivingBase)tVector.entityHit;
+/* 217:192 */ if (!this.worldObj.isRemote) {
+/* 218:192 */ tHitLivingEntity.setArrowCountInEntity(tHitLivingEntity.getArrowCountInEntity() + 1);
+/* 219: */ }
+/* 220:194 */ if (tKnockback > 0)
+/* 221: */ {
+/* 222:195 */ float tKnockbackDivider = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
+/* 223:196 */ if (tKnockbackDivider > 0.0F) {
+/* 224:196 */ tHitLivingEntity.addVelocity(this.motionX * tKnockback * 0.6000000238418579D / tKnockbackDivider, 0.1D, this.motionZ * tKnockback * 0.6000000238418579D / tKnockbackDivider);
+/* 225: */ }
+/* 226: */ }
+/* 227:199 */ GT_Utility.GT_EnchantmentHelper.applyBullshitA(tHitLivingEntity, tShootingEntity == null ? this : tShootingEntity, this.mArrow);
+/* 228:200 */ GT_Utility.GT_EnchantmentHelper.applyBullshitB((tShootingEntity instanceof EntityLivingBase) ? (EntityLivingBase)tShootingEntity : null, tHitLivingEntity, this.mArrow);
+/* 229:202 */ if ((tShootingEntity != null) && (tHitLivingEntity != tShootingEntity) && ((tHitLivingEntity instanceof EntityPlayer)) && ((tShootingEntity instanceof EntityPlayerMP))) {
+/* 230:203 */ ((EntityPlayerMP)tShootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F));
+/* 231: */ }
+/* 232: */ }
+/* 233:207 */ if (((tShootingEntity instanceof EntityPlayer)) && (tMagicDamage > 0.0F)) {
+/* 234:207 */ ((EntityPlayer)tShootingEntity).onEnchantmentCritical(tVector.entityHit);
+/* 235: */ }
+/* 236:209 */ if ((!(tVector.entityHit instanceof EntityEnderman)) || (((EntityEnderman)tVector.entityHit).getActivePotionEffect(Potion.weakness) != null))
+/* 237: */ {
+/* 238:210 */ if (tFireDamage > 0) {
+/* 239:210 */ tVector.entityHit.setFire(tFireDamage);
+/* 240: */ }
+/* 241:211 */ playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
+/* 242:212 */ setDead();
+/* 243: */ }
+/* 244: */ }
+/* 245: */ else
+/* 246: */ {
+/* 247:215 */ this.motionX *= -0.1000000014901161D;
+/* 248:216 */ this.motionY *= -0.1000000014901161D;
+/* 249:217 */ this.motionZ *= -0.1000000014901161D;
+/* 250:218 */ this.rotationYaw += 180.0F;
+/* 251:219 */ this.prevRotationYaw += 180.0F;
+/* 252:220 */ this.ticksInAir = 0;
+/* 253: */ }
+/* 254: */ }
+/* 255: */ }
+/* 256: */ else
+/* 257: */ {
+/* 258:224 */ this.mHitBlockX = tVector.blockX;
+/* 259:225 */ this.mHitBlockY = tVector.blockY;
+/* 260:226 */ this.mHitBlockZ = tVector.blockZ;
+/* 261:227 */ this.mHitBlock = this.worldObj.getBlock(this.mHitBlockX, this.mHitBlockY, this.mHitBlockZ);
+/* 262:228 */ this.mHitBlockMeta = this.worldObj.getBlockMetadata(this.mHitBlockX, this.mHitBlockY, this.mHitBlockZ);
+/* 263:229 */ this.motionX = ((float)(tVector.hitVec.xCoord - this.posX));
+/* 264:230 */ this.motionY = ((float)(tVector.hitVec.yCoord - this.posY));
+/* 265:231 */ this.motionZ = ((float)(tVector.hitVec.zCoord - this.posZ));
+/* 266:232 */ float f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ);
+/* 267:233 */ this.posX -= this.motionX / f2 * 0.0500000007450581D;
+/* 268:234 */ this.posY -= this.motionY / f2 * 0.0500000007450581D;
+/* 269:235 */ this.posZ -= this.motionZ / f2 * 0.0500000007450581D;
+/* 270:236 */ playSound("random.bowhit", 1.0F, 1.2F / (this.rand.nextFloat() * 0.2F + 0.9F));
+/* 271:237 */ this.inGround = true;
+/* 272:238 */ this.arrowShake = 7;
+/* 273:239 */ setIsCritical(false);
+/* 274:241 */ if (this.mHitBlock.getMaterial() != Material.air) {
+/* 275:241 */ this.mHitBlock.onEntityCollidedWithBlock(this.worldObj, this.mHitBlockX, this.mHitBlockY, this.mHitBlockZ, this);
+/* 276: */ }
+/* 277:243 */ if ((!this.worldObj.isRemote) && (EnchantmentHelper.getEnchantmentLevel(Enchantment.fireAspect.effectId, this.mArrow) > 2)) {
+/* 278:243 */ GT_Utility.setCoordsOnFire(this.worldObj, this.mHitBlockX, this.mHitBlockY, this.mHitBlockZ, true);
+/* 279: */ }
+/* 280:245 */ if (breaksOnImpact()) {
+/* 281:245 */ setDead();
+/* 282: */ }
+/* 283: */ }
+/* 284: */ }
+/* 285:249 */ if (getIsCritical()) {
+/* 286:249 */ for (int i = 0; i < 4; i++) {
+/* 287:249 */ this.worldObj.spawnParticle("crit", this.posX + this.motionX * i / 4.0D, this.posY + this.motionY * i / 4.0D, this.posZ + this.motionZ * i / 4.0D, -this.motionX, -this.motionY + 0.2D, -this.motionZ);
+/* 288: */ }
+/* 289: */ }
+/* 290:251 */ this.posX += this.motionX;this.posY += this.motionY;this.posZ += this.motionZ;
+/* 291: */
+/* 292:253 */ this.rotationYaw = ((float)(Math.atan2(this.motionX, this.motionZ) * 180.0D / 3.141592653589793D));
+/* 293:255 */ for (this.rotationPitch = ((float)(Math.atan2(this.motionY, MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ)) * 180.0D / 3.141592653589793D)); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F) {}
+/* 294:257 */ while (this.rotationPitch - this.prevRotationPitch >= 180.0F) {
+/* 295:257 */ this.prevRotationPitch += 360.0F;
+/* 296: */ }
+/* 297:258 */ while (this.rotationYaw - this.prevRotationYaw < -180.0F) {
+/* 298:258 */ this.prevRotationYaw -= 360.0F;
+/* 299: */ }
+/* 300:259 */ while (this.rotationYaw - this.prevRotationYaw >= 180.0F) {
+/* 301:259 */ this.prevRotationYaw += 360.0F;
+/* 302: */ }
+/* 303:261 */ this.rotationPitch = (this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F);
+/* 304:262 */ this.rotationYaw = (this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F);
+/* 305:263 */ float tFrictionMultiplier = 0.99F;
+/* 306:265 */ if (isInWater())
+/* 307: */ {
+/* 308:266 */ for (int l = 0; l < 4; l++) {
+/* 309:266 */ this.worldObj.spawnParticle("bubble", this.posX - this.motionX * 0.25D, this.posY - this.motionY * 0.25D, this.posZ - this.motionZ * 0.25D, this.motionX, this.motionY, this.motionZ);
+/* 310: */ }
+/* 311:267 */ tFrictionMultiplier = 0.8F;
+/* 312: */ }
+/* 313:270 */ if (isWet()) {
+/* 314:270 */ extinguish();
+/* 315: */ }
+/* 316:272 */ this.motionX *= tFrictionMultiplier;
+/* 317:273 */ this.motionY *= tFrictionMultiplier;
+/* 318:274 */ this.motionZ *= tFrictionMultiplier;
+/* 319:275 */ this.motionY -= 0.0500000007450581D;
+/* 320:276 */ setPosition(this.posX, this.posY, this.posZ);
+/* 321:277 */ func_145775_I();
+/* 322: */ }
+/* 323: */ }
+/* 324: */
+/* 325: */ @Override
+public void writeEntityToNBT(NBTTagCompound aNBT)
+/* 326: */ {
+/* 327:283 */ super.writeEntityToNBT(aNBT);
+/* 328:284 */ aNBT.setShort("xTile", (short)this.mHitBlockX);
+/* 329:285 */ aNBT.setShort("yTile", (short)this.mHitBlockY);
+/* 330:286 */ aNBT.setShort("zTile", (short)this.mHitBlockZ);
+/* 331:287 */ aNBT.setShort("life", (short)this.mTicksAlive);
+/* 332:288 */ aNBT.setByte("inTile", (byte)Block.getIdFromBlock(this.mHitBlock));
+/* 333:289 */ aNBT.setByte("inData", (byte)this.mHitBlockMeta);
+/* 334:290 */ aNBT.setByte("shake", (byte)this.arrowShake);
+/* 335:291 */ aNBT.setByte("inGround", (byte)(this.inGround ? 1 : 0));
+/* 336:292 */ aNBT.setByte("pickup", (byte)this.canBePickedUp);
+/* 337:293 */ aNBT.setDouble("damage", getDamage());
+/* 338:294 */ aNBT.setTag("mArrow", this.mArrow == null ? null : this.mArrow.writeToNBT(new NBTTagCompound()));
+/* 339: */ }
+/* 340: */
+/* 341: */ @Override
+public void readEntityFromNBT(NBTTagCompound aNBT)
+/* 342: */ {
+/* 343:299 */ super.readEntityFromNBT(aNBT);
+/* 344:300 */ this.mHitBlockX = aNBT.getShort("xTile");
+/* 345:301 */ this.mHitBlockY = aNBT.getShort("yTile");
+/* 346:302 */ this.mHitBlockZ = aNBT.getShort("zTile");
+/* 347:303 */ this.mTicksAlive = aNBT.getShort("life");
+/* 348:304 */ this.mHitBlock = Block.getBlockById(aNBT.getByte("inTile") & 0xFF);
+/* 349:305 */ this.mHitBlockMeta = (aNBT.getByte("inData") & 0xFF);
+/* 350:306 */ this.arrowShake = (aNBT.getByte("shake") & 0xFF);
+/* 351:307 */ this.inGround = (aNBT.getByte("inGround") == 1);
+/* 352:308 */ setDamage(aNBT.getDouble("damage"));
+/* 353:309 */ this.canBePickedUp = aNBT.getByte("pickup");
+/* 354:310 */ this.mArrow = GT_Utility.loadItem(aNBT, "mArrow");
+/* 355: */ }
+/* 356: */
+/* 357: */ @Override
+public void onCollideWithPlayer(EntityPlayer aPlayer)
+/* 358: */ {
+/* 359:315 */ if ((!this.worldObj.isRemote) && (this.inGround) && (this.arrowShake <= 0) && (this.canBePickedUp == 1) && (aPlayer.inventory.addItemStackToInventory(getArrowItem())))
+/* 360: */ {
+/* 361:316 */ playSound("random.pop", 0.2F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
+/* 362:317 */ aPlayer.onItemPickup(this, 1);
+/* 363:318 */ setDead();
+/* 364: */ }
+/* 365: */ }
+/* 366: */
+/* 367: */ public int[] onHitEntity(Entity aHitEntity, Entity aShootingEntity, ItemStack aArrow, int aRegularDamage, int aMagicDamage, int aKnockback, int aFireDamage, int aHitTimer)
+/* 368: */ {
+/* 369:333 */ return new int[] { aRegularDamage, aMagicDamage, aKnockback, aFireDamage, aHitTimer };
+/* 370: */ }
+/* 371: */
+/* 372: */ public void setArrowItem(ItemStack aStack)
+/* 373: */ {
+/* 374:337 */ this.mArrow = GT_Utility.updateItemStack(GT_Utility.copyAmount(1L, new Object[] { aStack }));
+/* 375: */ }
+/* 376: */
+/* 377: */ public ItemStack getArrowItem()
+/* 378: */ {
+/* 379:341 */ return GT_Utility.copy(new Object[] { this.mArrow });
+/* 380: */ }
+/* 381: */
+/* 382: */ public boolean breaksOnImpact()
+/* 383: */ {
+/* 384:345 */ return false;
+/* 385: */ }
+/* 386: */
+/* 387: */ @Override
+public void setKnockbackStrength(int aKnockback)
+/* 388: */ {
+/* 389:350 */ this.mKnockback = aKnockback;
+/* 390: */ }
+/* 391: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.entities.GT_Entity_Arrow
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/entities/GT_Entity_Arrow_Potion.java b/src/main/java/gregtech/common/entities/GT_Entity_Arrow_Potion.java
new file mode 100644
index 0000000..8a047ec
--- /dev/null
+++ b/src/main/java/gregtech/common/entities/GT_Entity_Arrow_Potion.java
@@ -0,0 +1,79 @@
+/* 1: */ package gregtech.common.entities;
+/* 4: */ import net.minecraft.entity.Entity;
+/* 5: */ import net.minecraft.entity.EntityLivingBase;
+/* 6: */ import net.minecraft.item.ItemStack;
+/* 7: */ import net.minecraft.nbt.NBTTagCompound;
+/* 8: */ import net.minecraft.potion.PotionEffect;
+/* 9: */ import net.minecraft.world.World;
+/* 10: */
+/* 11: */ public class GT_Entity_Arrow_Potion
+/* 12: */ extends GT_Entity_Arrow
+/* 13: */ {
+/* 14: */ public GT_Entity_Arrow_Potion(World aWorld)
+/* 15: */ {
+/* 16:13 */ super(aWorld);
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_Entity_Arrow_Potion(World aWorld, double aX, double aY, double aZ)
+/* 20: */ {
+/* 21:17 */ super(aWorld, aX, aY, aZ);
+/* 22: */ }
+/* 23: */
+/* 24: */ public GT_Entity_Arrow_Potion(World aWorld, EntityLivingBase aEntity, float aSpeed)
+/* 25: */ {
+/* 26:21 */ super(aWorld, aEntity, aSpeed);
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public void writeEntityToNBT(NBTTagCompound aNBT)
+/* 30: */ {
+/* 31:26 */ super.writeEntityToNBT(aNBT);
+/* 32:27 */ aNBT.setIntArray("mPotions", this.mPotions);
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public void readEntityFromNBT(NBTTagCompound aNBT)
+/* 36: */ {
+/* 37:32 */ super.readEntityFromNBT(aNBT);
+/* 38:33 */ setPotions(aNBT.getIntArray("mPotions"));
+/* 39: */ }
+/* 40: */
+/* 41: */ @Override
+public boolean breaksOnImpact()
+/* 42: */ {
+/* 43:38 */ return true;
+/* 44: */ }
+/* 45: */
+/* 46: */ public void setPotions(int... aPotions)
+/* 47: */ {
+/* 48:49 */ if (aPotions != null) {
+/* 49:49 */ this.mPotions = aPotions;
+/* 50: */ }
+/* 51: */ }
+/* 52: */
+/* 53: */ public int[] getPotions()
+/* 54: */ {
+/* 55:53 */ return this.mPotions;
+/* 56: */ }
+/* 57: */
+/* 58:56 */ private int[] mPotions = new int[0];
+/* 59: */
+/* 60: */ @Override
+public int[] onHitEntity(Entity aHitEntity, Entity aShootingEntity, ItemStack aArrow, int aRegularDamage, int aMagicDamage, int aKnockback, int aFireDamage, int aHitTimer)
+/* 61: */ {
+/* 62:60 */ if ((aHitEntity instanceof EntityLivingBase)) {
+/* 63:60 */ for (int i = 3; i < this.mPotions.length; i += 4) {
+/* 64:61 */ if (aHitEntity.worldObj.rand.nextInt(100) < this.mPotions[i]) {
+/* 65:62 */ ((EntityLivingBase)aHitEntity).addPotionEffect(new PotionEffect(this.mPotions[(i - 3)], this.mPotions[(i - 2)], this.mPotions[(i - 1)], false));
+/* 66: */ }
+/* 67: */ }
+/* 68: */ }
+/* 69:65 */ return super.onHitEntity(aHitEntity, aShootingEntity, aArrow, 1, aMagicDamage, aKnockback, aFireDamage, aHitTimer);
+/* 70: */ }
+/* 71: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.entities.GT_Entity_Arrow_Potion
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_Container_Boiler.java b/src/main/java/gregtech/common/gui/GT_Container_Boiler.java
new file mode 100644
index 0000000..df33c4d
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_Container_Boiler.java
@@ -0,0 +1,101 @@
+/* 1: */ package gregtech.common.gui;
+/* 8: */ import java.util.Iterator;
+
+/* 2: */
+/* 3: */ import cpw.mods.fml.relauncher.Side;
+/* 4: */ import cpw.mods.fml.relauncher.SideOnly;
+/* 5: */ import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+/* 6: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 7: */ import gregtech.common.tileentities.boilers.GT_MetaTileEntity_Boiler;
+/* 10: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 11: */ import net.minecraft.inventory.ICrafting;
+/* 12: */ import net.minecraft.inventory.Slot;
+/* 14: */
+/* 15: */ public class GT_Container_Boiler
+/* 16: */ extends GT_ContainerMetaTile_Machine
+/* 17: */ {
+/* 18: */ public GT_Container_Boiler(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, int aSteamCapacity)
+/* 19: */ {
+/* 20:20 */ super(aInventoryPlayer, aTileEntity);
+/* 21:21 */ this.mSteamCapacity = aSteamCapacity;
+/* 22: */ }
+/* 23: */
+/* 24: */ @Override
+public void addSlots(InventoryPlayer aInventoryPlayer)
+/* 25: */ {
+/* 26:26 */ addSlotToContainer(new Slot(this.mTileEntity, 2, 116, 62));
+/* 27:27 */ addSlotToContainer(new Slot(this.mTileEntity, 0, 44, 26));
+/* 28:28 */ addSlotToContainer(new Slot(this.mTileEntity, 1, 44, 62));
+/* 29:29 */ addSlotToContainer(new Slot(this.mTileEntity, 3, 116, 26));
+/* 30: */ }
+/* 31: */
+/* 32: */ @Override
+public int getSlotCount()
+/* 33: */ {
+/* 34:34 */ return 4;
+/* 35: */ }
+/* 36: */
+/* 37: */ @Override
+public int getShiftClickSlotCount()
+/* 38: */ {
+/* 39:39 */ return 1;
+/* 40: */ }
+/* 41: */
+/* 42:42 */ public int mWaterAmount = 0;
+/* 43:42 */ public int mSteamAmount = 0;
+/* 44:42 */ public int mProcessingEnergy = 0;
+/* 45:42 */ public int mTemperature = 2;
+/* 46: */ private final int mSteamCapacity;
+/* 47: */
+/* 48: */ @Override
+public void detectAndSendChanges()
+/* 49: */ {
+/* 50:46 */ super.detectAndSendChanges();
+/* 51:47 */ if ((this.mTileEntity.isClientSide()) || (this.mTileEntity.getMetaTileEntity() == null)) {
+/* 52:47 */ return;
+/* 53: */ }
+/* 54:49 */ this.mTemperature = ((GT_MetaTileEntity_Boiler)this.mTileEntity.getMetaTileEntity()).mTemperature;
+/* 55:50 */ this.mProcessingEnergy = ((GT_MetaTileEntity_Boiler)this.mTileEntity.getMetaTileEntity()).mProcessingEnergy;
+/* 56:51 */ this.mSteamAmount = (((GT_MetaTileEntity_Boiler)this.mTileEntity.getMetaTileEntity()).mSteam == null ? 0 : ((GT_MetaTileEntity_Boiler)this.mTileEntity.getMetaTileEntity()).mSteam.amount);
+/* 57:52 */ this.mWaterAmount = (((GT_MetaTileEntity_Boiler)this.mTileEntity.getMetaTileEntity()).mFluid == null ? 0 : ((GT_MetaTileEntity_Boiler)this.mTileEntity.getMetaTileEntity()).mFluid.amount);
+/* 58: */
+/* 59:54 */ this.mTemperature = Math.min(54, Math.max(0, this.mTemperature * 54 / (((GT_MetaTileEntity_Boiler)this.mTileEntity.getMetaTileEntity()).maxProgresstime() - 10)));
+/* 60:55 */ this.mSteamAmount = Math.min(54, Math.max(0, this.mSteamAmount * 54 / (this.mSteamCapacity - 100)));
+/* 61:56 */ this.mWaterAmount = Math.min(54, Math.max(0, this.mWaterAmount * 54 / 15900));
+/* 62:57 */ this.mProcessingEnergy = Math.min(14, Math.max(this.mProcessingEnergy > 0 ? 1 : 0, this.mProcessingEnergy * 14 / 1000));
+/* 63: */
+/* 64:59 */ Iterator var2 = this.crafters.iterator();
+/* 65:60 */ while (var2.hasNext())
+/* 66: */ {
+/* 67:61 */ ICrafting var1 = (ICrafting)var2.next();
+/* 68:62 */ var1.sendProgressBarUpdate(this, 100, this.mTemperature);
+/* 69:63 */ var1.sendProgressBarUpdate(this, 101, this.mProcessingEnergy);
+/* 70:64 */ var1.sendProgressBarUpdate(this, 102, this.mSteamAmount);
+/* 71:65 */ var1.sendProgressBarUpdate(this, 103, this.mWaterAmount);
+/* 72: */ }
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+@SideOnly(Side.CLIENT)
+/* 76: */ public void updateProgressBar(int par1, int par2)
+/* 77: */ {
+/* 78:72 */ super.updateProgressBar(par1, par2);
+/* 79:73 */ switch (par1)
+/* 80: */ {
+/* 81: */ case 100:
+/* 82:74 */ this.mTemperature = par2; break;
+/* 83: */ case 101:
+/* 84:75 */ this.mProcessingEnergy = par2; break;
+/* 85: */ case 102:
+/* 86:76 */ this.mSteamAmount = par2; break;
+/* 87: */ case 103:
+/* 88:77 */ this.mWaterAmount = par2;
+/* 89: */ }
+/* 90: */ }
+/* 91: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_Container_Boiler
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_Container_BronzeBlastFurnace.java b/src/main/java/gregtech/common/gui/GT_Container_BronzeBlastFurnace.java
new file mode 100644
index 0000000..d71fd80
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_Container_BronzeBlastFurnace.java
@@ -0,0 +1,43 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.gui.GT_Slot_Output;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 7: */ import net.minecraft.inventory.Slot;
+/* 8: */
+/* 9: */ public class GT_Container_BronzeBlastFurnace
+/* 10: */ extends GT_ContainerMetaTile_Machine
+/* 11: */ {
+/* 12: */ public GT_Container_BronzeBlastFurnace(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 13: */ {
+/* 14:12 */ super(aInventoryPlayer, aTileEntity);
+/* 15: */ }
+/* 16: */
+/* 17: */ @Override
+public void addSlots(InventoryPlayer aInventoryPlayer)
+/* 18: */ {
+/* 19:17 */ addSlotToContainer(new Slot(this.mTileEntity, 0, 34, 16));
+/* 20:18 */ addSlotToContainer(new Slot(this.mTileEntity, 1, 34, 34));
+/* 21:19 */ addSlotToContainer(new GT_Slot_Output(this.mTileEntity, 2, 86, 25));
+/* 22:20 */ addSlotToContainer(new GT_Slot_Output(this.mTileEntity, 3, 104, 25));
+/* 23: */ }
+/* 24: */
+/* 25: */ @Override
+public int getSlotCount()
+/* 26: */ {
+/* 27:25 */ return 4;
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public int getShiftClickSlotCount()
+/* 31: */ {
+/* 32:30 */ return 2;
+/* 33: */ }
+/* 34: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_Container_BronzeBlastFurnace
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_Container_ChestBuffer.java b/src/main/java/gregtech/common/gui/GT_Container_ChestBuffer.java
new file mode 100644
index 0000000..174a61d
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_Container_ChestBuffer.java
@@ -0,0 +1,97 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.gui.GT_Slot_Holo;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import gregtech.common.tileentities.automation.GT_MetaTileEntity_ChestBuffer;
+/* 9: */ import net.minecraft.entity.player.EntityPlayer;
+/* 10: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 11: */ import net.minecraft.inventory.Slot;
+/* 12: */ import net.minecraft.item.ItemStack;
+/* 13: */
+/* 14: */ public class GT_Container_ChestBuffer
+/* 15: */ extends GT_ContainerMetaTile_Machine
+/* 16: */ {
+/* 17: */ public GT_Container_ChestBuffer(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 18: */ {
+/* 19:16 */ super(aInventoryPlayer, aTileEntity);
+/* 20: */ }
+/* 21: */
+/* 22: */ @Override
+public void addSlots(InventoryPlayer aInventoryPlayer)
+/* 23: */ {
+/* 24:21 */ for (int y = 0; y < 3; y++) {
+/* 25:21 */ for (int x = 0; x < 9; x++) {
+/* 26:21 */ addSlotToContainer(new Slot(this.mTileEntity, x + y * 9, 8 + x * 18, 5 + y * 18));
+/* 27: */ }
+/* 28: */ }
+/* 29:22 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 27, 8, 63, false, true, 1));
+/* 30:23 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 27, 26, 63, false, true, 1));
+/* 31:24 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 27, 44, 63, false, true, 1));
+/* 32: */ }
+/* 33: */
+/* 34: */ @Override
+public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer)
+/* 35: */ {
+/* 36:29 */ if (aSlotIndex < 27) {
+/* 37:29 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* 38: */ }
+/* 39:31 */ Slot tSlot = (Slot)this.inventorySlots.get(aSlotIndex);
+/* 40:32 */ if (tSlot != null)
+/* 41: */ {
+/* 42:33 */ if (this.mTileEntity.getMetaTileEntity() == null) {
+/* 43:33 */ return null;
+/* 44: */ }
+/* 45:34 */ if (aSlotIndex == 27)
+/* 46: */ {
+/* 47:35 */ ((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bOutput = (!((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bOutput);
+/* 48:36 */ if (((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bOutput) {
+/* 49:37 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit Energy to Outputside");
+/* 50: */ } else {
+/* 51:39 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't emit Energy");
+/* 52: */ }
+/* 53:40 */ return null;
+/* 54: */ }
+/* 55:41 */ if (aSlotIndex == 28)
+/* 56: */ {
+/* 57:42 */ ((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull = (!((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull);
+/* 58:43 */ if (((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull) {
+/* 59:44 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit Redstone if no Slot is free");
+/* 60: */ } else {
+/* 61:46 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't emit Redstone");
+/* 62: */ }
+/* 63:47 */ return null;
+/* 64: */ }
+/* 65:48 */ if (aSlotIndex == 29)
+/* 66: */ {
+/* 67:49 */ ((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bInvert = (!((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bInvert);
+/* 68:50 */ if (((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bInvert) {
+/* 69:51 */ GT_Utility.sendChatToPlayer(aPlayer, "Invert Redstone");
+/* 70: */ } else {
+/* 71:53 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't invert Redstone");
+/* 72: */ }
+/* 73:54 */ return null;
+/* 74: */ }
+/* 75: */ }
+/* 76:58 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public int getSlotCount()
+/* 80: */ {
+/* 81:64 */ return 27;
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public int getShiftClickSlotCount()
+/* 85: */ {
+/* 86:69 */ return 27;
+/* 87: */ }
+/* 88: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_Container_ChestBuffer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_Container_Filter.java b/src/main/java/gregtech/common/gui/GT_Container_Filter.java
new file mode 100644
index 0000000..1dd475d
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_Container_Filter.java
@@ -0,0 +1,152 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.gui.GT_Slot_Holo;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import gregtech.common.tileentities.automation.GT_MetaTileEntity_Filter;
+/* 9: */ import net.minecraft.entity.player.EntityPlayer;
+/* 10: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 11: */ import net.minecraft.inventory.Slot;
+/* 12: */ import net.minecraft.item.ItemStack;
+/* 13: */
+/* 14: */ public class GT_Container_Filter
+/* 15: */ extends GT_ContainerMetaTile_Machine
+/* 16: */ {
+/* 17: */ public GT_Container_Filter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 18: */ {
+/* 19: 17 */ super(aInventoryPlayer, aTileEntity);
+/* 20: */ }
+/* 21: */
+/* 22: */ @Override
+public void addSlots(InventoryPlayer aInventoryPlayer)
+/* 23: */ {
+/* 24: 22 */ addSlotToContainer(new Slot(this.mTileEntity, 0, 98, 5));
+/* 25: 23 */ addSlotToContainer(new Slot(this.mTileEntity, 1, 116, 5));
+/* 26: 24 */ addSlotToContainer(new Slot(this.mTileEntity, 2, 134, 5));
+/* 27: 25 */ addSlotToContainer(new Slot(this.mTileEntity, 3, 98, 23));
+/* 28: 26 */ addSlotToContainer(new Slot(this.mTileEntity, 4, 116, 23));
+/* 29: 27 */ addSlotToContainer(new Slot(this.mTileEntity, 5, 134, 23));
+/* 30: 28 */ addSlotToContainer(new Slot(this.mTileEntity, 6, 98, 41));
+/* 31: 29 */ addSlotToContainer(new Slot(this.mTileEntity, 7, 116, 41));
+/* 32: 30 */ addSlotToContainer(new Slot(this.mTileEntity, 8, 134, 41));
+/* 33: */
+/* 34: 32 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 9, 18, 6, false, true, 1));
+/* 35: 33 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 10, 35, 6, false, true, 1));
+/* 36: 34 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 11, 52, 6, false, true, 1));
+/* 37: 35 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 12, 18, 23, false, true, 1));
+/* 38: 36 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 13, 35, 23, false, true, 1));
+/* 39: 37 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 14, 52, 23, false, true, 1));
+/* 40: 38 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 15, 18, 40, false, true, 1));
+/* 41: 39 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 16, 35, 40, false, true, 1));
+/* 42: 40 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 17, 52, 40, false, true, 1));
+/* 43: */
+/* 44: 42 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 8, 63, false, true, 1));
+/* 45: 43 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 26, 63, false, true, 1));
+/* 46: 44 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 44, 63, false, true, 1));
+/* 47: 45 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 62, 63, false, true, 1));
+/* 48: 46 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 80, 63, false, true, 1));
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer)
+/* 52: */ {
+/* 53: 51 */ if (aSlotIndex < 9) {
+/* 54: 51 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* 55: */ }
+/* 56: 53 */ Slot tSlot = (Slot)this.inventorySlots.get(aSlotIndex);
+/* 57: 54 */ if (tSlot != null)
+/* 58: */ {
+/* 59: 55 */ if (this.mTileEntity.getMetaTileEntity() == null) {
+/* 60: 55 */ return null;
+/* 61: */ }
+/* 62: 56 */ if (aSlotIndex < 18)
+/* 63: */ {
+/* 64: 57 */ ItemStack tStack = aPlayer.inventory.getItemStack();
+/* 65: 58 */ if (tStack == null)
+/* 66: */ {
+/* 67: 59 */ tStack = tSlot.getStack();
+/* 68: 60 */ if (aMouseclick == 0) {
+/* 69: 61 */ tSlot.putStack(null);
+/* 70: 63 */ } else if (tStack != null) {
+/* 71: 64 */ tStack.setItemDamage(32767);
+/* 72: */ }
+/* 73: */ }
+/* 74: */ else
+/* 75: */ {
+/* 76: 68 */ tSlot.putStack(GT_Utility.copyAmount(1L, new Object[] { tStack }));
+/* 77: */ }
+/* 78: 70 */ return null;
+/* 79: */ }
+/* 80: 71 */ if (aSlotIndex == 18)
+/* 81: */ {
+/* 82: 72 */ ((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bOutput = (!((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bOutput);
+/* 83: 73 */ if (((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bOutput) {
+/* 84: 74 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit Energy to Outputside");
+/* 85: */ } else {
+/* 86: 76 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't emit Energy");
+/* 87: */ }
+/* 88: 77 */ return null;
+/* 89: */ }
+/* 90: 78 */ if (aSlotIndex == 19)
+/* 91: */ {
+/* 92: 79 */ ((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull = (!((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull);
+/* 93: 80 */ if (((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull) {
+/* 94: 81 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit Redstone if slots contain something");
+/* 95: */ } else {
+/* 96: 83 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't emit Redstone");
+/* 97: */ }
+/* 98: 84 */ return null;
+/* 99: */ }
+/* 100: 85 */ if (aSlotIndex == 20)
+/* 101: */ {
+/* 102: 86 */ ((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bInvert = (!((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bInvert);
+/* 103: 87 */ if (((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bInvert) {
+/* 104: 88 */ GT_Utility.sendChatToPlayer(aPlayer, "Invert Redstone");
+/* 105: */ } else {
+/* 106: 90 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't invert Redstone");
+/* 107: */ }
+/* 108: 91 */ return null;
+/* 109: */ }
+/* 110: 92 */ if (aSlotIndex == 21)
+/* 111: */ {
+/* 112: 93 */ ((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bInvertFilter = (!((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bInvertFilter);
+/* 113: 94 */ if (((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bInvertFilter) {
+/* 114: 95 */ GT_Utility.sendChatToPlayer(aPlayer, "Invert Filter");
+/* 115: */ } else {
+/* 116: 97 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't invert Filter");
+/* 117: */ }
+/* 118: 98 */ return null;
+/* 119: */ }
+/* 120: 99 */ if (aSlotIndex == 22)
+/* 121: */ {
+/* 122:100 */ ((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bIgnoreNBT = (!((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bIgnoreNBT);
+/* 123:101 */ if (((GT_MetaTileEntity_Filter)this.mTileEntity.getMetaTileEntity()).bIgnoreNBT) {
+/* 124:102 */ GT_Utility.sendChatToPlayer(aPlayer, "Ignore NBT");
+/* 125: */ } else {
+/* 126:104 */ GT_Utility.sendChatToPlayer(aPlayer, "NBT has to match");
+/* 127: */ }
+/* 128:105 */ return null;
+/* 129: */ }
+/* 130: */ }
+/* 131:108 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* 132: */ }
+/* 133: */
+/* 134: */ @Override
+public int getSlotCount()
+/* 135: */ {
+/* 136:113 */ return 9;
+/* 137: */ }
+/* 138: */
+/* 139: */ @Override
+public int getShiftClickSlotCount()
+/* 140: */ {
+/* 141:118 */ return 9;
+/* 142: */ }
+/* 143: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_Container_Filter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_Container_QuantumChest.java b/src/main/java/gregtech/common/gui/GT_Container_QuantumChest.java
new file mode 100644
index 0000000..cceca54
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_Container_QuantumChest.java
@@ -0,0 +1,68 @@
+package gregtech.common.gui;
+
+import java.util.Iterator;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+import gregtech.api.gui.GT_Slot_Output;
+import gregtech.api.gui.GT_Slot_Render;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.common.tileentities.storage.GT_MetaTileEntity_QuantumChest;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.inventory.ICrafting;
+import net.minecraft.inventory.Slot;
+
+public class GT_Container_QuantumChest extends GT_ContainerMetaTile_Machine {
+
+ public GT_Container_QuantumChest(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
+ super(aInventoryPlayer, aTileEntity);
+ }
+
+ @Override
+ public void addSlots(InventoryPlayer aInventoryPlayer) {
+ addSlotToContainer(new Slot(mTileEntity, 0, 80, 17));
+ addSlotToContainer(new GT_Slot_Output(mTileEntity, 1, 80, 53));
+ addSlotToContainer(new GT_Slot_Render(mTileEntity, 2, 59, 42));
+ }
+
+ public int mContent = 0;
+
+ @Override
+ public void detectAndSendChanges() {
+ super.detectAndSendChanges();
+
+ if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) return;
+ if (mTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_QuantumChest){
+ mContent = ((GT_MetaTileEntity_QuantumChest)mTileEntity.getMetaTileEntity()).mItemCount;
+ }else{
+ mContent = 0;}
+
+ Iterator var2 = this.crafters.iterator();
+ while (var2.hasNext()) {
+ ICrafting var1 = (ICrafting)var2.next();
+ var1.sendProgressBarUpdate(this, 100, mContent & 65535);
+ var1.sendProgressBarUpdate(this, 101, mContent >>> 16);
+ }
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void updateProgressBar(int par1, int par2) {
+ super.updateProgressBar(par1, par2);
+ switch (par1) {
+ case 100: mContent = mContent & -65536 | par2; break;
+ case 101: mContent = mContent & 65535 | par2 << 16; break;
+ }
+ }
+
+ @Override
+ public int getSlotCount() {
+ return 2;
+ }
+
+ @Override
+ public int getShiftClickSlotCount() {
+ return 1;
+ }
+}
diff --git a/src/main/java/gregtech/common/gui/GT_Container_Regulator.java b/src/main/java/gregtech/common/gui/GT_Container_Regulator.java
new file mode 100644
index 0000000..cad11df
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_Container_Regulator.java
@@ -0,0 +1,186 @@
+/* 1: */ package gregtech.common.gui;
+/* 10: */ import java.util.Iterator;
+
+/* 2: */
+/* 3: */ import cpw.mods.fml.relauncher.Side;
+/* 4: */ import cpw.mods.fml.relauncher.SideOnly;
+/* 5: */ import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+/* 6: */ import gregtech.api.gui.GT_Slot_Holo;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.util.GT_Utility;
+/* 9: */ import gregtech.common.tileentities.automation.GT_MetaTileEntity_Regulator;
+/* 12: */ import net.minecraft.entity.player.EntityPlayer;
+/* 13: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 14: */ import net.minecraft.inventory.ICrafting;
+/* 15: */ import net.minecraft.inventory.Slot;
+/* 16: */ import net.minecraft.item.ItemStack;
+/* 17: */
+/* 18: */ public class GT_Container_Regulator
+/* 19: */ extends GT_ContainerMetaTile_Machine
+/* 20: */ {
+/* 21: */ public GT_Container_Regulator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 22: */ {
+/* 23: 22 */ super(aInventoryPlayer, aTileEntity);
+/* 24: */ }
+/* 25: */
+/* 26: */ @Override
+public void addSlots(InventoryPlayer aInventoryPlayer)
+/* 27: */ {
+/* 28: 27 */ this.mTargetSlots = new int[] { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+/* 29: */
+/* 30: 29 */ addSlotToContainer(new Slot(this.mTileEntity, 0, 8, 6));
+/* 31: 30 */ addSlotToContainer(new Slot(this.mTileEntity, 1, 26, 6));
+/* 32: 31 */ addSlotToContainer(new Slot(this.mTileEntity, 2, 44, 6));
+/* 33: 32 */ addSlotToContainer(new Slot(this.mTileEntity, 3, 8, 24));
+/* 34: 33 */ addSlotToContainer(new Slot(this.mTileEntity, 4, 26, 24));
+/* 35: 34 */ addSlotToContainer(new Slot(this.mTileEntity, 5, 44, 24));
+/* 36: 35 */ addSlotToContainer(new Slot(this.mTileEntity, 6, 8, 42));
+/* 37: 36 */ addSlotToContainer(new Slot(this.mTileEntity, 7, 26, 42));
+/* 38: 37 */ addSlotToContainer(new Slot(this.mTileEntity, 8, 44, 42));
+/* 39: */
+/* 40: 39 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 9, 64, 7, false, true, 1));
+/* 41: 40 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 10, 81, 7, false, true, 1));
+/* 42: 41 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 11, 98, 7, false, true, 1));
+/* 43: 42 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 12, 64, 24, false, true, 1));
+/* 44: 43 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 13, 81, 24, false, true, 1));
+/* 45: 44 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 14, 98, 24, false, true, 1));
+/* 46: 45 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 15, 64, 41, false, true, 1));
+/* 47: 46 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 16, 81, 41, false, true, 1));
+/* 48: 47 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 17, 98, 41, false, true, 1));
+/* 49: */
+/* 50: 49 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 119, 7, false, true, 1));
+/* 51: 50 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 136, 7, false, true, 1));
+/* 52: 51 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 153, 7, false, true, 1));
+/* 53: 52 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 119, 24, false, true, 1));
+/* 54: 53 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 136, 24, false, true, 1));
+/* 55: 54 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 153, 24, false, true, 1));
+/* 56: 55 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 119, 41, false, true, 1));
+/* 57: 56 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 136, 41, false, true, 1));
+/* 58: 57 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 153, 41, false, true, 1));
+/* 59: */
+/* 60: 59 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 18, 8, 63, false, true, 1));
+/* 61: */ }
+/* 62: */
+/* 63: */ @Override
+public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer)
+/* 64: */ {
+/* 65: 66 */ if (aSlotIndex < 9) {
+/* 66: 66 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* 67: */ }
+/* 68: 67 */ Slot tSlot = (Slot)this.inventorySlots.get(aSlotIndex);
+/* 69: 68 */ if (tSlot != null)
+/* 70: */ {
+/* 71: 69 */ if (this.mTileEntity.getMetaTileEntity() == null) {
+/* 72: 69 */ return null;
+/* 73: */ }
+/* 74: 70 */ if (aSlotIndex == 27)
+/* 75: */ {
+/* 76: 71 */ ((GT_MetaTileEntity_Regulator)this.mTileEntity.getMetaTileEntity()).bOutput = (!((GT_MetaTileEntity_Regulator)this.mTileEntity.getMetaTileEntity()).bOutput);
+/* 77: 72 */ if (((GT_MetaTileEntity_Regulator)this.mTileEntity.getMetaTileEntity()).bOutput) {
+/* 78: 73 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit Energy to Outputside");
+/* 79: */ } else {
+/* 80: 75 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't emit Energy");
+/* 81: */ }
+/* 82: 76 */ return null;
+/* 83: */ }
+/* 84: 77 */ if ((aSlotIndex >= 9) && (aSlotIndex < 18))
+/* 85: */ {
+/* 86: 78 */ ItemStack tStack = aPlayer.inventory.getItemStack();
+/* 87: 79 */ if (tStack != null) {
+/* 88: 80 */ tSlot.putStack(GT_Utility.copy(new Object[] { tStack }));
+/* 89: 82 */ } else if (tSlot.getStack() != null) {
+/* 90: 83 */ if (aMouseclick == 0)
+/* 91: */ {
+/* 92: 84 */ tSlot.getStack().stackSize -= (aShifthold == 1 ? 8 : 1);
+/* 93: 85 */ if (tSlot.getStack().stackSize <= 0) {
+/* 94: 86 */ tSlot.putStack(null);
+/* 95: */ }
+/* 96: */ }
+/* 97: */ else
+/* 98: */ {
+/* 99: 89 */ tSlot.getStack().stackSize += (aShifthold == 1 ? 8 : 1);
+/* 100: 90 */ if (tSlot.getStack().stackSize > tSlot.getStack().getMaxStackSize()) {
+/* 101: 91 */ tSlot.getStack().stackSize = tSlot.getStack().getMaxStackSize();
+/* 102: */ }
+/* 103: */ }
+/* 104: */ }
+/* 105: 96 */ return null;
+/* 106: */ }
+/* 107: 97 */ if ((aSlotIndex >= 18) && (aSlotIndex < 27))
+/* 108: */ {
+/* 109: 98 */ ((GT_MetaTileEntity_Regulator)this.mTileEntity.getMetaTileEntity()).mTargetSlots[(aSlotIndex - 18)] = Math.min(99, Math.max(0, ((GT_MetaTileEntity_Regulator)this.mTileEntity.getMetaTileEntity()).mTargetSlots[(aSlotIndex - 18)] + (aMouseclick == 0 ? -1 : 1) * (aShifthold == 0 ? 1 : 16)));
+/* 110: 99 */ return null;
+/* 111: */ }
+/* 112: */ }
+/* 113:102 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* 114: */ }
+/* 115: */
+/* 116:105 */ public int[] mTargetSlots = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+/* 117: */
+/* 118: */ @Override
+public void detectAndSendChanges()
+/* 119: */ {
+/* 120:109 */ super.detectAndSendChanges();
+/* 121:110 */ if ((this.mTileEntity.isClientSide()) || (this.mTileEntity.getMetaTileEntity() == null)) {
+/* 122:110 */ return;
+/* 123: */ }
+/* 124:111 */ this.mTargetSlots = new int[9];
+/* 125:112 */ for (int i = 0; i < 9; i++) {
+/* 126:112 */ this.mTargetSlots[i] = ((GT_MetaTileEntity_Regulator)this.mTileEntity.getMetaTileEntity()).mTargetSlots[i];
+/* 127: */ }
+/* 128:114 */ Iterator var2 = this.crafters.iterator();
+/* 129:115 */ while (var2.hasNext())
+/* 130: */ {
+/* 131:116 */ ICrafting var1 = (ICrafting)var2.next();
+/* 132:117 */ for (int i = 0; i < 9; i++) {
+/* 133:117 */ var1.sendProgressBarUpdate(this, 100 + i, this.mTargetSlots[i]);
+/* 134: */ }
+/* 135: */ }
+/* 136: */ }
+/* 137: */
+/* 138: */ @Override
+@SideOnly(Side.CLIENT)
+/* 139: */ public void updateProgressBar(int par1, int par2)
+/* 140: */ {
+/* 141:124 */ super.updateProgressBar(par1, par2);
+/* 142:125 */ switch (par1)
+/* 143: */ {
+/* 144: */ case 100:
+/* 145:126 */ this.mTargetSlots[0] = par2; break;
+/* 146: */ case 101:
+/* 147:127 */ this.mTargetSlots[1] = par2; break;
+/* 148: */ case 102:
+/* 149:128 */ this.mTargetSlots[2] = par2; break;
+/* 150: */ case 103:
+/* 151:129 */ this.mTargetSlots[3] = par2; break;
+/* 152: */ case 104:
+/* 153:130 */ this.mTargetSlots[4] = par2; break;
+/* 154: */ case 105:
+/* 155:131 */ this.mTargetSlots[5] = par2; break;
+/* 156: */ case 106:
+/* 157:132 */ this.mTargetSlots[6] = par2; break;
+/* 158: */ case 107:
+/* 159:133 */ this.mTargetSlots[7] = par2; break;
+/* 160: */ case 108:
+/* 161:134 */ this.mTargetSlots[8] = par2;
+/* 162: */ }
+/* 163: */ }
+/* 164: */
+/* 165: */ @Override
+public int getSlotCount()
+/* 166: */ {
+/* 167:140 */ return 9;
+/* 168: */ }
+/* 169: */
+/* 170: */ @Override
+public int getShiftClickSlotCount()
+/* 171: */ {
+/* 172:145 */ return 9;
+/* 173: */ }
+/* 174: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_Container_Regulator
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_Container_SuperBuffer.java b/src/main/java/gregtech/common/gui/GT_Container_SuperBuffer.java
new file mode 100644
index 0000000..83af424
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_Container_SuperBuffer.java
@@ -0,0 +1,92 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.gui.GT_Slot_Holo;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.util.GT_Utility;
+/* 7: */ import gregtech.common.tileentities.automation.GT_MetaTileEntity_ChestBuffer;
+/* 9: */ import net.minecraft.entity.player.EntityPlayer;
+/* 10: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 11: */ import net.minecraft.inventory.Slot;
+/* 12: */ import net.minecraft.item.ItemStack;
+/* 13: */
+/* 14: */ public class GT_Container_SuperBuffer
+/* 15: */ extends GT_ContainerMetaTile_Machine
+/* 16: */ {
+/* 17: */ public GT_Container_SuperBuffer(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 18: */ {
+/* 19:16 */ super(aInventoryPlayer, aTileEntity);
+/* 20: */ }
+/* 21: */
+/* 22: */ @Override
+public void addSlots(InventoryPlayer aInventoryPlayer)
+/* 23: */ {
+/* 24:21 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 256, 8, 63, false, true, 1));
+/* 25:22 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 256, 26, 63, false, true, 1));
+/* 26:23 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 256, 44, 63, false, true, 1));
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer)
+/* 30: */ {
+/* 31:28 */ if (aSlotIndex < 0) {
+/* 32:28 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* 33: */ }
+/* 34:30 */ Slot tSlot = (Slot)this.inventorySlots.get(aSlotIndex);
+/* 35:31 */ if (tSlot != null)
+/* 36: */ {
+/* 37:32 */ if (this.mTileEntity.getMetaTileEntity() == null) {
+/* 38:32 */ return null;
+/* 39: */ }
+/* 40:33 */ if (aSlotIndex == 0)
+/* 41: */ {
+/* 42:34 */ ((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bOutput = (!((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bOutput);
+/* 43:35 */ if (((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bOutput) {
+/* 44:36 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit Energy to Outputside");
+/* 45: */ } else {
+/* 46:38 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't emit Energy");
+/* 47: */ }
+/* 48:39 */ return null;
+/* 49: */ }
+/* 50:40 */ if (aSlotIndex == 1)
+/* 51: */ {
+/* 52:41 */ ((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull = (!((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull);
+/* 53:42 */ if (((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull) {
+/* 54:43 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit Redstone if no Slot is free");
+/* 55: */ } else {
+/* 56:45 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't emit Redstone");
+/* 57: */ }
+/* 58:46 */ return null;
+/* 59: */ }
+/* 60:47 */ if (aSlotIndex == 2)
+/* 61: */ {
+/* 62:48 */ ((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bInvert = (!((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bInvert);
+/* 63:49 */ if (((GT_MetaTileEntity_ChestBuffer)this.mTileEntity.getMetaTileEntity()).bInvert) {
+/* 64:50 */ GT_Utility.sendChatToPlayer(aPlayer, "Invert Redstone");
+/* 65: */ } else {
+/* 66:52 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't invert Redstone");
+/* 67: */ }
+/* 68:53 */ return null;
+/* 69: */ }
+/* 70: */ }
+/* 71:57 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public int getSlotCount()
+/* 75: */ {
+/* 76:62 */ return 0;
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public int getShiftClickSlotCount()
+/* 80: */ {
+/* 81:67 */ return 0;
+/* 82: */ }
+/* 83: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_Container_SuperBuffer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_Container_TypeFilter.java b/src/main/java/gregtech/common/gui/GT_Container_TypeFilter.java
new file mode 100644
index 0000000..f547a3b
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_Container_TypeFilter.java
@@ -0,0 +1,132 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_ContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.gui.GT_Slot_Holo;
+/* 5: */ import gregtech.api.gui.GT_Slot_Render;
+/* 6: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 7: */ import gregtech.api.util.GT_Utility;
+/* 8: */ import gregtech.common.tileentities.automation.GT_MetaTileEntity_TypeFilter;
+/* 10: */ import net.minecraft.entity.player.EntityPlayer;
+/* 11: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 12: */ import net.minecraft.inventory.Slot;
+/* 13: */ import net.minecraft.item.ItemStack;
+/* 14: */
+/* 15: */ public class GT_Container_TypeFilter
+/* 16: */ extends GT_ContainerMetaTile_Machine
+/* 17: */ {
+/* 18: */ public GT_Container_TypeFilter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 19: */ {
+/* 20:17 */ super(aInventoryPlayer, aTileEntity);
+/* 21: */ }
+/* 22: */
+/* 23: */ @Override
+public void addSlots(InventoryPlayer aInventoryPlayer)
+/* 24: */ {
+/* 25:22 */ addSlotToContainer(new Slot(this.mTileEntity, 0, 98, 5));
+/* 26:23 */ addSlotToContainer(new Slot(this.mTileEntity, 1, 116, 5));
+/* 27:24 */ addSlotToContainer(new Slot(this.mTileEntity, 2, 134, 5));
+/* 28:25 */ addSlotToContainer(new Slot(this.mTileEntity, 3, 98, 23));
+/* 29:26 */ addSlotToContainer(new Slot(this.mTileEntity, 4, 116, 23));
+/* 30:27 */ addSlotToContainer(new Slot(this.mTileEntity, 5, 134, 23));
+/* 31:28 */ addSlotToContainer(new Slot(this.mTileEntity, 6, 98, 41));
+/* 32:29 */ addSlotToContainer(new Slot(this.mTileEntity, 7, 116, 41));
+/* 33:30 */ addSlotToContainer(new Slot(this.mTileEntity, 8, 134, 41));
+/* 34: */
+/* 35:32 */ addSlotToContainer(new GT_Slot_Render(this.mTileEntity, 9, 35, 23));
+/* 36: */
+/* 37:34 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 10, 8, 63, false, true, 1));
+/* 38:35 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 10, 26, 63, false, true, 1));
+/* 39:36 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 10, 44, 63, false, true, 1));
+/* 40:37 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 10, 62, 63, false, true, 1));
+/* 41:38 */ addSlotToContainer(new GT_Slot_Holo(this.mTileEntity, 10, 80, 63, false, true, 1));
+/* 42: */ }
+/* 43: */
+/* 44: */ @Override
+public ItemStack slotClick(int aSlotIndex, int aMouseclick, int aShifthold, EntityPlayer aPlayer)
+/* 45: */ {
+/* 46:43 */ if (aSlotIndex < 9) {
+/* 47:43 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* 48: */ }
+/* 49:45 */ Slot tSlot = (Slot)this.inventorySlots.get(aSlotIndex);
+/* 50:46 */ if (tSlot != null)
+/* 51: */ {
+/* 52:47 */ if (this.mTileEntity.getMetaTileEntity() == null) {
+/* 53:47 */ return null;
+/* 54: */ }
+/* 55:48 */ if (aSlotIndex == 9)
+/* 56: */ {
+/* 57:49 */ ((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).clickTypeIcon(aMouseclick != 0);
+/* 58:50 */ return null;
+/* 59: */ }
+/* 60:51 */ if (aSlotIndex == 10)
+/* 61: */ {
+/* 62:52 */ ((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bOutput = (!((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bOutput);
+/* 63:53 */ if (((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bOutput) {
+/* 64:54 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit Energy to Outputside");
+/* 65: */ } else {
+/* 66:56 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't emit Energy");
+/* 67: */ }
+/* 68:57 */ return null;
+/* 69: */ }
+/* 70:58 */ if (aSlotIndex == 11)
+/* 71: */ {
+/* 72:59 */ ((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull = (!((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull);
+/* 73:60 */ if (((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bRedstoneIfFull) {
+/* 74:61 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit Redstone if slots contain something");
+/* 75: */ } else {
+/* 76:63 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't emit Redstone");
+/* 77: */ }
+/* 78:64 */ return null;
+/* 79: */ }
+/* 80:65 */ if (aSlotIndex == 12)
+/* 81: */ {
+/* 82:66 */ ((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bInvert = (!((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bInvert);
+/* 83:67 */ if (((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bInvert) {
+/* 84:68 */ GT_Utility.sendChatToPlayer(aPlayer, "Invert Redstone");
+/* 85: */ } else {
+/* 86:70 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't invert Redstone");
+/* 87: */ }
+/* 88:71 */ return null;
+/* 89: */ }
+/* 90:72 */ if (aSlotIndex == 13)
+/* 91: */ {
+/* 92:73 */ ((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bInvertFilter = (!((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bInvertFilter);
+/* 93:74 */ if (((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bInvertFilter) {
+/* 94:75 */ GT_Utility.sendChatToPlayer(aPlayer, "Invert Filter");
+/* 95: */ } else {
+/* 96:77 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't invert Filter");
+/* 97: */ }
+/* 98:78 */ return null;
+/* 99: */ }
+/* :0:79 */ if (aSlotIndex == 14)
+/* :1: */ {
+/* :2:80 */ ((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bNBTAllowed = (!((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bNBTAllowed);
+/* :3:81 */ if (((GT_MetaTileEntity_TypeFilter)this.mTileEntity.getMetaTileEntity()).bNBTAllowed) {
+/* :4:82 */ GT_Utility.sendChatToPlayer(aPlayer, "Allow Items with NBT");
+/* :5: */ } else {
+/* :6:84 */ GT_Utility.sendChatToPlayer(aPlayer, "Don't allow Items with NBT");
+/* :7: */ }
+/* :8:85 */ return null;
+/* :9: */ }
+/* ;0: */ }
+/* ;1:88 */ return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer);
+/* ;2: */ }
+/* ;3: */
+/* ;4: */ @Override
+public int getSlotCount()
+/* ;5: */ {
+/* ;6:93 */ return 9;
+/* ;7: */ }
+/* ;8: */
+/* ;9: */ @Override
+public int getShiftClickSlotCount()
+/* <0: */ {
+/* <1:98 */ return 9;
+/* <2: */ }
+/* <3: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_Container_TypeFilter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_Boiler.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_Boiler.java
new file mode 100644
index 0000000..275cd63
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_Boiler.java
@@ -0,0 +1,54 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 7: */
+/* 8: */ public class GT_GUIContainer_Boiler
+/* 9: */ extends GT_GUIContainerMetaTile_Machine
+/* 10: */ {
+/* 11: */ public GT_GUIContainer_Boiler(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aTextureName, int aSteamCapacity)
+/* 12: */ {
+/* 13:10 */ super(new GT_Container_Boiler(aInventoryPlayer, aTileEntity, aSteamCapacity), "gregtech:textures/gui/" + aTextureName);
+/* 14: */ }
+/* 15: */
+/* 16: */ @Override
+protected void drawGuiContainerForegroundLayer(int par1, int par2)
+/* 17: */ {
+/* 18:15 */ this.fontRendererObj.drawString("Boiler", 8, 4, 4210752);
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
+/* 22: */ {
+/* 23:20 */ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+/* 24:21 */ int x = (this.width - this.xSize) / 2;
+/* 25:22 */ int y = (this.height - this.ySize) / 2;
+/* 26:23 */ drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
+/* 27:25 */ if (this.mContainer != null)
+/* 28: */ {
+/* 29:27 */ int tScale = ((GT_Container_Boiler)this.mContainer).mSteamAmount;
+/* 30:28 */ if (tScale > 0) {
+/* 31:28 */ drawTexturedModalRect(x + 70, y + 25 + 54 - tScale, 194, 54 - tScale, 10, tScale);
+/* 32: */ }
+/* 33:29 */ tScale = ((GT_Container_Boiler)this.mContainer).mWaterAmount;
+/* 34:30 */ if (tScale > 0) {
+/* 35:30 */ drawTexturedModalRect(x + 83, y + 25 + 54 - tScale, 204, 54 - tScale, 10, tScale);
+/* 36: */ }
+/* 37:31 */ tScale = ((GT_Container_Boiler)this.mContainer).mTemperature;
+/* 38:32 */ if (tScale > 0) {
+/* 39:32 */ drawTexturedModalRect(x + 96, y + 25 + 54 - tScale, 214, 54 - tScale, 10, tScale);
+/* 40: */ }
+/* 41:33 */ tScale = ((GT_Container_Boiler)this.mContainer).mProcessingEnergy;
+/* 42:34 */ if (tScale > 0) {
+/* 43:34 */ drawTexturedModalRect(x + 117, y + 44 + 14 - tScale, 177, 14 - tScale, 15, tScale + 1);
+/* 44: */ }
+/* 45: */ }
+/* 46: */ }
+/* 47: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_GUIContainer_Boiler
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_BronzeBlastFurnace.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_BronzeBlastFurnace.java
new file mode 100644
index 0000000..9a61f87
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_BronzeBlastFurnace.java
@@ -0,0 +1,38 @@
+/* 1: */ package gregtech.common.gui;
+/* 4: */ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 7: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 8: */
+/* 9: */ public class GT_GUIContainer_BronzeBlastFurnace
+/* 10: */ extends GT_GUIContainerMetaTile_Machine
+/* 11: */ {
+/* 12: */ public GT_GUIContainer_BronzeBlastFurnace(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 13: */ {
+/* 14:11 */ super(new GT_Container_BronzeBlastFurnace(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/BronzeBlastFurnace.png");
+/* 15: */ }
+/* 16: */
+/* 17: */ @Override
+protected void drawGuiContainerForegroundLayer(int par1, int par2)
+/* 18: */ {
+/* 19:16 */ this.fontRendererObj.drawString("Bronze Blast Furnace", 8, 4, 4210752);
+/* 20: */ }
+/* 21: */
+/* 22: */ @Override
+protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
+/* 23: */ {
+/* 24:21 */ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+/* 25:22 */ int x = (this.width - this.xSize) / 2;
+/* 26:23 */ int y = (this.height - this.ySize) / 2;
+/* 27:24 */ drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
+/* 28:26 */ if ((this.mContainer != null) &&
+/* 29:27 */ (this.mContainer.mProgressTime > 0)) {
+/* 30:27 */ drawTexturedModalRect(x + 58, y + 28, 176, 0, Math.max(0, Math.min(20, (this.mContainer.mProgressTime > 0 ? 1 : 0) + this.mContainer.mProgressTime * 20 / (this.mContainer.mMaxProgressTime < 1 ? 1 : this.mContainer.mMaxProgressTime))), 11);
+/* 31: */ }
+/* 32: */ }
+/* 33: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_GUIContainer_BronzeBlastFurnace
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_ChestBuffer.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_ChestBuffer.java
new file mode 100644
index 0000000..1891ff8
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_ChestBuffer.java
@@ -0,0 +1,29 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 5: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 6: */
+/* 7: */ public class GT_GUIContainer_ChestBuffer
+/* 8: */ extends GT_GUIContainerMetaTile_Machine
+/* 9: */ {
+/* 10: */ public GT_GUIContainer_ChestBuffer(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 11: */ {
+/* 12:11 */ super(new GT_Container_ChestBuffer(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/ChestBuffer.png");
+/* 13: */ }
+/* 14: */
+/* 15: */ @Override
+protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
+/* 16: */ {
+/* 17:16 */ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+/* 18:17 */ int x = (this.width - this.xSize) / 2;
+/* 19:18 */ int y = (this.height - this.ySize) / 2;
+/* 20:19 */ drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
+/* 21: */ }
+/* 22: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_GUIContainer_ChestBuffer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_Filter.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_Filter.java
new file mode 100644
index 0000000..1122762
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_Filter.java
@@ -0,0 +1,29 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 5: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 6: */
+/* 7: */ public class GT_GUIContainer_Filter
+/* 8: */ extends GT_GUIContainerMetaTile_Machine
+/* 9: */ {
+/* 10: */ public GT_GUIContainer_Filter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 11: */ {
+/* 12:10 */ super(new GT_Container_Filter(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/Filter.png");
+/* 13: */ }
+/* 14: */
+/* 15: */ @Override
+protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
+/* 16: */ {
+/* 17:15 */ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+/* 18:16 */ int x = (this.width - this.xSize) / 2;
+/* 19:17 */ int y = (this.height - this.ySize) / 2;
+/* 20:18 */ drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
+/* 21: */ }
+/* 22: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_GUIContainer_Filter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java
new file mode 100644
index 0000000..db092ff
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_FusionReactor.java
@@ -0,0 +1,52 @@
+package gregtech.common.gui;
+
+import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+
+import gregtech.api.gui.GT_Container_MultiMachine;
+import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.entity.player.InventoryPlayer;
+
+public class GT_GUIContainer_FusionReactor extends GT_GUIContainerMetaTile_Machine {
+
+ String mName = "";
+
+ public GT_GUIContainer_FusionReactor(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName, String aTextureFile) {
+ super(new GT_Container_MultiMachine(aInventoryPlayer, aTileEntity, false), RES_PATH_GUI + "multimachines/" + (aTextureFile==null?"MultiblockDisplay":aTextureFile));
+ mName = aName;
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(int par1, int par2) {
+ fontRendererObj.drawString(mName, 8, -10, 16448255);
+
+ if (mContainer != null) {
+ if ((((GT_Container_MultiMachine)mContainer).mDisplayErrorCode & 64) != 0) fontRendererObj.drawString("Incomplete Structure.", 10, 8, 16448255);
+
+ if (((GT_Container_MultiMachine)mContainer).mDisplayErrorCode == 0) {
+ if (((GT_Container_MultiMachine)mContainer).mActive == 0) {
+ fontRendererObj.drawString("Hit with Soft Hammer to (re-)start the Machine if it doesn't start.", -70, 170, 16448255);
+ } else {
+ fontRendererObj.drawString("Running perfectly.", 10, 170, 16448255);
+ }
+ }
+ if(this.mContainer!=null){
+ fontRendererObj.drawString(GT_Utility.formatNumbers(this.mContainer.mEnergy)+" EU", 50, 155, 0x00b0b000);
+ }
+ }
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
+ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+ drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
+ if (this.mContainer != null)
+ {
+ double tScale = (double) this.mContainer.mEnergy / (double)this.mContainer.mStorage;
+ drawTexturedModalRect(x + 5, y + 156, 0, 251,Math.min(147, (int)(tScale*148)), 5);
+ }
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_QuantumChest.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_QuantumChest.java
new file mode 100644
index 0000000..e6498fa
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_QuantumChest.java
@@ -0,0 +1,37 @@
+package gregtech.common.gui;
+
+import static gregtech.api.enums.GT_Values.RES_PATH_GUI;
+
+import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.util.StatCollector;
+
+public class GT_GUIContainer_QuantumChest extends GT_GUIContainerMetaTile_Machine {
+
+ private final String mName;
+
+ public GT_GUIContainer_QuantumChest(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName) {
+ super(new GT_Container_QuantumChest(aInventoryPlayer, aTileEntity), RES_PATH_GUI + "BasicTank.png");
+ mName = aName;
+ }
+
+ @Override
+ protected void drawGuiContainerForegroundLayer(int par1, int par2) {
+ fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, ySize - 96 + 2, 4210752);
+ fontRendererObj.drawString(mName, 8, 6, 4210752);
+ if (mContainer != null) {
+ fontRendererObj.drawString("Item Amount", 10, 20, 16448255);
+ fontRendererObj.drawString(GT_Utility.parseNumberToString(((GT_Container_QuantumChest)mContainer).mContent), 10, 30, 16448255);
+ }
+ }
+
+ @Override
+ protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
+ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+ int x = (width - xSize) / 2;
+ int y = (height - ySize) / 2;
+ drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
+ }
+}
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_Regulator.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_Regulator.java
new file mode 100644
index 0000000..57d9d02
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_Regulator.java
@@ -0,0 +1,43 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 7: */
+/* 8: */ public class GT_GUIContainer_Regulator
+/* 9: */ extends GT_GUIContainerMetaTile_Machine
+/* 10: */ {
+/* 11: */ public GT_GUIContainer_Regulator(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 12: */ {
+/* 13:11 */ super(new GT_Container_Regulator(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/Regulator.png");
+/* 14: */ }
+/* 15: */
+/* 16: */ @Override
+protected void drawGuiContainerForegroundLayer(int par1, int par2)
+/* 17: */ {
+/* 18:16 */ this.fontRendererObj.drawString("" + ((GT_Container_Regulator)this.mContainer).mTargetSlots[0], 120, 9, 16448255);
+/* 19:17 */ this.fontRendererObj.drawString("" + ((GT_Container_Regulator)this.mContainer).mTargetSlots[1], 137, 9, 16448255);
+/* 20:18 */ this.fontRendererObj.drawString("" + ((GT_Container_Regulator)this.mContainer).mTargetSlots[2], 155, 9, 16448255);
+/* 21:19 */ this.fontRendererObj.drawString("" + ((GT_Container_Regulator)this.mContainer).mTargetSlots[3], 120, 26, 16448255);
+/* 22:20 */ this.fontRendererObj.drawString("" + ((GT_Container_Regulator)this.mContainer).mTargetSlots[4], 137, 26, 16448255);
+/* 23:21 */ this.fontRendererObj.drawString("" + ((GT_Container_Regulator)this.mContainer).mTargetSlots[5], 155, 26, 16448255);
+/* 24:22 */ this.fontRendererObj.drawString("" + ((GT_Container_Regulator)this.mContainer).mTargetSlots[6], 120, 43, 16448255);
+/* 25:23 */ this.fontRendererObj.drawString("" + ((GT_Container_Regulator)this.mContainer).mTargetSlots[7], 137, 43, 16448255);
+/* 26:24 */ this.fontRendererObj.drawString("" + ((GT_Container_Regulator)this.mContainer).mTargetSlots[8], 155, 43, 16448255);
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
+/* 30: */ {
+/* 31:29 */ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+/* 32:30 */ int x = (this.width - this.xSize) / 2;
+/* 33:31 */ int y = (this.height - this.ySize) / 2;
+/* 34:32 */ drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
+/* 35: */ }
+/* 36: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_GUIContainer_Regulator
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_SuperBuffer.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_SuperBuffer.java
new file mode 100644
index 0000000..e684d3e
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_SuperBuffer.java
@@ -0,0 +1,29 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 5: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 6: */
+/* 7: */ public class GT_GUIContainer_SuperBuffer
+/* 8: */ extends GT_GUIContainerMetaTile_Machine
+/* 9: */ {
+/* 10: */ public GT_GUIContainer_SuperBuffer(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 11: */ {
+/* 12:11 */ super(new GT_Container_SuperBuffer(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/SuperBuffer.png");
+/* 13: */ }
+/* 14: */
+/* 15: */ @Override
+protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
+/* 16: */ {
+/* 17:16 */ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+/* 18:17 */ int x = (this.width - this.xSize) / 2;
+/* 19:18 */ int y = (this.height - this.ySize) / 2;
+/* 20:19 */ drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
+/* 21: */ }
+/* 22: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_GUIContainer_SuperBuffer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/gui/GT_GUIContainer_TypeFilter.java b/src/main/java/gregtech/common/gui/GT_GUIContainer_TypeFilter.java
new file mode 100644
index 0000000..d620e82
--- /dev/null
+++ b/src/main/java/gregtech/common/gui/GT_GUIContainer_TypeFilter.java
@@ -0,0 +1,29 @@
+/* 1: */ package gregtech.common.gui;
+/* 2: */
+/* 3: */ import gregtech.api.gui.GT_GUIContainerMetaTile_Machine;
+/* 4: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 5: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 6: */
+/* 7: */ public class GT_GUIContainer_TypeFilter
+/* 8: */ extends GT_GUIContainerMetaTile_Machine
+/* 9: */ {
+/* 10: */ public GT_GUIContainer_TypeFilter(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity)
+/* 11: */ {
+/* 12:10 */ super(new GT_Container_TypeFilter(aInventoryPlayer, aTileEntity), "gregtech:textures/gui/TypeFilter.png");
+/* 13: */ }
+/* 14: */
+/* 15: */ @Override
+protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
+/* 16: */ {
+/* 17:15 */ super.drawGuiContainerBackgroundLayer(par1, par2, par3);
+/* 18:16 */ int x = (this.width - this.xSize) / 2;
+/* 19:17 */ int y = (this.height - this.ySize) / 2;
+/* 20:18 */ drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize);
+/* 21: */ }
+/* 22: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.gui.GT_GUIContainer_TypeFilter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java
new file mode 100644
index 0000000..56e15c0
--- /dev/null
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BasicLogic.java
@@ -0,0 +1,121 @@
+/* 1: */ package gregtech.common.redstonecircuits;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.IRedstoneCircuitBlock;
+/* 4: */ import gregtech.api.util.GT_CircuitryBehavior;
+/* 5: */
+/* 6: */ public class GT_Circuit_BasicLogic
+/* 7: */ extends GT_CircuitryBehavior
+/* 8: */ {
+/* 9: */ public GT_Circuit_BasicLogic(int aIndex)
+/* 10: */ {
+/* 11: 9 */ super(aIndex);
+/* 12: */ }
+/* 13: */
+/* 14: */ @Override
+public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 15: */ {
+/* 16:14 */ aCircuitData[0] = 0;
+/* 17: */ }
+/* 18: */
+/* 19: */ @Override
+public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 20: */ {
+/* 21:19 */ if (aCircuitData[0] < 0) {
+/* 22:19 */ aCircuitData[0] = 0;
+/* 23: */ }
+/* 24:20 */ if (aCircuitData[0] > 13) {
+/* 25:20 */ aCircuitData[0] = 13;
+/* 26: */ }
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 30: */ {
+/* 31:25 */ if (aCircuitData[0] < 2) {
+/* 32:26 */ aRedstoneCircuitBlock.setRedstone((byte)(aCircuitData[0] % 2 == (getAnyRedstone(aRedstoneCircuitBlock) ? 0 : 1) ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing());
+/* 33:27 */ } else if (aCircuitData[0] < 4) {
+/* 34:28 */ aRedstoneCircuitBlock.setRedstone((byte)(aCircuitData[0] % 2 == (getOneRedstone(aRedstoneCircuitBlock) ? 0 : 1) ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing());
+/* 35:29 */ } else if (aCircuitData[0] < 6) {
+/* 36:30 */ aRedstoneCircuitBlock.setRedstone((byte)(aCircuitData[0] % 2 == (getAllRedstone(aRedstoneCircuitBlock) ? 0 : 1) ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing());
+/* 37:31 */ } else if (aCircuitData[0] < 7) {
+/* 38:32 */ aRedstoneCircuitBlock.setRedstone((byte)(15 - getStrongestRedstone(aRedstoneCircuitBlock)), aRedstoneCircuitBlock.getOutputFacing());
+/* 39:33 */ } else if (aCircuitData[0] < 9) {
+/* 40:34 */ aRedstoneCircuitBlock.setRedstone((byte)((aCircuitData[0] % 2 == 0 ? 15 : 0) ^ (getStrongestRedstone(aRedstoneCircuitBlock) | getWeakestRedstone(aRedstoneCircuitBlock))), aRedstoneCircuitBlock.getOutputFacing());
+/* 41:35 */ } else if (aCircuitData[0] < 11) {
+/* 42:36 */ aRedstoneCircuitBlock.setRedstone((byte)((aCircuitData[0] % 2 == 0 ? 15 : 0) ^ getStrongestRedstone(aRedstoneCircuitBlock) ^ getWeakestRedstone(aRedstoneCircuitBlock)), aRedstoneCircuitBlock.getOutputFacing());
+/* 43:37 */ } else if (aCircuitData[0] < 13) {
+/* 44:38 */ aRedstoneCircuitBlock.setRedstone((byte)((aCircuitData[0] % 2 == 0 ? 15 : 0) ^ getStrongestRedstone(aRedstoneCircuitBlock) & getWeakestRedstone(aRedstoneCircuitBlock)), aRedstoneCircuitBlock.getOutputFacing());
+/* 45:39 */ } else if (aCircuitData[0] < 14) {
+/* 46:40 */ aRedstoneCircuitBlock.setRedstone((byte)(getStrongestRedstone(aRedstoneCircuitBlock) ^ 0xF), aRedstoneCircuitBlock.getOutputFacing());
+/* 47: */ }
+/* 48: */ }
+/* 49: */
+/* 50: */ @Override
+public String getName()
+/* 51: */ {
+/* 52:46 */ return "Basic Logic";
+/* 53: */ }
+/* 54: */
+/* 55: */ @Override
+public String getDescription()
+/* 56: */ {
+/* 57:51 */ return "Regular Logic Gates";
+/* 58: */ }
+/* 59: */
+/* 60: */ @Override
+public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+/* 61: */ {
+/* 62:56 */ if (aCircuitDataIndex == 0) {
+/* 63:57 */ switch (aCircuitData[0])
+/* 64: */ {
+/* 65: */ case 0:
+/* 66:58 */ return "OR";
+/* 67: */ case 1:
+/* 68:59 */ return "NOR";
+/* 69: */ case 2:
+/* 70:60 */ return "XOR";
+/* 71: */ case 3:
+/* 72:61 */ return "XNOR";
+/* 73: */ case 4:
+/* 74:62 */ return "AND";
+/* 75: */ case 5:
+/* 76:63 */ return "NAND";
+/* 77: */ case 6:
+/* 78:64 */ return "INVERT";
+/* 79: */ case 7:
+/* 80:65 */ return "BIT_OR";
+/* 81: */ case 8:
+/* 82:66 */ return "BIT_NOR";
+/* 83: */ case 9:
+/* 84:67 */ return "BIT_XOR";
+/* 85: */ case 10:
+/* 86:68 */ return "BIT_XNOR";
+/* 87: */ case 11:
+/* 88:69 */ return "BIT_AND";
+/* 89: */ case 12:
+/* 90:70 */ return "BIT_NAND";
+/* 91: */ case 13:
+/* 92:71 */ return "BIT_INVERT";
+/* 93: */ }
+/* 94: */ }
+/* 95:74 */ return "";
+/* 96: */ }
+/* 97: */
+/* 98: */ @Override
+public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+/* 99: */ {
+/* :0:79 */ return false;
+/* :1: */ }
+/* :2: */
+/* :3: */ @Override
+public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+/* :4: */ {
+/* :5:84 */ return "";
+/* :6: */ }
+/* :7: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.redstonecircuits.GT_Circuit_BasicLogic
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java
new file mode 100644
index 0000000..65c5b40
--- /dev/null
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_BitAnd.java
@@ -0,0 +1,93 @@
+/* 1: */ package gregtech.common.redstonecircuits;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.IRedstoneCircuitBlock;
+/* 4: */ import gregtech.api.util.GT_CircuitryBehavior;
+/* 5: */
+/* 6: */ public class GT_Circuit_BitAnd
+/* 7: */ extends GT_CircuitryBehavior
+/* 8: */ {
+/* 9: */ public GT_Circuit_BitAnd(int aIndex)
+/* 10: */ {
+/* 11: 9 */ super(aIndex);
+/* 12: */ }
+/* 13: */
+/* 14: */ @Override
+public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 15: */ {
+/* 16:14 */ aCircuitData[0] = 0;
+/* 17:15 */ aCircuitData[1] = 0;
+/* 18:16 */ aCircuitData[2] = 0;
+/* 19:17 */ aCircuitData[3] = 0;
+/* 20: */ }
+/* 21: */
+/* 22: */ @Override
+public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 23: */ {
+/* 24:22 */ if (aCircuitData[0] < 0) {
+/* 25:22 */ aCircuitData[0] = 0;
+/* 26: */ }
+/* 27:23 */ if (aCircuitData[1] < 0) {
+/* 28:23 */ aCircuitData[1] = 0;
+/* 29: */ }
+/* 30:24 */ if (aCircuitData[2] < 0) {
+/* 31:24 */ aCircuitData[2] = 0;
+/* 32: */ }
+/* 33:25 */ if (aCircuitData[3] < 0) {
+/* 34:25 */ aCircuitData[3] = 0;
+/* 35: */ }
+/* 36:26 */ if (aCircuitData[0] > 1) {
+/* 37:26 */ aCircuitData[0] = 1;
+/* 38: */ }
+/* 39:27 */ if (aCircuitData[1] > 1) {
+/* 40:27 */ aCircuitData[1] = 1;
+/* 41: */ }
+/* 42:28 */ if (aCircuitData[2] > 1) {
+/* 43:28 */ aCircuitData[2] = 1;
+/* 44: */ }
+/* 45:29 */ if (aCircuitData[3] > 1) {
+/* 46:29 */ aCircuitData[3] = 1;
+/* 47: */ }
+/* 48: */ }
+/* 49: */
+/* 50: */ @Override
+public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 51: */ {
+/* 52:34 */ aRedstoneCircuitBlock.setRedstone((byte)((getStrongestRedstone(aRedstoneCircuitBlock) & (aCircuitData[0] | aCircuitData[1] << 1 | aCircuitData[2] << 2 | aCircuitData[3] << 3)) != 0 ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing());
+/* 53: */ }
+/* 54: */
+/* 55: */ @Override
+public String getName()
+/* 56: */ {
+/* 57:39 */ return "Hardcode Bit-AND";
+/* 58: */ }
+/* 59: */
+/* 60: */ @Override
+public String getDescription()
+/* 61: */ {
+/* 62:44 */ return "( signal & this ) != 0";
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+/* 66: */ {
+/* 67:49 */ return "Bit " + aCircuitDataIndex + ":";
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+/* 71: */ {
+/* 72:54 */ return false;
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+/* 76: */ {
+/* 77:59 */ return aCircuitData[aCircuitDataIndex] == 0 ? "OFF" : "ON";
+/* 78: */ }
+/* 79: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.redstonecircuits.GT_Circuit_BitAnd
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java
new file mode 100644
index 0000000..66dbc3e
--- /dev/null
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_CombinationLock.java
@@ -0,0 +1,131 @@
+/* 1: */ package gregtech.common.redstonecircuits;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.IRedstoneCircuitBlock;
+/* 4: */ import gregtech.api.util.GT_CircuitryBehavior;
+/* 5: */
+/* 6: */ public class GT_Circuit_CombinationLock
+/* 7: */ extends GT_CircuitryBehavior
+/* 8: */ {
+/* 9: */ public GT_Circuit_CombinationLock(int aIndex)
+/* 10: */ {
+/* 11: 9 */ super(aIndex);
+/* 12: */ }
+/* 13: */
+/* 14: */ @Override
+public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 15: */ {
+/* 16:14 */ aCircuitData[0] = 1;
+/* 17:15 */ aCircuitData[1] = 0;
+/* 18:16 */ aCircuitData[2] = 0;
+/* 19:17 */ aCircuitData[3] = 0;
+/* 20:18 */ aCircuitData[4] = 0;
+/* 21:19 */ aCircuitData[5] = 0;
+/* 22: */ }
+/* 23: */
+/* 24: */ @Override
+public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 25: */ {
+/* 26:24 */ if (aCircuitData[0] < 1) {
+/* 27:24 */ aCircuitData[0] = 1;
+/* 28: */ }
+/* 29:25 */ if (aCircuitData[1] < 0) {
+/* 30:25 */ aCircuitData[1] = 0;
+/* 31: */ }
+/* 32:26 */ if (aCircuitData[2] < 0) {
+/* 33:26 */ aCircuitData[2] = 0;
+/* 34: */ }
+/* 35:27 */ if (aCircuitData[3] < 0) {
+/* 36:27 */ aCircuitData[3] = 0;
+/* 37: */ }
+/* 38:28 */ if (aCircuitData[0] > 15) {
+/* 39:28 */ aCircuitData[0] = 15;
+/* 40: */ }
+/* 41:29 */ if (aCircuitData[1] > 15) {
+/* 42:29 */ aCircuitData[1] = 15;
+/* 43: */ }
+/* 44:30 */ if (aCircuitData[2] > 15) {
+/* 45:30 */ aCircuitData[2] = 15;
+/* 46: */ }
+/* 47:31 */ if (aCircuitData[3] > 15) {
+/* 48:31 */ aCircuitData[3] = 15;
+/* 49: */ }
+/* 50:32 */ if (aCircuitData[4] < 0) {
+/* 51:32 */ aCircuitData[4] = 0;
+/* 52: */ }
+/* 53:33 */ if (aCircuitData[4] > 3) {
+/* 54:33 */ aCircuitData[4] = 3;
+/* 55: */ }
+/* 56:34 */ if (aCircuitData[5] < 0) {
+/* 57:34 */ aCircuitData[5] = 0;
+/* 58: */ }
+/* 59: */ }
+/* 60: */
+/* 61: */ @Override
+public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 62: */ {
+/* 63:39 */ while ((aCircuitData[aCircuitData[4]] == 0) && (aCircuitData[4] < 4)) {
+/* 64:39 */ aCircuitData[4] += 1;
+/* 65: */ }
+/* 66:40 */ if (aCircuitData[4] < 4)
+/* 67: */ {
+/* 68:41 */ int tRedstone = getStrongestRedstone(aRedstoneCircuitBlock);
+/* 69:42 */ if (tRedstone > 0)
+/* 70: */ {
+/* 71:43 */ if (aCircuitData[5] == 0) {
+/* 72:44 */ if (tRedstone == aCircuitData[aCircuitData[4]]) {
+/* 73:45 */ aCircuitData[4] += 1;
+/* 74: */ } else {
+/* 75:47 */ aCircuitData[4] = 0;
+/* 76: */ }
+/* 77: */ }
+/* 78:50 */ aCircuitData[5] = 1;
+/* 79: */ }
+/* 80: */ else
+/* 81: */ {
+/* 82:52 */ aCircuitData[5] = 0;
+/* 83: */ }
+/* 84:54 */ aRedstoneCircuitBlock.setRedstone((byte)0, aRedstoneCircuitBlock.getOutputFacing());
+/* 85: */ }
+/* 86: */ else
+/* 87: */ {
+/* 88:56 */ aRedstoneCircuitBlock.setRedstone((byte)15, aRedstoneCircuitBlock.getOutputFacing());
+/* 89:57 */ aCircuitData[4] = 0;
+/* 90: */ }
+/* 91: */ }
+/* 92: */
+/* 93: */ @Override
+public String getName()
+/* 94: */ {
+/* 95:63 */ return "Combination Lock";
+/* 96: */ }
+/* 97: */
+/* 98: */ @Override
+public String getDescription()
+/* 99: */ {
+/* :0:68 */ return "Checks Combinations";
+/* :1: */ }
+/* :2: */
+/* :3: */ @Override
+public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+/* :4: */ {
+/* :5:73 */ return "Power " + aCircuitDataIndex;
+/* :6: */ }
+/* :7: */
+/* :8: */ @Override
+public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+/* :9: */ {
+/* ;0:78 */ return false;
+/* ;1: */ }
+/* ;2: */
+/* ;3: */ @Override
+public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+/* ;4: */ {
+/* ;5:83 */ return null;
+/* ;6: */ }
+/* ;7: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.redstonecircuits.GT_Circuit_CombinationLock
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java
new file mode 100644
index 0000000..cbc3b24
--- /dev/null
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Equals.java
@@ -0,0 +1,89 @@
+/* 1: */ package gregtech.common.redstonecircuits;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.IRedstoneCircuitBlock;
+/* 4: */ import gregtech.api.util.GT_CircuitryBehavior;
+/* 5: */
+/* 6: */ public class GT_Circuit_Equals
+/* 7: */ extends GT_CircuitryBehavior
+/* 8: */ {
+/* 9: */ public GT_Circuit_Equals(int aIndex)
+/* 10: */ {
+/* 11: 9 */ super(aIndex);
+/* 12: */ }
+/* 13: */
+/* 14: */ @Override
+public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 15: */ {
+/* 16:14 */ aCircuitData[0] = 0;
+/* 17:15 */ aCircuitData[1] = 0;
+/* 18: */ }
+/* 19: */
+/* 20: */ @Override
+public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 21: */ {
+/* 22:20 */ if (aCircuitData[0] < 0) {
+/* 23:20 */ aCircuitData[0] = 0;
+/* 24: */ }
+/* 25:21 */ if (aCircuitData[0] > 15) {
+/* 26:21 */ aCircuitData[0] = 15;
+/* 27: */ }
+/* 28:22 */ if (aCircuitData[1] < 0) {
+/* 29:22 */ aCircuitData[3] = 0;
+/* 30: */ }
+/* 31:23 */ if (aCircuitData[1] > 1) {
+/* 32:23 */ aCircuitData[3] = 1;
+/* 33: */ }
+/* 34: */ }
+/* 35: */
+/* 36: */ @Override
+public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 37: */ {
+ aRedstoneCircuitBlock.setRedstone(((byte)((aCircuitData[1] != 0 ? getStrongestRedstone(aRedstoneCircuitBlock) == aCircuitData[0] : getStrongestRedstone(aRedstoneCircuitBlock) != aCircuitData[0]) ? 0 : 15)), aRedstoneCircuitBlock.getOutputFacing());
+}
+/* 46: */
+/* 47: */ @Override
+public String getName()
+/* 48: */ {
+/* 49:33 */ return "Equals";
+/* 50: */ }
+/* 51: */
+/* 52: */ @Override
+public String getDescription()
+/* 53: */ {
+/* 54:38 */ return "signal == this";
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+/* 58: */ {
+/* 59:43 */ switch (aCircuitDataIndex)
+/* 60: */ {
+/* 61: */ case 0:
+/* 62:44 */ return "Signal";
+/* 63: */ case 1:
+/* 64:45 */ return aCircuitData[1] == 0 ? "Equal" : "Unequal";
+/* 65: */ }
+/* 66:47 */ return "";
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+/* 70: */ {
+/* 71:52 */ return false;
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+/* 75: */ {
+/* 76:57 */ if (aCircuitDataIndex > 0) {
+/* 77:57 */ return "";
+/* 78: */ }
+/* 79:58 */ return null;
+/* 80: */ }
+/* 81: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.redstonecircuits.GT_Circuit_Equals
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java
new file mode 100644
index 0000000..58c38c9
--- /dev/null
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Pulser.java
@@ -0,0 +1,107 @@
+/* 1: */ package gregtech.common.redstonecircuits;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.IRedstoneCircuitBlock;
+/* 4: */ import gregtech.api.util.GT_CircuitryBehavior;
+/* 5: */
+/* 6: */ public class GT_Circuit_Pulser
+/* 7: */ extends GT_CircuitryBehavior
+/* 8: */ {
+/* 9: */ public GT_Circuit_Pulser(int aIndex)
+/* 10: */ {
+/* 11: 9 */ super(aIndex);
+/* 12: */ }
+/* 13: */
+/* 14: */ @Override
+public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 15: */ {
+/* 16:14 */ aCircuitData[0] = 1;
+/* 17:15 */ aCircuitData[1] = 16;
+/* 18:16 */ aCircuitData[4] = 0;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 22: */ {
+/* 23:21 */ if (aCircuitData[0] < 1) {
+/* 24:21 */ aCircuitData[0] = 1;
+/* 25: */ }
+/* 26:22 */ if (aCircuitData[1] < 0) {
+/* 27:22 */ aCircuitData[1] = 0;
+/* 28: */ }
+/* 29:23 */ if (aCircuitData[1] > 16) {
+/* 30:23 */ aCircuitData[1] = 16;
+/* 31: */ }
+/* 32:24 */ if (aCircuitData[4] < 0) {
+/* 33:24 */ aCircuitData[4] = 0;
+/* 34: */ }
+/* 35: */ }
+/* 36: */
+/* 37: */ @Override
+public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 38: */ {
+/* 39:29 */ byte tRedstone = aCircuitData[1] == 0 ? getWeakestNonZeroRedstone(aRedstoneCircuitBlock) : getStrongestRedstone(aRedstoneCircuitBlock);
+/* 40:30 */ if (aCircuitData[4] == 0) {
+/* 41:30 */ aCircuitData[5] = tRedstone;
+/* 42: */ }
+/* 43:31 */ if ((tRedstone > 0) || (aCircuitData[4] > 0))
+/* 44: */ {
+/* 45:31 */ int tmp40_39 = 4; int[] tmp40_38 = aCircuitData; int tmp42_41 = tmp40_38[tmp40_39];tmp40_38[tmp40_39] = (tmp42_41 + 1);
+/* 46:31 */ if ((tmp42_41 >= aCircuitData[0]) && (tRedstone <= 0)) {
+/* 47:31 */ aCircuitData[4] = 0;
+/* 48: */ }
+/* 49: */ }
+/* 50:32 */ aRedstoneCircuitBlock.setRedstone((aCircuitData[4] > 0) && (aCircuitData[4] <= aCircuitData[0]) ? (byte)aCircuitData[1] : (aCircuitData[1] <= 0) || (aCircuitData[1] > 15) ? (byte)aCircuitData[5] : 0, aRedstoneCircuitBlock.getOutputFacing());
+/* 51: */ }
+/* 52: */
+/* 53: */ @Override
+public String getName()
+/* 54: */ {
+/* 55:37 */ return "Pulser";
+/* 56: */ }
+/* 57: */
+/* 58: */ @Override
+public String getDescription()
+/* 59: */ {
+/* 60:42 */ return "Limits&Enlengths";
+/* 61: */ }
+/* 62: */
+/* 63: */ @Override
+public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+/* 64: */ {
+/* 65:47 */ switch (aCircuitDataIndex)
+/* 66: */ {
+/* 67: */ case 0:
+/* 68:48 */ return "Length";
+/* 69: */ case 1:
+/* 70:49 */ return "RS Out";
+/* 71: */ }
+/* 72:51 */ return "";
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+/* 76: */ {
+/* 77:56 */ return false;
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+/* 81: */ {
+/* 82:61 */ if (aCircuitDataIndex == 1)
+/* 83: */ {
+/* 84:62 */ if (aCircuitData[aCircuitDataIndex] == 16) {
+/* 85:62 */ return "HIGHEST";
+/* 86: */ }
+/* 87:63 */ if (aCircuitData[aCircuitDataIndex] == 0) {
+/* 88:63 */ return "LOWEST";
+/* 89: */ }
+/* 90: */ }
+/* 91:65 */ return aCircuitDataIndex > 1 ? "" : null;
+/* 92: */ }
+/* 93: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.redstonecircuits.GT_Circuit_Pulser
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java
new file mode 100644
index 0000000..ebddd1e
--- /dev/null
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Randomizer.java
@@ -0,0 +1,108 @@
+/* 1: */ package gregtech.common.redstonecircuits;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.IRedstoneCircuitBlock;
+/* 4: */ import gregtech.api.util.GT_CircuitryBehavior;
+/* 5: */
+/* 6: */ public class GT_Circuit_Randomizer
+/* 7: */ extends GT_CircuitryBehavior
+/* 8: */ {
+/* 9: */ public GT_Circuit_Randomizer(int aIndex)
+/* 10: */ {
+/* 11: 9 */ super(aIndex);
+/* 12: */ }
+/* 13: */
+/* 14: */ @Override
+public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 15: */ {
+/* 16:14 */ aCircuitData[0] = 1;
+/* 17:15 */ aCircuitData[4] = 0;
+/* 18: */ }
+/* 19: */
+/* 20: */ @Override
+public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 21: */ {
+/* 22:20 */ if (aCircuitData[0] < 1) {
+/* 23:20 */ aCircuitData[0] = 1;
+/* 24: */ }
+/* 25:21 */ if (aCircuitData[3] < 0) {
+/* 26:21 */ aCircuitData[3] = 0;
+/* 27: */ }
+/* 28:22 */ if (aCircuitData[3] > 1) {
+/* 29:22 */ aCircuitData[3] = 1;
+/* 30: */ }
+/* 31:23 */ if (aCircuitData[4] < 0) {
+/* 32:23 */ aCircuitData[4] = 0;
+/* 33: */ }
+/* 34: */ }
+/* 35: */
+/* 36: */ @Override
+public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 37: */ {
+/* 38:28 */ if (aCircuitData[3] == 1)
+/* 39: */ {
+/* 40:29 */ if (getAnyRedstone(aRedstoneCircuitBlock)) {
+/* 41:30 */ aCircuitData[4] += 1;
+/* 42: */ } else {
+/* 43:32 */ aCircuitData[4] = 0;
+/* 44: */ }
+/* 45: */ }
+/* 46:35 */ else if (getAnyRedstone(aRedstoneCircuitBlock)) {
+/* 47:36 */ aCircuitData[4] = 0;
+/* 48: */ } else {
+/* 49:38 */ aCircuitData[4] += 1;
+/* 50: */ }
+/* 51:42 */ if (aCircuitData[4] >= aCircuitData[0])
+/* 52: */ {
+/* 53:43 */ aCircuitData[4] = 0;
+/* 54:44 */ aRedstoneCircuitBlock.setRedstone((byte)aRedstoneCircuitBlock.getRandom(16), aRedstoneCircuitBlock.getOutputFacing());
+/* 55: */ }
+/* 56: */ }
+/* 57: */
+/* 58: */ @Override
+public String getName()
+/* 59: */ {
+/* 60:50 */ return "Randomizer";
+/* 61: */ }
+/* 62: */
+/* 63: */ @Override
+public String getDescription()
+/* 64: */ {
+/* 65:55 */ return "Randomizes Redstone";
+/* 66: */ }
+/* 67: */
+/* 68: */ @Override
+public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+/* 69: */ {
+/* 70:60 */ switch (aCircuitDataIndex)
+/* 71: */ {
+/* 72: */ case 0:
+/* 73:61 */ return "Delay";
+/* 74: */ case 3:
+/* 75:62 */ return aCircuitData[aCircuitDataIndex] == 1 ? "RS => ON" : "RS => OFF";
+/* 76: */ case 4:
+/* 77:63 */ return "Status";
+/* 78: */ }
+/* 79:65 */ return "";
+/* 80: */ }
+/* 81: */
+/* 82: */ @Override
+public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+/* 83: */ {
+/* 84:70 */ return false;
+/* 85: */ }
+/* 86: */
+/* 87: */ @Override
+public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+/* 88: */ {
+/* 89:75 */ if (aCircuitDataIndex != 0) {
+/* 90:75 */ return "";
+/* 91: */ }
+/* 92:76 */ return null;
+/* 93: */ }
+/* 94: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.redstonecircuits.GT_Circuit_Randomizer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java
new file mode 100644
index 0000000..f1d4967
--- /dev/null
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_RedstoneMeter.java
@@ -0,0 +1,111 @@
+/* 1: */ package gregtech.common.redstonecircuits;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.IRedstoneCircuitBlock;
+/* 4: */ import gregtech.api.util.GT_CircuitryBehavior;
+/* 5: */
+/* 6: */ public class GT_Circuit_RedstoneMeter
+/* 7: */ extends GT_CircuitryBehavior
+/* 8: */ {
+/* 9: */ public GT_Circuit_RedstoneMeter(int aIndex)
+/* 10: */ {
+/* 11: 8 */ super(aIndex);
+/* 12: */ }
+/* 13: */
+/* 14: */ @Override
+public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 15: */ {
+/* 16:13 */ aCircuitData[0] = 1;
+/* 17:14 */ aCircuitData[1] = 15;
+/* 18:15 */ aCircuitData[2] = 0;
+/* 19:16 */ aCircuitData[3] = 15;
+/* 20: */ }
+/* 21: */
+/* 22: */ @Override
+public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 23: */ {
+/* 24:21 */ if (aCircuitData[0] < 0) {
+/* 25:21 */ aCircuitData[0] = 0;
+/* 26: */ }
+/* 27:22 */ if (aCircuitData[0] > 15) {
+/* 28:22 */ aCircuitData[0] = 15;
+/* 29: */ }
+/* 30:23 */ if (aCircuitData[1] < 0) {
+/* 31:23 */ aCircuitData[1] = 0;
+/* 32: */ }
+/* 33:24 */ if (aCircuitData[1] > 15) {
+/* 34:24 */ aCircuitData[1] = 15;
+/* 35: */ }
+/* 36:25 */ if (aCircuitData[1] < aCircuitData[0]) {
+/* 37:25 */ aCircuitData[1] = aCircuitData[0];
+/* 38: */ }
+/* 39:26 */ if (aCircuitData[2] < 0) {
+/* 40:26 */ aCircuitData[2] = 0;
+/* 41: */ }
+/* 42:27 */ if (aCircuitData[2] > 1) {
+/* 43:27 */ aCircuitData[2] = 1;
+/* 44: */ }
+/* 45:28 */ if (aCircuitData[3] < 0) {
+/* 46:28 */ aCircuitData[3] = 0;
+/* 47: */ }
+/* 48:29 */ if (aCircuitData[3] > 15) {
+/* 49:29 */ aCircuitData[3] = 15;
+/* 50: */ }
+/* 51: */ }
+/* 52: */
+/* 53: */ @Override
+public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 54: */ {
+/* 55:34 */ byte tRedstone = getStrongestRedstone(aRedstoneCircuitBlock);
+/* 56:35 */ aRedstoneCircuitBlock.setRedstone(((tRedstone >= aCircuitData[0]) && (tRedstone <= aCircuitData[1]) ? 1 : 0) != (aCircuitData[2] != 0 ? 1 : 0) ? (byte)aCircuitData[3] : 0, aRedstoneCircuitBlock.getOutputFacing());
+/* 57: */ }
+/* 58: */
+/* 59: */ @Override
+public String getName()
+/* 60: */ {
+/* 61:40 */ return "Redstone Meter";
+/* 62: */ }
+/* 63: */
+/* 64: */ @Override
+public String getDescription()
+/* 65: */ {
+/* 66:45 */ return "Checks Boundaries";
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+/* 70: */ {
+/* 71:50 */ switch (aCircuitDataIndex)
+/* 72: */ {
+/* 73: */ case 0:
+/* 74:51 */ return "Lower";
+/* 75: */ case 1:
+/* 76:52 */ return "Upper";
+/* 77: */ case 2:
+/* 78:53 */ return "Invert:";
+/* 79: */ case 3:
+/* 80:54 */ return "RS Out:";
+/* 81: */ }
+/* 82:56 */ return "";
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+/* 86: */ {
+/* 87:61 */ return false;
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+/* 91: */ {
+/* 92:66 */ if (aCircuitDataIndex == 2) {
+/* 93:66 */ return aCircuitData[2] == 0 ? "OFF" : "ON";
+/* 94: */ }
+/* 95:67 */ return null;
+/* 96: */ }
+/* 97: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.redstonecircuits.GT_Circuit_RedstoneMeter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java
new file mode 100644
index 0000000..904526a
--- /dev/null
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Repeater.java
@@ -0,0 +1,111 @@
+/* 1: */ package gregtech.common.redstonecircuits;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.IRedstoneCircuitBlock;
+/* 4: */ import gregtech.api.util.GT_CircuitryBehavior;
+/* 5: */
+/* 6: */ public class GT_Circuit_Repeater
+/* 7: */ extends GT_CircuitryBehavior
+/* 8: */ {
+/* 9: */ public GT_Circuit_Repeater(int aIndex)
+/* 10: */ {
+/* 11: 9 */ super(aIndex);
+/* 12: */ }
+/* 13: */
+/* 14: */ @Override
+public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 15: */ {
+/* 16:14 */ aCircuitData[0] = 1;
+/* 17:15 */ aCircuitData[4] = 0;
+/* 18:16 */ aCircuitData[5] = -1;
+/* 19: */ }
+/* 20: */
+/* 21: */ @Override
+public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 22: */ {
+/* 23:21 */ if (aCircuitData[0] < 1) {
+/* 24:21 */ aCircuitData[0] = 1;
+/* 25: */ }
+/* 26:22 */ if (aCircuitData[4] < 0) {
+/* 27:22 */ aCircuitData[4] = 0;
+/* 28: */ }
+/* 29:23 */ if (aCircuitData[5] < -1) {
+/* 30:23 */ aCircuitData[5] = -1;
+/* 31: */ }
+/* 32: */ }
+/* 33: */
+/* 34: */ @Override
+public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 35: */ {
+/* 36:28 */ if (getAnyRedstone(aRedstoneCircuitBlock))
+/* 37: */ {
+/* 38:29 */ aCircuitData[4] += 1;
+/* 39:30 */ if (aCircuitData[5] < 0) {
+/* 40:31 */ aCircuitData[5] = 0;
+/* 41: */ }
+/* 42: */ }
+/* 43:34 */ if ((aCircuitData[5] >= 0) && (aCircuitData[5] < aCircuitData[0])) {
+/* 44:35 */ aCircuitData[5] += 1;
+/* 45: */ }
+/* 46:37 */ if (aCircuitData[4] > 0)
+/* 47: */ {
+/* 48:38 */ if (aCircuitData[5] >= aCircuitData[0])
+/* 49: */ {
+/* 50:39 */ aCircuitData[4] -= 1;
+/* 51:40 */ aRedstoneCircuitBlock.setRedstone((byte)15, aRedstoneCircuitBlock.getOutputFacing());
+/* 52: */ }
+/* 53: */ else
+/* 54: */ {
+/* 55:42 */ aRedstoneCircuitBlock.setRedstone((byte)0, aRedstoneCircuitBlock.getOutputFacing());
+/* 56: */ }
+/* 57: */ }
+/* 58: */ else
+/* 59: */ {
+/* 60:45 */ aRedstoneCircuitBlock.setRedstone((byte)0, aRedstoneCircuitBlock.getOutputFacing());
+/* 61:46 */ aCircuitData[5] = -1;
+/* 62: */ }
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public String getName()
+/* 66: */ {
+/* 67:52 */ return "Repeater";
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public String getDescription()
+/* 71: */ {
+/* 72:57 */ return "Delays RS-Signal";
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+/* 76: */ {
+/* 77:62 */ switch (aCircuitDataIndex)
+/* 78: */ {
+/* 79: */ case 0:
+/* 80:63 */ return "Delay";
+/* 81: */ }
+/* 82:65 */ return "";
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+/* 86: */ {
+/* 87:70 */ return false;
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+/* 91: */ {
+/* 92:75 */ if (aCircuitDataIndex > 0) {
+/* 93:75 */ return "";
+/* 94: */ }
+/* 95:76 */ return null;
+/* 96: */ }
+/* 97: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.redstonecircuits.GT_Circuit_Repeater
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java
new file mode 100644
index 0000000..201d009
--- /dev/null
+++ b/src/main/java/gregtech/common/redstonecircuits/GT_Circuit_Timer.java
@@ -0,0 +1,138 @@
+/* 1: */ package gregtech.common.redstonecircuits;
+/* 2: */
+/* 3: */ import gregtech.api.interfaces.IRedstoneCircuitBlock;
+/* 4: */ import gregtech.api.util.GT_CircuitryBehavior;
+/* 5: */
+/* 6: */ public class GT_Circuit_Timer
+/* 7: */ extends GT_CircuitryBehavior
+/* 8: */ {
+/* 9: */ public GT_Circuit_Timer(int aIndex)
+/* 10: */ {
+/* 11: 9 */ super(aIndex);
+/* 12: */ }
+/* 13: */
+/* 14: */ @Override
+public void initParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 15: */ {
+/* 16:14 */ aCircuitData[0] = 2;
+/* 17:15 */ aCircuitData[1] = 1;
+/* 18:16 */ aCircuitData[2] = 2;
+/* 19:17 */ aCircuitData[4] = 0;
+/* 20: */ }
+/* 21: */
+/* 22: */ @Override
+public void validateParameters(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 23: */ {
+/* 24:22 */ if (aCircuitData[0] < 2) {
+/* 25:22 */ aCircuitData[0] = 2;
+/* 26: */ }
+/* 27:23 */ if (aCircuitData[1] < 1) {
+/* 28:23 */ aCircuitData[1] = 1;
+/* 29: */ }
+/* 30:24 */ if (aCircuitData[2] < 2) {
+/* 31:24 */ aCircuitData[2] = 2;
+/* 32: */ }
+/* 33:25 */ if (aCircuitData[3] < 0) {
+/* 34:25 */ aCircuitData[3] = 0;
+/* 35: */ }
+/* 36:26 */ if (aCircuitData[3] > 1) {
+/* 37:26 */ aCircuitData[3] = 1;
+/* 38: */ }
+/* 39:27 */ if (aCircuitData[4] < 0) {
+/* 40:27 */ aCircuitData[4] = 0;
+/* 41: */ }
+/* 42: */ }
+/* 43: */
+/* 44: */ @Override
+public void onTick(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock)
+/* 45: */ {
+/* 46:32 */ if (aCircuitData[3] == 1)
+/* 47: */ {
+/* 48:33 */ if (getAnyRedstone(aRedstoneCircuitBlock)) {
+/* 49:34 */ aCircuitData[4] += 1;
+/* 50: */ } else {
+/* 51:36 */ aCircuitData[4] = 0;
+/* 52: */ }
+/* 53: */ }
+/* 54:39 */ else if (getAnyRedstone(aRedstoneCircuitBlock)) {
+/* 55:40 */ aCircuitData[4] = 0;
+/* 56: */ } else {
+/* 57:42 */ aCircuitData[4] += 1;
+/* 58: */ }
+/* 59:46 */ if (aCircuitData[4] >= aCircuitData[0])
+/* 60: */ {
+/* 61:47 */ if (aCircuitData[1] > 1)
+/* 62: */ {
+/* 63:48 */ if (aCircuitData[4] >= aCircuitData[0] + (aCircuitData[1] - 1) * aCircuitData[2])
+/* 64: */ {
+/* 65:49 */ aRedstoneCircuitBlock.setRedstone((byte)15, aRedstoneCircuitBlock.getOutputFacing());
+/* 66:50 */ aCircuitData[4] = 0;
+/* 67: */ }
+/* 68: */ else
+/* 69: */ {
+/* 70:52 */ aRedstoneCircuitBlock.setRedstone((byte)((aCircuitData[4] - aCircuitData[0]) % aCircuitData[2] == 0 ? 15 : 0), aRedstoneCircuitBlock.getOutputFacing());
+/* 71: */ }
+/* 72: */ }
+/* 73: */ else
+/* 74: */ {
+/* 75:55 */ aRedstoneCircuitBlock.setRedstone((byte)15, aRedstoneCircuitBlock.getOutputFacing());
+/* 76:56 */ aCircuitData[4] = 0;
+/* 77: */ }
+/* 78: */ }
+/* 79: */ else {
+/* 80:59 */ aRedstoneCircuitBlock.setRedstone((byte)0, aRedstoneCircuitBlock.getOutputFacing());
+/* 81: */ }
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public String getName()
+/* 85: */ {
+/* 86:65 */ return "Timer";
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public String getDescription()
+/* 90: */ {
+/* 91:70 */ return "Pulses Redstone";
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public String getDataDescription(int[] aCircuitData, int aCircuitDataIndex)
+/* 95: */ {
+/* 96:75 */ switch (aCircuitDataIndex)
+/* 97: */ {
+/* 98: */ case 0:
+/* 99:76 */ return "Delay";
+/* :0: */ case 1:
+/* :1:77 */ return "Pulses";
+/* :2: */ case 2:
+/* :3:78 */ return "Length";
+/* :4: */ case 3:
+/* :5:79 */ return aCircuitData[aCircuitDataIndex] == 1 ? "RS => ON" : "RS => OFF";
+/* :6: */ case 4:
+/* :7:80 */ return "Time";
+/* :8: */ }
+/* :9:82 */ return "";
+/* ;0: */ }
+/* ;1: */
+/* ;2: */ @Override
+public boolean displayItemStack(int[] aCircuitData, IRedstoneCircuitBlock aRedstoneCircuitBlock, int aIndex)
+/* ;3: */ {
+/* ;4:87 */ return false;
+/* ;5: */ }
+/* ;6: */
+/* ;7: */ @Override
+public String getDataDisplay(int[] aCircuitData, int aCircuitDataIndex)
+/* ;8: */ {
+/* ;9:92 */ if (aCircuitDataIndex == 3) {
+/* <0:92 */ return "";
+/* <1: */ }
+/* <2:93 */ return null;
+/* <3: */ }
+/* <4: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.redstonecircuits.GT_Circuit_Timer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java
new file mode 100644
index 0000000..b31f32d
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java
@@ -0,0 +1,86 @@
+/* 1: */ package gregtech.common.tileentities.automation;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 6: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 9: */ import gregtech.api.util.GT_Utility;
+/* 10: */ import gregtech.common.gui.GT_Container_ChestBuffer;
+/* 11: */ import gregtech.common.gui.GT_GUIContainer_ChestBuffer;
+/* 12: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 13: */
+/* 14: */ public class GT_MetaTileEntity_ChestBuffer
+/* 15: */ extends GT_MetaTileEntity_Buffer
+/* 16: */ {
+/* 17: */ public GT_MetaTileEntity_ChestBuffer(int aID, String aName, String aNameRegional, int aTier)
+/* 18: */ {
+/* 19:16 */ super(aID, aName, aNameRegional, aTier, 28, "Buffering lots of incoming Items");
+/* 20: */ }
+/* 21: */
+/* 22: */ public GT_MetaTileEntity_ChestBuffer(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String aDescription)
+/* 23: */ {
+/* 24:20 */ super(aID, aName, aNameRegional, aTier, aInvSlotCount, aDescription);
+/* 25: */ }
+/* 26: */
+/* 27: */ public GT_MetaTileEntity_ChestBuffer(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures)
+/* 28: */ {
+/* 29:24 */ super(aName, aTier, aInvSlotCount, aDescription, aTextures);
+/* 30: */ }
+/* 31: */
+/* 32: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 33: */ {
+/* 34:29 */ return new GT_MetaTileEntity_ChestBuffer(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);
+/* 35: */ }
+/* 36: */
+/* 37: */ @Override
+public ITexture getOverlayIcon()
+/* 38: */ {
+/* 39:34 */ return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_CHESTBUFFER);
+/* 40: */ }
+/* 41: */
+/* 42: */ @Override
+public boolean isValidSlot(int aIndex)
+/* 43: */ {
+/* 44:37 */ return aIndex < this.mInventory.length - 1;
+/* 45: */ }
+/* 46: */
+/* 47: */ @Override
+protected void moveItems(IGregTechTileEntity aBaseMetaTileEntity, long aTimer)
+/* 48: */ {
+/* 49:41 */ fillStacksIntoFirstSlots();
+/* 50:42 */ super.moveItems(aBaseMetaTileEntity, aTimer);
+/* 51:43 */ fillStacksIntoFirstSlots();
+/* 52: */ }
+/* 53: */
+/* 54: */ protected void fillStacksIntoFirstSlots()
+/* 55: */ {
+/* 56:47 */ for (int i = 0; i < this.mInventory.length - 1; i++) {
+/* 57:47 */ for (int j = i + 1; j < this.mInventory.length - 1; j++) {
+/* 58:47 */ if ((this.mInventory[j] != null) && ((this.mInventory[i] == null) || (GT_Utility.areStacksEqual(this.mInventory[i], this.mInventory[j])))) {
+/* 59:48 */ GT_Utility.moveStackFromSlotAToSlotB(getBaseMetaTileEntity(), getBaseMetaTileEntity(), j, i, (byte)64, (byte)1, (byte)64, (byte)1);
+/* 60: */ }
+/* 61: */ }
+/* 62: */ }
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 66: */ {
+/* 67:54 */ return new GT_Container_ChestBuffer(aPlayerInventory, aBaseMetaTileEntity);
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 71: */ {
+/* 72:59 */ return new GT_GUIContainer_ChestBuffer(aPlayerInventory, aBaseMetaTileEntity);
+/* 73: */ }
+/* 74: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.automation.GT_MetaTileEntity_ChestBuffer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java
new file mode 100644
index 0000000..6e6fcdc
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Filter.java
@@ -0,0 +1,101 @@
+/* 1: */ package gregtech.common.tileentities.automation;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 6: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 9: */ import gregtech.api.util.GT_Utility;
+/* 10: */ import gregtech.common.gui.GT_Container_Filter;
+/* 11: */ import gregtech.common.gui.GT_GUIContainer_Filter;
+/* 12: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 13: */ import net.minecraft.item.ItemStack;
+/* 14: */ import net.minecraft.nbt.NBTTagCompound;
+/* 15: */
+/* 16: */ public class GT_MetaTileEntity_Filter
+/* 17: */ extends GT_MetaTileEntity_Buffer
+/* 18: */ {
+/* 19:17 */ public boolean bIgnoreNBT = false;
+/* 20:17 */ public boolean bInvertFilter = false;
+/* 21: */
+/* 22: */ public GT_MetaTileEntity_Filter(int aID, String aName, String aNameRegional, int aTier)
+/* 23: */ {
+/* 24:20 */ super(aID, aName, aNameRegional, aTier, 19, "Filtering incoming Items");
+/* 25: */ }
+/* 26: */
+/* 27: */ public GT_MetaTileEntity_Filter(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures)
+/* 28: */ {
+/* 29:24 */ super(aName, aTier, aInvSlotCount, aDescription, aTextures);
+/* 30: */ }
+/* 31: */
+/* 32: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 33: */ {
+/* 34:29 */ return new GT_MetaTileEntity_Filter(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);
+/* 35: */ }
+/* 36: */
+/* 37: */ @Override
+public ITexture getOverlayIcon()
+/* 38: */ {
+/* 39:34 */ return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_FILTER);
+/* 40: */ }
+/* 41: */
+/* 42: */ @Override
+public boolean isValidSlot(int aIndex)
+/* 43: */ {
+/* 44:37 */ return aIndex < 9;
+/* 45: */ }
+/* 46: */
+/* 47: */ @Override
+public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 48: */ {
+/* 49:41 */ return new GT_Container_Filter(aPlayerInventory, aBaseMetaTileEntity);
+/* 50: */ }
+/* 51: */
+/* 52: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 53: */ {
+/* 54:46 */ return new GT_GUIContainer_Filter(aPlayerInventory, aBaseMetaTileEntity);
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public void saveNBTData(NBTTagCompound aNBT)
+/* 58: */ {
+/* 59:51 */ super.saveNBTData(aNBT);
+/* 60:52 */ aNBT.setBoolean("bInvertFilter", this.bInvertFilter);
+/* 61:53 */ aNBT.setBoolean("bIgnoreNBT", this.bIgnoreNBT);
+/* 62: */ }
+/* 63: */
+/* 64: */ @Override
+public void loadNBTData(NBTTagCompound aNBT)
+/* 65: */ {
+/* 66:58 */ super.loadNBTData(aNBT);
+/* 67:59 */ this.bInvertFilter = aNBT.getBoolean("bInvertFilter");
+/* 68:60 */ this.bIgnoreNBT = aNBT.getBoolean("bIgnoreNBT");
+/* 69: */ }
+/* 70: */
+/* 71: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 72: */ {
+/* 73:65 */ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {
+/* 74:65 */ return false;
+/* 75: */ }
+/* 76:66 */ if (this.bInvertFilter)
+/* 77: */ {
+/* 78:67 */ for (byte i = 9; i < 18; i = (byte)(i + 1)) {
+/* 79:67 */ if (GT_Utility.areStacksEqual(this.mInventory[i], aStack, this.bIgnoreNBT)) {
+/* 80:67 */ return false;
+/* 81: */ }
+/* 82: */ }
+/* 83:68 */ return true;
+/* 84: */ }
+/* 85:70 */ return GT_Utility.areStacksEqual(this.mInventory[(aIndex + 9)], aStack, this.bIgnoreNBT);
+/* 86: */ }
+/* 87: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.automation.GT_MetaTileEntity_Filter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java
new file mode 100644
index 0000000..c03c2e1
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java
@@ -0,0 +1,120 @@
+/* 1: */ package gregtech.common.tileentities.automation;
+/* 12: */ import java.util.Arrays;
+
+/* 2: */
+/* 3: */ import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 6: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 9: */ import gregtech.api.util.GT_Utility;
+/* 10: */ import gregtech.common.gui.GT_Container_Regulator;
+/* 11: */ import gregtech.common.gui.GT_GUIContainer_Regulator;
+/* 13: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 14: */ import net.minecraft.item.ItemStack;
+/* 15: */ import net.minecraft.nbt.NBTTagCompound;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_Regulator
+/* 18: */ extends GT_MetaTileEntity_Buffer
+/* 19: */ {
+/* 20:20 */ public int[] mTargetSlots = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+/* 21: */
+/* 22: */ public GT_MetaTileEntity_Regulator(int aID, String aName, String aNameRegional, int aTier)
+/* 23: */ {
+/* 24:23 */ super(aID, aName, aNameRegional, aTier, 19, "Regulating incoming Items");
+/* 25: */ }
+/* 26: */
+/* 27: */ public GT_MetaTileEntity_Regulator(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures)
+/* 28: */ {
+/* 29:27 */ super(aName, aTier, aInvSlotCount, aDescription, aTextures);
+/* 30: */ }
+/* 31: */
+/* 32: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 33: */ {
+/* 34:32 */ return new GT_MetaTileEntity_Regulator(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);
+/* 35: */ }
+/* 36: */
+/* 37: */ @Override
+public ITexture getOverlayIcon()
+/* 38: */ {
+/* 39:37 */ return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_REGULATOR);
+/* 40: */ }
+/* 41: */
+/* 42: */ @Override
+public boolean isValidSlot(int aIndex)
+/* 43: */ {
+/* 44:40 */ return aIndex < 9;
+/* 45: */ }
+/* 46: */
+/* 47: */ @Override
+public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 48: */ {
+/* 49:44 */ return new GT_Container_Regulator(aPlayerInventory, aBaseMetaTileEntity);
+/* 50: */ }
+/* 51: */
+/* 52: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 53: */ {
+/* 54:49 */ return new GT_GUIContainer_Regulator(aPlayerInventory, aBaseMetaTileEntity);
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public void saveNBTData(NBTTagCompound aNBT)
+/* 58: */ {
+/* 59:54 */ super.saveNBTData(aNBT);
+/* 60:55 */ aNBT.setInteger("mTargetSlot1", this.mTargetSlots[0]);
+/* 61:56 */ aNBT.setInteger("mTargetSlot2", this.mTargetSlots[1]);
+/* 62:57 */ aNBT.setInteger("mTargetSlot3", this.mTargetSlots[2]);
+/* 63:58 */ aNBT.setInteger("mTargetSlot4", this.mTargetSlots[3]);
+/* 64:59 */ aNBT.setInteger("mTargetSlot5", this.mTargetSlots[4]);
+/* 65:60 */ aNBT.setInteger("mTargetSlot6", this.mTargetSlots[5]);
+/* 66:61 */ aNBT.setInteger("mTargetSlot7", this.mTargetSlots[6]);
+/* 67:62 */ aNBT.setInteger("mTargetSlot8", this.mTargetSlots[7]);
+/* 68:63 */ aNBT.setInteger("mTargetSlot9", this.mTargetSlots[8]);
+/* 69: */ }
+/* 70: */
+/* 71: */ @Override
+public void loadNBTData(NBTTagCompound aNBT)
+/* 72: */ {
+/* 73:68 */ super.loadNBTData(aNBT);
+/* 74:69 */ this.mTargetSlots[0] = aNBT.getInteger("mTargetSlot1");
+/* 75:70 */ this.mTargetSlots[1] = aNBT.getInteger("mTargetSlot2");
+/* 76:71 */ this.mTargetSlots[2] = aNBT.getInteger("mTargetSlot3");
+/* 77:72 */ this.mTargetSlots[3] = aNBT.getInteger("mTargetSlot4");
+/* 78:73 */ this.mTargetSlots[4] = aNBT.getInteger("mTargetSlot5");
+/* 79:74 */ this.mTargetSlots[5] = aNBT.getInteger("mTargetSlot6");
+/* 80:75 */ this.mTargetSlots[6] = aNBT.getInteger("mTargetSlot7");
+/* 81:76 */ this.mTargetSlots[7] = aNBT.getInteger("mTargetSlot8");
+/* 82:77 */ this.mTargetSlots[8] = aNBT.getInteger("mTargetSlot9");
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public void moveItems(IGregTechTileEntity aBaseMetaTileEntity, long aTimer)
+/* 86: */ {
+/* 87:82 */ int i = 0;
+/* 88:82 */ for (int tCosts = 0; i < 9; i++) {
+/* 89:82 */ if (this.mInventory[(i + 9)] != null)
+/* 90: */ {
+/* 91:83 */ tCosts = GT_Utility.moveOneItemStackIntoSlot(getBaseMetaTileEntity(), getBaseMetaTileEntity().getTileEntityAtSide(getBaseMetaTileEntity().getBackFacing()), getBaseMetaTileEntity().getBackFacing(), this.mTargetSlots[i], Arrays.asList(new ItemStack[] { this.mInventory[(i + 9)] }), false, (byte)this.mInventory[(i + 9)].stackSize, (byte)this.mInventory[(i + 9)].stackSize, (byte)64, (byte)1) * 3;
+/* 92:84 */ if (tCosts > 0)
+/* 93: */ {
+/* 94:84 */ this.mSuccess = 50;getBaseMetaTileEntity().decreaseStoredEnergyUnits(tCosts, true); break;
+/* 95: */ }
+/* 96: */ }
+/* 97: */ }
+/* 98: */ }
+/* 99: */
+/* :0: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* :1: */ {
+/* :2:90 */ return (super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) && (GT_Utility.areStacksEqual(aStack, this.mInventory[(aIndex + 9)]));
+/* :3: */ }
+/* :4: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.automation.GT_MetaTileEntity_Regulator
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java
new file mode 100644
index 0000000..c5fc5a2
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_SuperBuffer.java
@@ -0,0 +1,54 @@
+/* 1: */ package gregtech.common.tileentities.automation;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 6: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 7: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 8: */ import gregtech.common.gui.GT_Container_SuperBuffer;
+/* 9: */ import gregtech.common.gui.GT_GUIContainer_SuperBuffer;
+/* 10: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 11: */
+/* 12: */ public class GT_MetaTileEntity_SuperBuffer
+/* 13: */ extends GT_MetaTileEntity_ChestBuffer
+/* 14: */ {
+/* 15: */ public GT_MetaTileEntity_SuperBuffer(int aID, String aName, String aNameRegional, int aTier)
+/* 16: */ {
+/* 17:14 */ super(aID, aName, aNameRegional, aTier, 257, "Buffering up to 256 Stacks");
+/* 18: */ }
+/* 19: */
+/* 20: */ public GT_MetaTileEntity_SuperBuffer(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures)
+/* 21: */ {
+/* 22:18 */ super(aName, aTier, aInvSlotCount, aDescription, aTextures);
+/* 23: */ }
+/* 24: */
+/* 25: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 26: */ {
+/* 27:23 */ return new GT_MetaTileEntity_SuperBuffer(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public ITexture getOverlayIcon()
+/* 31: */ {
+/* 32:28 */ return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_SUPERBUFFER);
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 36: */ {
+/* 37:33 */ return new GT_Container_SuperBuffer(aPlayerInventory, aBaseMetaTileEntity);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 41: */ {
+/* 42:38 */ return new GT_GUIContainer_SuperBuffer(aPlayerInventory, aBaseMetaTileEntity);
+/* 43: */ }
+/* 44: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.automation.GT_MetaTileEntity_SuperBuffer
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java
new file mode 100644
index 0000000..8c42649
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java
@@ -0,0 +1,145 @@
+/* 1: */ package gregtech.common.tileentities.automation;
+/* 2: */
+/* 3: */ import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.interfaces.ITexture;
+/* 6: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Buffer;
+/* 9: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 10: */ import gregtech.api.util.GT_Utility;
+/* 11: */ import gregtech.common.gui.GT_Container_TypeFilter;
+/* 12: */ import gregtech.common.gui.GT_GUIContainer_TypeFilter;
+/* 14: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */ import net.minecraft.nbt.NBTTagCompound;
+/* 17: */
+/* 18: */ public class GT_MetaTileEntity_TypeFilter
+/* 19: */ extends GT_MetaTileEntity_Buffer
+/* 20: */ {
+/* 21: 19 */ public boolean bNBTAllowed = false;
+/* 22: 19 */ public boolean bInvertFilter = false;
+/* 23: 20 */ public int mRotationIndex = 0;
+/* 24: 21 */ public OrePrefixes mPrefix = OrePrefixes.ore;
+/* 25: */
+/* 26: */ public GT_MetaTileEntity_TypeFilter(int aID, String aName, String aNameRegional, int aTier)
+/* 27: */ {
+/* 28: 24 */ super(aID, aName, aNameRegional, aTier, 11, "Filtering incoming Items by Type");
+/* 29: */ }
+/* 30: */
+/* 31: */ public GT_MetaTileEntity_TypeFilter(String aName, int aTier, int aInvSlotCount, String aDescription, ITexture[][][] aTextures)
+/* 32: */ {
+/* 33: 28 */ super(aName, aTier, aInvSlotCount, aDescription, aTextures);
+/* 34: */ }
+/* 35: */
+/* 36: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 37: */ {
+/* 38: 33 */ return new GT_MetaTileEntity_TypeFilter(this.mName, this.mTier, this.mInventory.length, this.mDescription, this.mTextures);
+/* 39: */ }
+/* 40: */
+/* 41: */ @Override
+public ITexture getOverlayIcon()
+/* 42: */ {
+/* 43: 38 */ return new GT_RenderedTexture(Textures.BlockIcons.AUTOMATION_TYPEFILTER);
+/* 44: */ }
+/* 45: */
+/* 46: */ @Override
+public boolean isValidSlot(int aIndex)
+/* 47: */ {
+/* 48: 41 */ return aIndex < 9;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 52: */ {
+/* 53: 45 */ return new GT_Container_TypeFilter(aPlayerInventory, aBaseMetaTileEntity);
+/* 54: */ }
+/* 55: */
+/* 56: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 57: */ {
+/* 58: 50 */ return new GT_GUIContainer_TypeFilter(aPlayerInventory, aBaseMetaTileEntity);
+/* 59: */ }
+/* 60: */
+/* 61: */ public void clickTypeIcon(boolean aRightClick)
+/* 62: */ {
+/* 63: 54 */ if (getBaseMetaTileEntity().isServerSide())
+/* 64: */ {
+/* 65: 55 */ for (int i = 0; i < OrePrefixes.values().length; i++) {
+/* 66: 56 */ if (this.mPrefix == OrePrefixes.values()[i]) {
+/* 67: 57 */ for (this.mPrefix = null; this.mPrefix == null; this.mPrefix = OrePrefixes.values()[i])
+/* 68: */ {
+/* 70: 59 */ if (aRightClick)
+/* 71: */ {
+/* 72: 60 */ i--;
+/* 73: 60 */ if (i < 0) {
+/* 74: 60 */ i = OrePrefixes.values().length - 1;
+/* 75: */ }
+/* 76: */ }
+/* 77: */ else
+/* 78: */ {
+/* 79: 62 */ i++;
+/* 80: 62 */ if (i >= OrePrefixes.values().length) {
+/* 81: 62 */ i = 0;
+/* 82: */ }
+/* 83: */ }
+/* 84: 64 */ if(!OrePrefixes.values()[i].mPrefixedItems.isEmpty() && OrePrefixes.values()[i].mPrefixInto == OrePrefixes.values()[i])
+ mPrefix = OrePrefixes.values()[i];
+/* 87: */ }
+/* 88: */ }
+/* 89: */ }
+/* 90: 69 */ this.mRotationIndex = 0;
+/* 91: */ }
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick)
+/* 95: */ {
+/* 96: 75 */ super.onPreTick(aBaseMetaTileEntity, aTick);
+/* 97: 76 */ if ((getBaseMetaTileEntity().isServerSide()) && (aTick % 8L == 0L)) {
+/* 98: 77 */ if (this.mPrefix.mPrefixedItems.isEmpty())
+/* 99: */ {
+/* 100: 78 */ this.mInventory[9] = null;
+/* 101: */ }
+/* 102: */ else
+/* 103: */ {
+/* 104: 80 */ Object[] tmp63_60 = new Object[1]; int tmp90_89 = ((this.mRotationIndex + 1) % this.mPrefix.mPrefixedItems.size());this.mRotationIndex = tmp90_89;tmp63_60[0] = this.mPrefix.mPrefixedItems.get(tmp90_89);this.mInventory[9] = GT_Utility.copyAmount(1L, tmp63_60);
+/* 105: 81 */ if (this.mInventory[9].getItemDamage() == 32767) {
+/* 106: 81 */ this.mInventory[9].setItemDamage(0);
+/* 107: */ }
+/* 108: 82 */ this.mInventory[9].setStackDisplayName(this.mPrefix.toString());
+/* 109: */ }
+/* 110: */ }
+/* 111: */ }
+/* 112: */
+/* 113: */ @Override
+public void saveNBTData(NBTTagCompound aNBT)
+/* 114: */ {
+/* 115: 89 */ super.saveNBTData(aNBT);
+/* 116: 90 */ aNBT.setString("mPrefix", this.mPrefix.toString());
+/* 117: 91 */ aNBT.setBoolean("bInvertFilter", this.bInvertFilter);
+/* 118: 92 */ aNBT.setBoolean("bNBTAllowed", this.bNBTAllowed);
+/* 119: */ }
+/* 120: */
+/* 121: */ @Override
+public void loadNBTData(NBTTagCompound aNBT)
+/* 122: */ {
+/* 123: 97 */ super.loadNBTData(aNBT);
+/* 124: 98 */ this.mPrefix = OrePrefixes.getPrefix(aNBT.getString("mPrefix"), this.mPrefix);
+/* 125: 99 */ this.bInvertFilter = aNBT.getBoolean("bInvertFilter");
+/* 126:100 */ this.bNBTAllowed = aNBT.getBoolean("bNBTAllowed");
+/* 127: */ }
+/* 128: */
+/* 129: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 130: */ {
+/* 131:105 */ return (super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) && ((this.bNBTAllowed) || (!aStack.hasTagCompound())) && (this.mPrefix.contains(aStack) != this.bInvertFilter);
+/* 132: */ }
+/* 133: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.automation.GT_MetaTileEntity_TypeFilter
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java
new file mode 100644
index 0000000..8fce193
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler.java
@@ -0,0 +1,356 @@
+package gregtech.common.tileentities.boilers;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
+import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidHandler;
+
+public abstract class GT_MetaTileEntity_Boiler
+ extends GT_MetaTileEntity_BasicTank
+{
+ public int mTemperature = 20;
+ public int mProcessingEnergy = 0;
+ public int mLossTimer = 0;
+ public FluidStack mSteam = null;
+ public boolean mHadNoWater = false;
+
+ public GT_MetaTileEntity_Boiler(int aID, String aName, String aNameRegional, String aDescription, ITexture... aTextures)
+ {
+ super(aID, aName, aNameRegional, 0, 4, aDescription, aTextures);
+ }
+
+ public GT_MetaTileEntity_Boiler(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+ {
+ super(aName, aTier, 4, aDescription, aTextures);
+ }
+
+ @Override
+public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone)
+ {
+ ITexture[] tmp = mTextures[aSide >= 2 ? aSide != aFacing ? 2 : ((byte)(aActive ? 4 : 3)) : aSide][aColorIndex + 1];
+ //mTextures[(aSide==aFacing?(aActive?4:3):aSide==GT_Utility.getOppositeSide(aFacing)?2:aSide==0?0:aSide==1?1:2)][aColorIndex+1];
+ if(aSide!=aFacing&&tmp.length==2){
+ tmp = new ITexture[]{tmp[0]};
+ }
+ return tmp;
+ }
+
+ @Override
+public boolean isElectric()
+ {
+ return false;
+ }
+
+ @Override
+public boolean isPneumatic()
+ {
+ return false;
+ }
+
+ @Override
+public boolean isSteampowered()
+ {
+ return false;
+ }
+
+ @Override
+public boolean isSimpleMachine()
+ {
+ return false;
+ }
+
+ @Override
+public boolean isFacingValid(byte aFacing)
+ {
+ return aFacing > 1;
+ }
+
+ @Override
+public boolean isAccessAllowed(EntityPlayer aPlayer)
+ {
+ return true;
+ }
+
+ @Override
+public boolean isValidSlot(int aIndex)
+ {
+ return true;
+ }
+
+ @Override
+public int getProgresstime()
+ {
+ return this.mTemperature;
+ }
+
+ @Override
+public int maxProgresstime()
+ {
+ return 500;
+ }
+
+ @Override
+public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer)
+ {
+ if (aBaseMetaTileEntity.isClientSide()) {
+ return true;
+ }
+ if (aPlayer != null) {
+ if (GT_Utility.areStacksEqual(aPlayer.getCurrentEquippedItem(), new ItemStack(Items.water_bucket, 1)))
+ {
+ fill(Materials.Water.getFluid(1000 * aPlayer.getCurrentEquippedItem().stackSize), true);
+ aPlayer.getCurrentEquippedItem().func_150996_a(Items.bucket);
+ }
+ else
+ {
+ aBaseMetaTileEntity.openGUI(aPlayer);
+ }
+ }
+ return true;
+ }
+
+ @Override
+public boolean doesFillContainers()
+ {
+ return true;
+ }
+
+ @Override
+public boolean doesEmptyContainers()
+ {
+ return true;
+ }
+
+ @Override
+public boolean canTankBeFilled()
+ {
+ return true;
+ }
+
+ @Override
+public boolean canTankBeEmptied()
+ {
+ return true;
+ }
+
+ @Override
+public boolean displaysItemStack()
+ {
+ return false;
+ }
+
+ @Override
+public boolean displaysStackSize()
+ {
+ return false;
+ }
+
+ @Override
+public boolean isFluidInputAllowed(FluidStack aFluid)
+ {
+ return GT_ModHandler.isWater(aFluid);
+ }
+
+ @Override
+public FluidStack getDrainableStack()
+ {
+ return this.mSteam;
+ }
+
+ @Override
+public FluidStack setDrainableStack(FluidStack aFluid)
+ {
+ this.mSteam = aFluid;return this.mSteam;
+ }
+
+ @Override
+public boolean allowCoverOnSide(byte aSide, GT_ItemStack aCover)
+ {
+ return GregTech_API.getCoverBehavior(aCover.toStack()).isSimpleCover();
+ }
+
+ @Override
+public void saveNBTData(NBTTagCompound aNBT)
+ {
+ super.saveNBTData(aNBT);
+ aNBT.setInteger("mLossTimer", this.mLossTimer);
+ aNBT.setInteger("mTemperature", this.mTemperature);
+ aNBT.setInteger("mProcessingEnergy", this.mProcessingEnergy);
+ if (this.mSteam != null) {
+ try
+ {
+ aNBT.setTag("mSteam", this.mSteam.writeToNBT(new NBTTagCompound()));
+ }
+ catch (Throwable e) {}
+ }
+ }
+
+ @Override
+public void loadNBTData(NBTTagCompound aNBT)
+ {
+ super.loadNBTData(aNBT);
+ this.mLossTimer = aNBT.getInteger("mLossTimer");
+ this.mTemperature = aNBT.getInteger("mTemperature");
+ this.mProcessingEnergy = aNBT.getInteger("mProcessingEnergy");
+ this.mSteam = FluidStack.loadFluidStackFromNBT(aNBT.getCompoundTag("mSteam"));
+ }
+
+ @Override
+public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick)
+ {
+ if ((aBaseMetaTileEntity.isServerSide()) && (aTick > 20L))
+ {
+ if (this.mTemperature <= 20)
+ {
+ this.mTemperature = 20;
+ this.mLossTimer = 0;
+ }
+ if (++this.mLossTimer > 40)
+ {
+ this.mTemperature -= 1;
+ this.mLossTimer = 0;
+ }
+ for (byte i = 1; (this.mSteam != null) && (i < 6); i = (byte)(i + 1)) {
+ if (i != aBaseMetaTileEntity.getFrontFacing())
+ {
+ IFluidHandler tTileEntity = aBaseMetaTileEntity.getITankContainerAtSide(i);
+ if (tTileEntity != null)
+ {
+ FluidStack tDrained = aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), Math.max(1, this.mSteam.amount / 2), false);
+ if (tDrained != null)
+ {
+ int tFilledAmount = tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), tDrained, false);
+ if (tFilledAmount > 0) {
+ tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), tFilledAmount, true), true);
+ }
+ }
+ }
+ }
+ }
+ if (aTick % 10L == 0L) {
+ if (this.mTemperature > 100)
+ {
+ if ((this.mFluid == null) || (!GT_ModHandler.isWater(this.mFluid)) || (this.mFluid.amount <= 0))
+ {
+ this.mHadNoWater = true;
+ }
+ else
+ {
+ if (this.mHadNoWater)
+ {
+ aBaseMetaTileEntity.doExplosion(2048L);
+ return;
+ }
+ this.mFluid.amount -= 1;
+ if (this.mSteam == null) {
+ this.mSteam = GT_ModHandler.getSteam(150L);
+ } else if (GT_ModHandler.isSteam(this.mSteam)) {
+ this.mSteam.amount += 150;
+ } else {
+ this.mSteam = GT_ModHandler.getSteam(150L);
+ }
+ }
+ }
+ else {
+ this.mHadNoWater = false;
+ }
+ }
+ if ((this.mSteam != null) &&
+ (this.mSteam.amount > 32000))
+ {
+ sendSound((byte)1);
+ this.mSteam.amount = 24000;
+ }
+ if ((this.mProcessingEnergy <= 0) && (aBaseMetaTileEntity.isAllowedToWork()) &&
+ (this.mInventory[2] != null)) {
+ if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Coal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Coal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Coal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Coal))))
+ {
+ this.mProcessingEnergy += 160;
+ aBaseMetaTileEntity.decrStackSize(2, 1);
+ if (aBaseMetaTileEntity.getRandomNumber(3) == 0) {
+ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
+ }
+ }
+ else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Charcoal)))
+ {
+ this.mProcessingEnergy += 160;
+ aBaseMetaTileEntity.decrStackSize(2, 1);
+ if (aBaseMetaTileEntity.getRandomNumber(3) == 0) {
+ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
+ }
+ }
+ else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], "fuelCoke"))
+ {
+ this.mProcessingEnergy += 640;
+ aBaseMetaTileEntity.decrStackSize(2, 1);
+ if (aBaseMetaTileEntity.getRandomNumber(2) == 0) {
+ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
+ }
+ }
+ else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite))))
+ {
+ this.mProcessingEnergy += 40;
+ aBaseMetaTileEntity.decrStackSize(2, 1);
+ if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
+ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
+ }
+ }
+ }
+ if ((this.mTemperature < 1000) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L))
+ {
+ this.mProcessingEnergy -= 2;
+ this.mTemperature += 1;
+ }
+ aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
+ }
+ }
+
+ @Override
+public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+ {
+ return (aIndex == 1) || (aIndex == 3);
+ }
+
+ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+ {
+ return aIndex == 2;
+ }
+
+ @Override
+public void doSound(byte aIndex, double aX, double aY, double aZ)
+ {
+ if (aIndex == 1)
+ {
+ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(4)), 2, 1.0F, aX, aY, aZ);
+ for (int l = 0; l < 8; l++) {
+ getBaseMetaTileEntity().getWorld().spawnParticle("largesmoke", aX - 0.5D + Math.random(), aY, aZ - 0.5D + Math.random(), 0.0D, 0.0D, 0.0D);
+ }
+ }
+ }
+
+ @Override
+public int getCapacity()
+ {
+ return 16000;
+ }
+
+ @Override
+public int getTankPressure()
+ {
+ return 100;
+ }
+}
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java
new file mode 100644
index 0000000..c0ef2e3
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java
@@ -0,0 +1,181 @@
+package gregtech.common.tileentities.boilers;
+
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.common.gui.GT_Container_Boiler;
+import gregtech.common.gui.GT_GUIContainer_Boiler;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidHandler;
+
+public class GT_MetaTileEntity_Boiler_Bronze
+ extends GT_MetaTileEntity_Boiler
+{
+ public GT_MetaTileEntity_Boiler_Bronze(int aID, String aName, String aNameRegional)
+ {
+ super(aID, aName, aNameRegional, "An early way to get Steam Power", new ITexture[0]);
+ }
+
+ public GT_MetaTileEntity_Boiler_Bronze(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+ {
+ super(aName, aTier, aDescription, aTextures);
+ }
+
+ @Override
+public ITexture[][][] getTextureSet(ITexture[] aTextures)
+ {
+ ITexture[][][] rTextures = new ITexture[5][17][];
+ for (byte i = -1; i < 16; i++)
+ {
+ rTextures[0][(i + 1)] = new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+ rTextures[1][(i + 1)] = new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE) };
+ rTextures[2][(i + 1)] = new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE) };
+ rTextures[3][(i + 1)] = new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT) };
+ rTextures[4][(i + 1)] = new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT_ACTIVE) };
+ }
+ return rTextures;
+ }
+
+ @Override
+public int maxProgresstime()
+ {
+ return 500;
+ }
+
+ @Override
+public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+ {
+ return new GT_Container_Boiler(aPlayerInventory, aBaseMetaTileEntity, 16000);
+ }
+
+ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+ {
+ return new GT_GUIContainer_Boiler(aPlayerInventory, aBaseMetaTileEntity, "BronzeBoiler.png", 16000);
+ }
+
+ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+ {
+ return new GT_MetaTileEntity_Boiler_Bronze(this.mName, this.mTier, this.mDescription, this.mTextures);
+ }
+
+ @Override
+public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick)
+ {
+ if ((aBaseMetaTileEntity.isServerSide()) && (aTick > 20L))
+ {
+ if (this.mTemperature <= 20)
+ {
+ this.mTemperature = 20;
+ this.mLossTimer = 0;
+ }
+ if (++this.mLossTimer > 45)
+ {
+ this.mTemperature -= 1;
+ this.mLossTimer = 0;
+ }
+ for (byte i = 1; (this.mSteam != null) && (i < 6); i = (byte)(i + 1)) {
+ if (i != aBaseMetaTileEntity.getFrontFacing())
+ {
+ IFluidHandler tTileEntity = aBaseMetaTileEntity.getITankContainerAtSide(i);
+ if (tTileEntity != null)
+ {
+ FluidStack tDrained = aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), Math.max(1, this.mSteam.amount / 2), false);
+ if (tDrained != null)
+ {
+ int tFilledAmount = tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), tDrained, false);
+ if (tFilledAmount > 0) {
+ tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), tFilledAmount, true), true);
+ }
+ }
+ }
+ }
+ }
+ if (aTick % 25L == 0L) {
+ if (this.mTemperature > 100)
+ {
+ if ((this.mFluid == null) || (!GT_ModHandler.isWater(this.mFluid)) || (this.mFluid.amount <= 0))
+ {
+ this.mHadNoWater = true;
+ }
+ else
+ {
+ if (this.mHadNoWater)
+ {
+ aBaseMetaTileEntity.doExplosion(2048L);
+ return;
+ }
+ this.mFluid.amount -= 1;
+ if (this.mSteam == null) {
+ this.mSteam = GT_ModHandler.getSteam(150L);
+ } else if (GT_ModHandler.isSteam(this.mSteam)) {
+ this.mSteam.amount += 150;
+ } else {
+ this.mSteam = GT_ModHandler.getSteam(150L);
+ }
+ }
+ }
+ else {
+ this.mHadNoWater = false;
+ }
+ }
+ if ((this.mSteam != null) &&
+ (this.mSteam.amount > 16000))
+ {
+ sendSound((byte)1);
+ this.mSteam.amount = 12000;
+ }
+ if ((this.mProcessingEnergy <= 0) && (aBaseMetaTileEntity.isAllowedToWork()) &&
+ (this.mInventory[2] != null)) {
+ if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Coal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Coal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Coal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Coal))))
+ {
+ this.mProcessingEnergy += 160;
+ aBaseMetaTileEntity.decrStackSize(2, 1);
+ if (aBaseMetaTileEntity.getRandomNumber(3) == 0) {
+ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
+ }
+ }
+ else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Charcoal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Charcoal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Charcoal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Charcoal))))
+ {
+ this.mProcessingEnergy += 160;
+ aBaseMetaTileEntity.decrStackSize(2, 1);
+ if (aBaseMetaTileEntity.getRandomNumber(3) == 0) {
+ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
+ }
+ }
+ else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], "fuelCoke"))
+ {
+ this.mProcessingEnergy += 640;
+ aBaseMetaTileEntity.decrStackSize(2, 1);
+ if (aBaseMetaTileEntity.getRandomNumber(2) == 0) {
+ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
+ }
+ }
+ else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite))))
+ {
+ this.mProcessingEnergy += 40;
+ aBaseMetaTileEntity.decrStackSize(2, 1);
+ if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
+ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
+ }
+ }
+ }
+ if ((this.mTemperature < 500) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L))
+ {
+ this.mProcessingEnergy -= 1;
+ this.mTemperature += 1;
+ }
+ aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
+ }
+ }
+}
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java
new file mode 100644
index 0000000..e9c654f
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java
@@ -0,0 +1,172 @@
+/* 1: */ package gregtech.common.tileentities.boilers;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Dyes;
+/* 4: */ import gregtech.api.enums.Materials;
+/* 5: */ import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.Textures;
+/* 7: */ import gregtech.api.interfaces.ITexture;
+/* 8: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 9: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+/* 12: */ import gregtech.api.util.GT_OreDictUnificator;
+/* 13: */ import gregtech.common.gui.GT_Container_Boiler;
+/* 14: */ import gregtech.common.gui.GT_GUIContainer_Boiler;
+/* 15: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 16: */ import net.minecraftforge.common.util.ForgeDirection;
+/* 17: */ import net.minecraftforge.fluids.FluidStack;
+/* 18: */ import net.minecraftforge.fluids.IFluidHandler;
+/* 19: */
+/* 20: */ public class GT_MetaTileEntity_Boiler_Lava
+/* 21: */ extends GT_MetaTileEntity_Boiler
+/* 22: */ {
+/* 23: */ public GT_MetaTileEntity_Boiler_Lava(int aID, String aName, String aNameRegional)
+/* 24: */ {
+/* 25: 22 */ super(aID, aName, aNameRegional, "A Boiler running off Lava", new ITexture[0]);
+/* 26: */ }
+/* 27: */
+/* 28: */ public GT_MetaTileEntity_Boiler_Lava(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 29: */ {
+/* 30: 26 */ super(aName, aTier, aDescription, aTextures);
+/* 31: */ }
+/* 32: */
+/* 33: */ @Override
+public ITexture[][][] getTextureSet(ITexture[] aTextures)
+/* 34: */ {
+/* 35: 31 */ ITexture[][][] rTextures = new ITexture[5][17][];
+/* 36: 32 */ for (byte i = -1; i < 16; i++){
+/* 38: 33 */ rTextures[0][(i + 1)] = new ITexture [] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_BOTTOM, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+/* 39: 34 */ rTextures[1][(i + 1)] = new ITexture [] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_TOP, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE) };
+/* 40: 35 */ rTextures[2][(i + 1)] = new ITexture [] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE) };
+/* 41: 36 */ rTextures[3][(i + 1)] = new ITexture [] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.BOILER_LAVA_FRONT) };
+/* 42: 37 */ rTextures[4][(i + 1)] = new ITexture [] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.BOILER_LAVA_FRONT_ACTIVE) };
+/* 43: */ }
+/* 44: 39 */ return rTextures;
+/* 45: */ }
+/* 46: */
+/* 47: */ @Override
+public int maxProgresstime()
+/* 48: */ {
+/* 49: 42 */ return 1000;
+/* 50: */ }
+/* 51: */
+/* 52: */ @Override
+public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 53: */ {
+/* 54: 46 */ return new GT_Container_Boiler(aPlayerInventory, aBaseMetaTileEntity, 32000);
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 58: */ {
+/* 59: 51 */ return new GT_GUIContainer_Boiler(aPlayerInventory, aBaseMetaTileEntity, "SteelBoiler.png", 32000);
+/* 60: */ }
+/* 61: */
+/* 62: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 63: */ {
+/* 64: 56 */ return new GT_MetaTileEntity_Boiler_Lava(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 65: */ }
+/* 66: */
+/* 67: */ @Override
+public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick)
+/* 68: */ {
+/* 69: 61 */ if ((aBaseMetaTileEntity.isServerSide()) && (aTick > 20L))
+/* 70: */ {
+/* 71: 62 */ if (this.mTemperature <= 20)
+/* 72: */ {
+/* 73: 63 */ this.mTemperature = 20;
+/* 74: 64 */ this.mLossTimer = 0;
+/* 75: */ }
+/* 76: 67 */ if (++this.mLossTimer > 20)
+/* 77: */ {
+/* 78: 68 */ this.mTemperature -= 1;
+/* 79: 69 */ this.mLossTimer = 0;
+/* 80: */ }
+/* 81: 72 */ for (byte i = 1; (this.mSteam != null) && (i < 6); i = (byte)(i + 1)) {
+/* 82: 72 */ if (i != aBaseMetaTileEntity.getFrontFacing())
+/* 83: */ {
+/* 84: 73 */ IFluidHandler tTileEntity = aBaseMetaTileEntity.getITankContainerAtSide(i);
+/* 85: 74 */ if (tTileEntity != null)
+/* 86: */ {
+/* 87: 75 */ FluidStack tDrained = aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), Math.max(1, this.mSteam.amount / 2), false);
+/* 88: 76 */ if (tDrained != null)
+/* 89: */ {
+/* 90: 77 */ int tFilledAmount = tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), tDrained, false);
+/* 91: 78 */ if (tFilledAmount > 0) {
+/* 92: 79 */ tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), tFilledAmount, true), true);
+/* 93: */ }
+/* 94: */ }
+/* 95: */ }
+/* 96: */ }
+/* 97: */ }
+/* 98: 85 */ if (aTick % 10L == 0L) {
+/* 99: 86 */ if (this.mTemperature > 100)
+/* 100: */ {
+/* 101: 87 */ if ((this.mFluid == null) || (!GT_ModHandler.isWater(this.mFluid)) || (this.mFluid.amount <= 0))
+/* 102: */ {
+/* 103: 88 */ this.mHadNoWater = true;
+/* 104: */ }
+/* 105: */ else
+/* 106: */ {
+/* 107: 90 */ if (this.mHadNoWater)
+/* 108: */ {
+/* 109: 91 */ aBaseMetaTileEntity.doExplosion(2048L);
+/* 110: 92 */ return;
+/* 111: */ }
+/* 112: 94 */ this.mFluid.amount -= 1;
+/* 113: 95 */ if (this.mSteam == null) {
+/* 114: 96 */ this.mSteam = GT_ModHandler.getSteam(300L);
+/* 115: 98 */ } else if (GT_ModHandler.isSteam(this.mSteam)) {
+/* 116: 99 */ this.mSteam.amount += 300;
+/* 117: */ } else {
+/* 118:101 */ this.mSteam = GT_ModHandler.getSteam(300L);
+/* 119: */ }
+/* 120: */ }
+/* 121: */ }
+/* 122: */ else {
+/* 123:106 */ this.mHadNoWater = false;
+/* 124: */ }
+/* 125: */ }
+/* 126:110 */ if ((this.mSteam != null) &&
+/* 127:111 */ (this.mSteam.amount > 32000))
+/* 128: */ {
+/* 129:112 */ sendSound((byte)1);
+/* 130:113 */ this.mSteam.amount = 24000;
+/* 131: */ }
+/* 132:117 */ if ((this.mProcessingEnergy <= 0) && (aBaseMetaTileEntity.isAllowedToWork()) &&
+/* 133:118 */ (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.bucket.get(Materials.Lava))))
+/* 134: */ {
+/* 135:119 */ this.mProcessingEnergy += 1000;
+/* 136:120 */ aBaseMetaTileEntity.decrStackSize(2, 1);
+/* 137:121 */ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.bucket, Materials.Empty, 1L));
+/* 138: */ }
+/* 139:125 */ if ((this.mTemperature < 1000) && (this.mProcessingEnergy > 0) && (aTick % 8L == 0L))
+/* 140: */ {
+/* 141:126 */ this.mProcessingEnergy -= 2;
+/* 142:127 */ this.mTemperature += 1;
+/* 143: */ }
+/* 144:130 */ aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
+/* 145: */ }
+/* 146: */ }
+/* 147: */
+/* 148: */ @Override
+public final int fill(FluidStack aFluid, boolean doFill)
+/* 149: */ {
+/* 150:136 */ if ((GT_ModHandler.isLava(aFluid)) && (this.mProcessingEnergy < 50))
+/* 151: */ {
+/* 152:137 */ int tFilledAmount = Math.min(50, aFluid.amount);
+/* 153:138 */ if (doFill) {
+/* 154:138 */ this.mProcessingEnergy += tFilledAmount;
+/* 155: */ }
+/* 156:139 */ return tFilledAmount;
+/* 157: */ }
+/* 158:141 */ return super.fill(aFluid, doFill);
+/* 159: */ }
+/* 160: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.boilers.GT_MetaTileEntity_Boiler_Lava
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java
new file mode 100644
index 0000000..392951a
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java
@@ -0,0 +1,161 @@
+/* 1: */ package gregtech.common.tileentities.boilers;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.interfaces.ITexture;
+/* 6: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 7: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 9: */ import gregtech.api.util.GT_ModHandler;
+/* 10: */ import gregtech.common.gui.GT_Container_Boiler;
+/* 11: */ import gregtech.common.gui.GT_GUIContainer_Boiler;
+/* 12: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 15: */ import net.minecraftforge.common.util.ForgeDirection;
+/* 16: */ import net.minecraftforge.fluids.FluidStack;
+/* 17: */ import net.minecraftforge.fluids.IFluidHandler;
+/* 18: */
+/* 19: */ public class GT_MetaTileEntity_Boiler_Solar
+/* 20: */ extends GT_MetaTileEntity_Boiler
+/* 21: */ {
+/* 22: */ public GT_MetaTileEntity_Boiler_Solar(int aID, String aName, String aNameRegional)
+/* 23: */ {
+/* 24: 19 */ super(aID, aName, aNameRegional, "Steam Power by the Sun", new ITexture[0]);
+/* 25: */ }
+/* 26: */
+/* 27: */ public GT_MetaTileEntity_Boiler_Solar(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 28: */ {
+/* 29: 23 */ super(aName, aTier, aDescription, aTextures);
+/* 30: */ }
+/* 31: */
+/* 32: */ @Override
+public ITexture[][][] getTextureSet(ITexture[] aTextures)
+/* 33: */ {
+/* 34: 28 */ ITexture[][][] rTextures = new ITexture[4][17][];
+/* 35: 29 */ for (byte i = -1; i < 16; i = (byte)(i + 1))
+/* 36: */ {ITexture[] tmp0 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+/* 37: 30 */ rTextures[0][(i + 1)] = tmp0;
+/* 38: 31 */ ITexture[] tmp1 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.BOILER_SOLAR) };
+ rTextures[1][(i + 1)] = tmp1;
+/* 39: 32 */ ITexture[] tmp2 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+ rTextures[2][(i + 1)] = tmp2;
+/* 40: 33 */ ITexture[] tmp3 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE) };
+ rTextures[3][(i + 1)] = tmp3;
+/* 41: */ }
+/* 42: 35 */ return rTextures;
+/* 43: */ }
+/* 44: */
+/* 45: */ @Override
+public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone)
+/* 46: */ {
+ return mTextures[aSide >= 2 ? ((byte)(aSide != aFacing ? 2 : 3)) : aSide][aColorIndex + 1];
+/* 48: */ }
+/* 49: */
+/* 50: */ @Override
+public int maxProgresstime()
+/* 51: */ {
+/* 52: 43 */ return 500;
+/* 53: */ }
+/* 54: */
+/* 55: */ @Override
+public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 56: */ {
+/* 57: 47 */ return new GT_Container_Boiler(aPlayerInventory, aBaseMetaTileEntity, 16000);
+/* 58: */ }
+/* 59: */
+/* 60: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 61: */ {
+/* 62: 52 */ return new GT_GUIContainer_Boiler(aPlayerInventory, aBaseMetaTileEntity, "SolarBoiler.png", 16000);
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 66: */ {
+/* 67: 57 */ return new GT_MetaTileEntity_Boiler_Solar(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick)
+/* 71: */ {
+/* 72: 62 */ if ((aBaseMetaTileEntity.isServerSide()) && (aTick > 20L))
+/* 73: */ {
+/* 74: 63 */ if (this.mTemperature <= 20)
+/* 75: */ {
+/* 76: 64 */ this.mTemperature = 20;
+/* 77: 65 */ this.mLossTimer = 0;
+/* 78: */ }
+/* 79: 68 */ if (++this.mLossTimer > 45)
+/* 80: */ {
+/* 81: 69 */ this.mTemperature -= 1;
+/* 82: 70 */ this.mLossTimer = 0;
+/* 83: */ }
+/* 84: 73 */ if (this.mSteam != null)
+/* 85: */ {
+/* 86: 74 */ byte i = aBaseMetaTileEntity.getFrontFacing();
+/* 87: 75 */ IFluidHandler tTileEntity = aBaseMetaTileEntity.getITankContainerAtSide(i);
+/* 88: 76 */ if (tTileEntity != null)
+/* 89: */ {
+/* 90: 77 */ FluidStack tDrained = aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), Math.max(1, this.mSteam.amount / 2), false);
+/* 91: 78 */ if (tDrained != null)
+/* 92: */ {
+/* 93: 79 */ int tFilledAmount = tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), tDrained, false);
+/* 94: 80 */ if (tFilledAmount > 0) {
+/* 95: 81 */ tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), tFilledAmount, true), true);
+/* 96: */ }
+/* 97: */ }
+/* 98: */ }
+/* 99: */ }
+/* 100: 87 */ if (aTick % 25L == 0L) {
+/* 101: 88 */ if (this.mTemperature > 100)
+/* 102: */ {
+/* 103: 89 */ if ((this.mFluid == null) || (!GT_ModHandler.isWater(this.mFluid)) || (this.mFluid.amount <= 0))
+/* 104: */ {
+/* 105: 90 */ this.mHadNoWater = true;
+/* 106: */ }
+/* 107: */ else
+/* 108: */ {
+/* 109: 92 */ if (this.mHadNoWater)
+/* 110: */ {
+/* 111: 93 */ aBaseMetaTileEntity.doExplosion(2048L);
+/* 112: 94 */ return;
+/* 113: */ }
+/* 114: 96 */ this.mFluid.amount -= 1;
+/* 115: 97 */ if (this.mSteam == null) {
+/* 116: 98 */ this.mSteam = GT_ModHandler.getSteam(150L);
+/* 117:100 */ } else if (GT_ModHandler.isSteam(this.mSteam)) {
+/* 118:101 */ this.mSteam.amount += 150;
+/* 119: */ } else {
+/* 120:103 */ this.mSteam = GT_ModHandler.getSteam(150L);
+/* 121: */ }
+/* 122: */ }
+/* 123: */ }
+/* 124: */ else {
+/* 125:108 */ this.mHadNoWater = false;
+/* 126: */ }
+/* 127: */ }
+/* 128:112 */ if ((this.mSteam != null) &&
+/* 129:113 */ (this.mSteam.amount > 16000))
+/* 130: */ {
+/* 131:114 */ sendSound((byte)1);
+/* 132:115 */ this.mSteam.amount = 12000;
+/* 133: */ }
+/* 134:119 */ if ((this.mProcessingEnergy <= 0) && (aBaseMetaTileEntity.isAllowedToWork()) && (aTick % 256L == 0L) && (!aBaseMetaTileEntity.getWorld().isThundering()))
+/* 135: */ {
+/* 136:120 */ boolean bRain = (aBaseMetaTileEntity.getWorld().isRaining()) && (aBaseMetaTileEntity.getBiome().rainfall > 0.0F);
+/* 137:121 */ this.mProcessingEnergy += (((!bRain) || (aBaseMetaTileEntity.getWorld().skylightSubtracted < 4)) && (aBaseMetaTileEntity.getSkyAtSide((byte)1)) ? 8 : (bRain) || (!aBaseMetaTileEntity.getWorld().isDaytime()) ? 1 : 0);
+/* 138: */ }
+/* 139:124 */ if ((this.mTemperature < 500) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L))
+/* 140: */ {
+/* 141:125 */ this.mProcessingEnergy -= 1;
+/* 142:126 */ this.mTemperature += 1;
+/* 143: */ }
+/* 144:129 */ aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
+/* 145: */ }
+/* 146: */ }
+/* 147: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.boilers.GT_MetaTileEntity_Boiler_Solar
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java
new file mode 100644
index 0000000..938577e
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java
@@ -0,0 +1,191 @@
+/* 1: */ package gregtech.common.tileentities.boilers;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Dyes;
+/* 4: */ import gregtech.api.enums.Materials;
+/* 5: */ import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.Textures;
+/* 7: */ import gregtech.api.interfaces.ITexture;
+/* 8: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 9: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+/* 12: */ import gregtech.api.util.GT_OreDictUnificator;
+/* 13: */ import gregtech.common.gui.GT_Container_Boiler;
+/* 14: */ import gregtech.common.gui.GT_GUIContainer_Boiler;
+/* 15: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 16: */ import net.minecraftforge.common.util.ForgeDirection;
+/* 17: */ import net.minecraftforge.fluids.FluidStack;
+/* 18: */ import net.minecraftforge.fluids.IFluidHandler;
+/* 19: */
+/* 20: */ public class GT_MetaTileEntity_Boiler_Steel
+/* 21: */ extends GT_MetaTileEntity_Boiler
+/* 22: */ {
+/* 23: */ public GT_MetaTileEntity_Boiler_Steel(int aID, String aName, String aNameRegional)
+/* 24: */ {
+/* 25: 22 */ super(aID, aName, aNameRegional, "Faster than the Bronze Boiler", new ITexture[0]);
+/* 26: */ }
+/* 27: */
+/* 28: */ public GT_MetaTileEntity_Boiler_Steel(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 29: */ {
+/* 30: 26 */ super(aName, aTier, aDescription, aTextures);
+/* 31: */ }
+/* 32: */
+/* 33: */ @Override
+public ITexture[][][] getTextureSet(ITexture[] aTextures)
+/* 34: */ {
+/* 35: 31 */ ITexture[][][] rTextures = new ITexture[5][17][];
+/* 36: 32 */ for (byte i = -1; i < 16; i = (byte)(i + 1))
+/* 37: */ {ITexture[] tmp0 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_BOTTOM, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+/* 38: 33 */ rTextures[0][(i + 1)] = tmp0;
+/* 39: 34 */ ITexture[] tmp1 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_TOP, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE) };
+rTextures[1][(i + 1)] = tmp1;
+/* 40: 35 */ ITexture[] tmp2 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_PIPE) };
+rTextures[2][(i + 1)] = tmp2;
+/* 41: 36 */ ITexture[] tmp4 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT) };
+rTextures[3][(i + 1)] = tmp4;
+/* 42: 37 */ ITexture[] tmp5 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)), new GT_RenderedTexture(Textures.BlockIcons.BOILER_FRONT_ACTIVE) };
+rTextures[4][(i + 1)] = tmp5;
+/* 43: */ }
+/* 44: 39 */ return rTextures;
+/* 45: */ }
+/* 46: */
+/* 47: */ @Override
+public int maxProgresstime()
+/* 48: */ {
+/* 49: 42 */ return 1000;
+/* 50: */ }
+/* 51: */
+/* 52: */ @Override
+public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 53: */ {
+/* 54: 46 */ return new GT_Container_Boiler(aPlayerInventory, aBaseMetaTileEntity, 32000);
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 58: */ {
+/* 59: 51 */ return new GT_GUIContainer_Boiler(aPlayerInventory, aBaseMetaTileEntity, "SteelBoiler.png", 32000);
+/* 60: */ }
+/* 61: */
+/* 62: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 63: */ {
+/* 64: 56 */ return new GT_MetaTileEntity_Boiler_Steel(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 65: */ }
+/* 66: */
+/* 67: */ @Override
+public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick)
+/* 68: */ {
+/* 69: 61 */ if ((aBaseMetaTileEntity.isServerSide()) && (aTick > 20L))
+/* 70: */ {
+/* 71: 62 */ if (this.mTemperature <= 20)
+/* 72: */ {
+/* 73: 63 */ this.mTemperature = 20;
+/* 74: 64 */ this.mLossTimer = 0;
+/* 75: */ }
+/* 76: 67 */ if (++this.mLossTimer > 40)
+/* 77: */ {
+/* 78: 68 */ this.mTemperature -= 1;
+/* 79: 69 */ this.mLossTimer = 0;
+/* 80: */ }
+/* 81: 72 */ for (byte i = 1; (this.mSteam != null) && (i < 6); i = (byte)(i + 1)) {
+/* 82: 72 */ if (i != aBaseMetaTileEntity.getFrontFacing())
+/* 83: */ {
+/* 84: 73 */ IFluidHandler tTileEntity = aBaseMetaTileEntity.getITankContainerAtSide(i);
+/* 85: 74 */ if (tTileEntity != null)
+/* 86: */ {
+/* 87: 75 */ FluidStack tDrained = aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), Math.max(1, this.mSteam.amount / 2), false);
+/* 88: 76 */ if (tDrained != null)
+/* 89: */ {
+/* 90: 77 */ int tFilledAmount = tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), tDrained, false);
+/* 91: 78 */ if (tFilledAmount > 0) {
+/* 92: 79 */ tTileEntity.fill(ForgeDirection.getOrientation(i).getOpposite(), aBaseMetaTileEntity.drain(ForgeDirection.getOrientation(i), tFilledAmount, true), true);
+/* 93: */ }
+/* 94: */ }
+/* 95: */ }
+/* 96: */ }
+/* 97: */ }
+/* 98: 85 */ if (aTick % 10L == 0L) {
+/* 99: 86 */ if (this.mTemperature > 100)
+/* 100: */ {
+/* 101: 87 */ if ((this.mFluid == null) || (!GT_ModHandler.isWater(this.mFluid)) || (this.mFluid.amount <= 0))
+/* 102: */ {
+/* 103: 88 */ this.mHadNoWater = true;
+/* 104: */ }
+/* 105: */ else
+/* 106: */ {
+/* 107: 90 */ if (this.mHadNoWater)
+/* 108: */ {
+/* 109: 91 */ aBaseMetaTileEntity.doExplosion(2048L);
+/* 110: 92 */ return;
+/* 111: */ }
+/* 112: 94 */ this.mFluid.amount -= 1;
+/* 113: 95 */ if (this.mSteam == null) {
+/* 114: 96 */ this.mSteam = GT_ModHandler.getSteam(150L);
+/* 115: 98 */ } else if (GT_ModHandler.isSteam(this.mSteam)) {
+/* 116: 99 */ this.mSteam.amount += 150;
+/* 117: */ } else {
+/* 118:101 */ this.mSteam = GT_ModHandler.getSteam(150L);
+/* 119: */ }
+/* 120: */ }
+/* 121: */ }
+/* 122: */ else {
+/* 123:106 */ this.mHadNoWater = false;
+/* 124: */ }
+/* 125: */ }
+/* 126:110 */ if ((this.mSteam != null) &&
+/* 127:111 */ (this.mSteam.amount > 32000))
+/* 128: */ {
+/* 129:112 */ sendSound((byte)1);
+/* 130:113 */ this.mSteam.amount = 24000;
+/* 131: */ }
+/* 132:117 */ if ((this.mProcessingEnergy <= 0) && (aBaseMetaTileEntity.isAllowedToWork()) &&
+/* 133:118 */ (this.mInventory[2] != null)) {
+/* 134:119 */ if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Coal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Coal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Coal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Coal))))
+/* 135: */ {
+/* 136:123 */ this.mProcessingEnergy += 160;
+/* 137:124 */ aBaseMetaTileEntity.decrStackSize(2, 1);
+/* 138:125 */ if (aBaseMetaTileEntity.getRandomNumber(3) == 0) {
+/* 139:126 */ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
+/* 140: */ }
+/* 141: */ }
+/* 142:129 */ else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Charcoal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Charcoal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Charcoal))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Charcoal))))
+/* 143: */ {
+/* 144:133 */ this.mProcessingEnergy += 160;
+/* 145:134 */ aBaseMetaTileEntity.decrStackSize(2, 1);
+/* 146:135 */ if (aBaseMetaTileEntity.getRandomNumber(3) == 0) {
+/* 147:136 */ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
+/* 148: */ }
+/* 149: */ }
+/* 150:138 */ else if (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], "fuelCoke"))
+/* 151: */ {
+/* 152:139 */ this.mProcessingEnergy += 640;
+/* 153:140 */ aBaseMetaTileEntity.decrStackSize(2, 1);
+/* 154:141 */ if (aBaseMetaTileEntity.getRandomNumber(2) == 0) {
+/* 155:142 */ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Ash, 1L));
+/* 156: */ }
+/* 157: */ }
+/* 158:144 */ else if ((GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.gem.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dust.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.dustImpure.get(Materials.Lignite))) || (GT_OreDictUnificator.isItemStackInstanceOf(this.mInventory[2], OrePrefixes.crushed.get(Materials.Lignite))))
+/* 159: */ {
+/* 160:148 */ this.mProcessingEnergy += 40;
+/* 161:149 */ aBaseMetaTileEntity.decrStackSize(2, 1);
+/* 162:150 */ if (aBaseMetaTileEntity.getRandomNumber(8) == 0) {
+/* 163:151 */ aBaseMetaTileEntity.addStackToSlot(3, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L));
+/* 164: */ }
+/* 165: */ }
+/* 166: */ }
+/* 167:157 */ if ((this.mTemperature < 1000) && (this.mProcessingEnergy > 0) && (aTick % 12L == 0L))
+/* 168: */ {
+/* 169:158 */ this.mProcessingEnergy -= 2;
+/* 170:159 */ this.mTemperature += 1;
+/* 171: */ }
+/* 172:162 */ aBaseMetaTileEntity.setActive(this.mProcessingEnergy > 0);
+/* 173: */ }
+/* 174: */ }
+/* 175: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.boilers.GT_MetaTileEntity_Boiler_Steel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
new file mode 100644
index 0000000..6f10baf
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
@@ -0,0 +1,145 @@
+/* 1: */ package gregtech.common.tileentities.generators;
+/* 2: */
+/* 3: */ import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.ConfigCategories;
+/* 4: */ import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Textures;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+/* 13: */ import net.minecraft.item.ItemStack;
+/* 14: */
+/* 15: */ public class GT_MetaTileEntity_DieselGenerator
+/* 16: */ extends GT_MetaTileEntity_BasicGenerator
+/* 17: */ {
+
+ public int mEfficiency;
+/* 18: */ @Override
+public boolean isOutputFacing(byte aSide)
+/* 19: */ {
+/* 20:16 */ return aSide == getBaseMetaTileEntity().getFrontFacing();
+/* 21: */ }
+/* 22: */
+/* 23: */ public GT_MetaTileEntity_DieselGenerator(int aID, String aName, String aNameRegional, int aTier)
+/* 24: */ {
+/* 25:19 */ super(aID, aName, aNameRegional, aTier, "Requires liquid Fuel", new ITexture[0]);
+ onConfigLoad();
+/* 26: */ }
+/* 27: */
+/* 28: */ public GT_MetaTileEntity_DieselGenerator(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 29: */ {
+/* 30:23 */ super(aName, aTier, aDescription, aTextures);
+ onConfigLoad();
+/* 31: */ }
+/* 32: */
+/* 33: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 34: */ {
+/* 35:28 */ return new GT_MetaTileEntity_DieselGenerator(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 36: */ }
+/* 37: */
+/* 38: */ @Override
+public GT_Recipe.GT_Recipe_Map getRecipes()
+/* 39: */ {
+/* 40:33 */ return GT_Recipe.GT_Recipe_Map.sDieselFuels;
+/* 41: */ }
+/* 42: */
+/* 43: */ @Override
+public int getCapacity()
+/* 44: */ {
+/* 45:38 */ return 16000;
+/* 46: */ }
+
+/* 47: */ public void onConfigLoad()
+/* 39: */ {
+ this.mEfficiency =GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier."+this.mTier, (100 - this.mTier * 10));
+}
+
+/* 48: */ @Override
+public int getEfficiency()
+/* 49: */ {
+/* 50:43 */ return this.mEfficiency;
+/* 51: */ }
+/* 52: */
+/* 53: */ @Override
+public int getFuelValue(ItemStack aStack)
+/* 54: */ {
+/* 55:48 */ int rValue = Math.max(GT_ModHandler.getFuelCanValue(aStack) * 6 / 5, super.getFuelValue(aStack));
+/* 56:49 */ if (ItemList.Fuel_Can_Plastic_Filled.isStackEqual(aStack, false, true)) {
+/* 57:49 */ rValue = Math.max(rValue, GameRegistry.getFuelValue(aStack) * 3);
+/* 58: */ }
+/* 59:50 */ return rValue;
+/* 60: */ }
+/* 61: */
+/* 62: */ @Override
+public ITexture[] getFront(byte aColor)
+/* 63: */ {
+/* 64:53 */ return new ITexture[] { super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_FRONT), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 65: */ }
+/* 66: */
+/* 67: */ @Override
+public ITexture[] getBack(byte aColor)
+/* 68: */ {
+/* 69:54 */ return new ITexture[] { super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BACK) };
+/* 70: */ }
+/* 71: */
+/* 72: */ @Override
+public ITexture[] getBottom(byte aColor)
+/* 73: */ {
+/* 74:55 */ return new ITexture[] { super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BOTTOM) };
+/* 75: */ }
+/* 76: */
+/* 77: */ @Override
+public ITexture[] getTop(byte aColor)
+/* 78: */ {
+/* 79:56 */ return new ITexture[] { super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_TOP) };
+/* 80: */ }
+/* 81: */
+/* 82: */ @Override
+public ITexture[] getSides(byte aColor)
+/* 83: */ {
+/* 84:57 */ return new ITexture[] { super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_SIDE) };
+/* 85: */ }
+/* 86: */
+/* 87: */ @Override
+public ITexture[] getFrontActive(byte aColor)
+/* 88: */ {
+/* 89:58 */ return new ITexture[] { super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_FRONT_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 90: */ }
+/* 91: */
+/* 92: */ @Override
+public ITexture[] getBackActive(byte aColor)
+/* 93: */ {
+/* 94:59 */ return new ITexture[] { super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BACK_ACTIVE) };
+/* 95: */ }
+/* 96: */
+/* 97: */ @Override
+public ITexture[] getBottomActive(byte aColor)
+/* 98: */ {
+/* 99:60 */ return new ITexture[] { super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_BOTTOM_ACTIVE) };
+/* :0: */ }
+/* :1: */
+/* :2: */ @Override
+public ITexture[] getTopActive(byte aColor)
+/* :3: */ {
+/* :4:61 */ return new ITexture[] { super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_TOP_ACTIVE) };
+/* :5: */ }
+/* :6: */
+/* :7: */ @Override
+public ITexture[] getSidesActive(byte aColor)
+/* :8: */ {
+/* :9:62 */ return new ITexture[] { super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.DIESEL_GENERATOR_SIDE_ACTIVE) };
+/* ;0: */ }
+/* ;1: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.generators.GT_MetaTileEntity_DieselGenerator
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_FluidNaquadahReactor.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_FluidNaquadahReactor.java
new file mode 100644
index 0000000..294abdf
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_FluidNaquadahReactor.java
@@ -0,0 +1,119 @@
+/* 1: */ package gregtech.common.tileentities.generators;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_FluidNaquadahReactor
+/* 12: */ extends GT_MetaTileEntity_BasicGenerator
+/* 13: */ {
+/* 14: */ @Override
+public boolean isOutputFacing(byte aSide)
+/* 15: */ {
+/* 16:12 */ return (aSide > 1) && (aSide != getBaseMetaTileEntity().getFrontFacing()) && (aSide != getBaseMetaTileEntity().getBackFacing());
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_FluidNaquadahReactor(int aID, String aName, String aNameRegional, int aTier)
+/* 20: */ {
+/* 21:15 */ super(aID, aName, aNameRegional, aTier, "Requires Fluid Heavy Naquadah", new ITexture[0]);
+/* 22: */ }
+/* 23: */
+/* 24: */ public GT_MetaTileEntity_FluidNaquadahReactor(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 25: */ {
+/* 26:19 */ super(aName, aTier, aDescription, aTextures);
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 30: */ {
+/* 31:24 */ return new GT_MetaTileEntity_FluidNaquadahReactor(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 32: */ }
+/* 33: */
+/* 34: */ @Override
+public GT_Recipe.GT_Recipe_Map getRecipes()
+/* 35: */ {
+/* 36:29 */ return GT_Recipe.GT_Recipe_Map.sFluidNaquadahReactorFuels;
+/* 37: */ }
+/* 38: */
+/* 39: */ @Override
+public int getCapacity()
+/* 40: */ {
+/* 41:34 */ return 16000;
+/* 42: */ }
+/* 43: */
+/* 44: */ @Override
+public int getEfficiency()
+/* 45: */ {
+/* 46:39 */ return 100;
+/* 47: */ }
+/* 48: */
+/* 49: */ @Override
+public ITexture[] getFront(byte aColor)
+/* 50: */ {
+/* 51:42 */ return new ITexture[] { super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_FRONT) };
+/* 52: */ }
+/* 53: */
+/* 54: */ @Override
+public ITexture[] getBack(byte aColor)
+/* 55: */ {
+/* 56:43 */ return new ITexture[] { super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_BACK) };
+/* 57: */ }
+/* 58: */
+/* 59: */ @Override
+public ITexture[] getBottom(byte aColor)
+/* 60: */ {
+/* 61:44 */ return new ITexture[] { super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_BOTTOM) };
+/* 62: */ }
+/* 63: */
+/* 64: */ @Override
+public ITexture[] getTop(byte aColor)
+/* 65: */ {
+/* 66:45 */ return new ITexture[] { super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_TOP) };
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public ITexture[] getSides(byte aColor)
+/* 70: */ {
+/* 71:46 */ return new ITexture[] { super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_SIDE) };
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getFrontActive(byte aColor)
+/* 75: */ {
+/* 76:47 */ return new ITexture[] { super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_FRONT_ACTIVE) };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getBackActive(byte aColor)
+/* 80: */ {
+/* 81:48 */ return new ITexture[] { super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_BACK_ACTIVE) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getBottomActive(byte aColor)
+/* 85: */ {
+/* 86:49 */ return new ITexture[] { super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_BOTTOM_ACTIVE) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getTopActive(byte aColor)
+/* 90: */ {
+/* 91:50 */ return new ITexture[] { super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_TOP_ACTIVE) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getSidesActive(byte aColor)
+/* 95: */ {
+/* 96:51 */ return new ITexture[] { super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_FLUID_SIDE_ACTIVE) };
+/* 97: */ }
+/* 98: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.generators.GT_MetaTileEntity_FluidNaquadahReactor
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
new file mode 100644
index 0000000..f8683a0
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
@@ -0,0 +1,131 @@
+/* 1: */ package gregtech.common.tileentities.generators;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_GasTurbine
+/* 12: */ extends GT_MetaTileEntity_BasicGenerator
+/* 13: */ {
+
+ public int mEfficiency;
+/* 14: */ @Override
+public boolean isOutputFacing(byte aSide)
+/* 15: */ {
+/* 16:12 */ return aSide == getBaseMetaTileEntity().getFrontFacing();
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_GasTurbine(int aID, String aName, String aNameRegional, int aTier)
+/* 20: */ {
+/* 21:15 */ super(aID, aName, aNameRegional, aTier, "Requires flammable Gasses", new ITexture[0]);
+onConfigLoad();
+/* 22: */ }
+/* 23: */
+/* 24: */ public GT_MetaTileEntity_GasTurbine(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 25: */ {
+/* 26:19 */ super(aName, aTier, aDescription, aTextures);
+onConfigLoad();
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 30: */ {
+/* 31:24 */ return new GT_MetaTileEntity_GasTurbine(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 32: */ }
+/* 33: */
+/* 34: */ @Override
+public GT_Recipe.GT_Recipe_Map getRecipes()
+/* 35: */ {
+/* 36:29 */ return GT_Recipe.GT_Recipe_Map.sTurbineFuels;
+/* 37: */ }
+/* 38: */
+/* 39: */ @Override
+public int getCapacity()
+/* 40: */ {
+/* 41:34 */ return 16000;
+/* 42: */ }
+
+public void onConfigLoad()
+/* 39: */ {
+ this.mEfficiency =GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "GasTurbine.efficiency.tier."+this.mTier, (100 - this.mTier * 10));
+}
+
+/* 43: */
+/* 44: */ @Override
+public int getEfficiency()
+/* 45: */ {
+/* 46:39 */ return this.mEfficiency;
+/* 47: */ }
+/* 48: */
+/* 49: */ @Override
+public ITexture[] getFront(byte aColor)
+/* 50: */ {
+/* 51:42 */ return new ITexture[] { super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_FRONT), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 52: */ }
+/* 53: */
+/* 54: */ @Override
+public ITexture[] getBack(byte aColor)
+/* 55: */ {
+/* 56:43 */ return new ITexture[] { super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BACK) };
+/* 57: */ }
+/* 58: */
+/* 59: */ @Override
+public ITexture[] getBottom(byte aColor)
+/* 60: */ {
+/* 61:44 */ return new ITexture[] { super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BOTTOM) };
+/* 62: */ }
+/* 63: */
+/* 64: */ @Override
+public ITexture[] getTop(byte aColor)
+/* 65: */ {
+/* 66:45 */ return new ITexture[] { super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_TOP) };
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public ITexture[] getSides(byte aColor)
+/* 70: */ {
+/* 71:46 */ return new ITexture[] { super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_SIDE) };
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getFrontActive(byte aColor)
+/* 75: */ {
+/* 76:47 */ return new ITexture[] { super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_FRONT_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getBackActive(byte aColor)
+/* 80: */ {
+/* 81:48 */ return new ITexture[] { super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BACK_ACTIVE) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getBottomActive(byte aColor)
+/* 85: */ {
+/* 86:49 */ return new ITexture[] { super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BOTTOM_ACTIVE) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getTopActive(byte aColor)
+/* 90: */ {
+/* 91:50 */ return new ITexture[] { super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_TOP_ACTIVE) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getSidesActive(byte aColor)
+/* 95: */ {
+/* 96:51 */ return new ITexture[] { super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_SIDE_ACTIVE) };
+/* 97: */ }
+/* 98: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.generators.GT_MetaTileEntity_GasTurbine
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java
new file mode 100644
index 0000000..342b2ce
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java
@@ -0,0 +1,125 @@
+package gregtech.common.tileentities.generators;
+
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_MagicEnergyConverter
+/* 12: */ extends GT_MetaTileEntity_BasicGenerator
+/* 13: */ {
+
+ public int mEfficiency;
+/* 14: */ @Override
+public boolean isOutputFacing(byte aSide)
+/* 15: */ {
+/* 16:12 */ return aSide == getBaseMetaTileEntity().getFrontFacing();
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_MagicEnergyConverter(int aID, String aName, String aNameRegional, int aTier)
+/* 20: */ {
+/* 21:15 */ super(aID, aName, aNameRegional, aTier, "Put your strange stuff in here", new ITexture[0]);
+onConfigLoad();
+/* 22: */ }
+/* 23: */
+/* 24: */ public GT_MetaTileEntity_MagicEnergyConverter(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 25: */ {
+/* 26:19 */ super(aName, aTier, aDescription, aTextures);
+onConfigLoad();
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 30: */ {
+/* 31:24 */ return new GT_MetaTileEntity_MagicEnergyConverter(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 32: */ }
+/* 33: */
+/* 34: */ @Override
+public GT_Recipe.GT_Recipe_Map getRecipes()
+/* 35: */ {
+/* 36:29 */ return GT_Recipe.GT_Recipe_Map.sMagicFuels;
+/* 37: */ }
+/* 38: */
+/* 39: */ @Override
+public int getCapacity()
+/* 40: */ {
+/* 41:34 */ return 16000;
+/* 42: */ }
+
+public void onConfigLoad()
+/* 39: */ {
+ this.mEfficiency =GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyConverter.efficiency.tier."+this.mTier, 100-this.mTier*10);
+}
+
+/* 43: */
+/* 44: */ @Override
+public int getEfficiency()
+/* 45: */ {
+/* 46:39 */ return this.mEfficiency;
+/* 47: */ }
+/* 48: */
+/* 49: */ @Override
+public ITexture[] getFront(byte aColor)
+/* 50: */ {
+/* 51:42 */ return new ITexture[] { super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 52: */ }
+/* 53: */
+/* 54: */ @Override
+public ITexture[] getBack(byte aColor)
+/* 55: */ {
+/* 56:43 */ return new ITexture[] { super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_FRONT) };
+/* 57: */ }
+/* 58: */
+/* 59: */ @Override
+public ITexture[] getBottom(byte aColor)
+/* 60: */ {
+/* 61:44 */ return new ITexture[] { super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC) };
+/* 62: */ }
+/* 63: */
+/* 64: */ @Override
+public ITexture[] getTop(byte aColor)
+/* 65: */ {
+/* 66:45 */ return new ITexture[] { super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC) };
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public ITexture[] getSides(byte aColor)
+/* 70: */ {
+/* 71:46 */ return new ITexture[] { super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC) };
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getFrontActive(byte aColor)
+/* 75: */ {
+/* 76:47 */ return new ITexture[] { super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getBackActive(byte aColor)
+/* 80: */ {
+/* 81:48 */ return new ITexture[] { super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_FRONT_ACTIVE) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getBottomActive(byte aColor)
+/* 85: */ {
+/* 86:49 */ return new ITexture[] { super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getTopActive(byte aColor)
+/* 90: */ {
+/* 91:50 */ return new ITexture[] { super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getSidesActive(byte aColor)
+/* 95: */ {
+/* 96:51 */ return new ITexture[] { super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE) };
+/* 97: */ }
+/* 98: */ } \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
new file mode 100644
index 0000000..9718dc1
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
@@ -0,0 +1,264 @@
+package gregtech.common.tileentities.generators;
+
+/* 3: */ import java.util.ArrayList;
+
+import cpw.mods.fml.common.Loader;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe;
+import net.minecraft.block.Block;
+import net.minecraft.enchantment.Enchantment;
+import net.minecraft.entity.item.EntityEnderCrystal;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemEnchantedBook;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.util.AxisAlignedBB;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_MagicalEnergyAbsorber
+/* 12: */ extends GT_MetaTileEntity_BasicGenerator
+/* 13: */ {
+
+ public int mEfficiency;
+ public static boolean sAllowMultipleEggs = true;
+ public static GT_MetaTileEntity_MagicalEnergyAbsorber mActiveSiphon = null;
+ public static int sEnergyPerEnderCrystal = 32;
+ public static int sEnergyFromVis = 12800;
+ public static final ArrayList<EntityEnderCrystal> sUsedDragonCrystalList = new ArrayList<EntityEnderCrystal>();
+ public EntityEnderCrystal mTargetedCrystal;
+ public static int sDragonEggEnergyPerTick = 128;
+ public static boolean isThaumcraftLoaded;
+
+/* 14: */ @Override
+public boolean isOutputFacing(byte aSide)
+/* 15: */ {
+/* 16:12 */ return aSide == getBaseMetaTileEntity().getFrontFacing();
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_MagicalEnergyAbsorber(int aID, String aName, String aNameRegional, int aTier)
+/* 20: */ {
+/* 21:15 */ super(aID, aName, aNameRegional, aTier, "Feasts on magic close to it", new ITexture[0]);
+ onConfigLoad();
+/* 22: */ }
+/* 23: */
+/* 24: */ public GT_MetaTileEntity_MagicalEnergyAbsorber(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 25: */ {
+/* 26:19 */ super(aName, aTier, aDescription, aTextures);
+ onConfigLoad();
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 30: */ {
+/* 31:24 */ return new GT_MetaTileEntity_MagicalEnergyAbsorber(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 32: */ }
+/* 33: */
+/* 34: */ @Override
+public GT_Recipe.GT_Recipe_Map getRecipes()
+/* 35: */ {
+/* 36:29 */ return GT_Recipe.GT_Recipe_Map.sMagicFuels;
+/* 37: */ }
+/* 38: */
+/* 39: */ @Override
+public int getCapacity()
+/* 40: */ {
+/* 41:34 */ return 16000;
+/* 42: */ }
+
+ public void onConfigLoad()
+/* 39: */ {
+ this.mEfficiency =GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.efficiency.tier."+this.mTier, 100-this.mTier*10);
+ GT_MetaTileEntity_MagicalEnergyAbsorber.sAllowMultipleEggs = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.AllowMultipleEggs", false);
+ GT_MetaTileEntity_MagicalEnergyAbsorber.sEnergyPerEnderCrystal = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerTick.EnderCrystal", 32);
+ GT_MetaTileEntity_MagicalEnergyAbsorber.sEnergyFromVis = (GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerVisDivisor", 2500)*10);
+ GT_MetaTileEntity_MagicalEnergyAbsorber.sDragonEggEnergyPerTick = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerTick", 2048);
+ GT_MetaTileEntity_MagicalEnergyAbsorber.isThaumcraftLoaded = Loader.isModLoaded("Thaumcraft");
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() + aBaseMetaTileEntity.getEUCapacity()) {
+ //Dragon Egg
+ if(hasEgg()&&aTick%10==0){
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(sDragonEggEnergyPerTick*getEfficiency()*10, false);
+ if ((mActiveSiphon != this) && (!sAllowMultipleEggs)) {
+ if ((mActiveSiphon == null) || (mActiveSiphon.getBaseMetaTileEntity() == null) || (mActiveSiphon.getBaseMetaTileEntity().isInvalidTileEntity()) || (!mActiveSiphon.hasEgg())) {
+ mActiveSiphon = this;
+ } else {
+ getBaseMetaTileEntity().doExplosion(Integer.MAX_VALUE);
+ }
+ }
+ }
+ //Energyzed node
+ //EnderCrystal
+
+ if (sEnergyPerEnderCrystal > 0) {
+ if (this.mTargetedCrystal == null)
+ {
+ ArrayList<EntityEnderCrystal> tList = (ArrayList<EntityEnderCrystal>)getBaseMetaTileEntity().getWorld().getEntitiesWithinAABB(EntityEnderCrystal.class, AxisAlignedBB.getBoundingBox(getBaseMetaTileEntity().getXCoord() - 64, getBaseMetaTileEntity().getYCoord() - 64, getBaseMetaTileEntity().getZCoord() - 64, getBaseMetaTileEntity().getXCoord() + 64, getBaseMetaTileEntity().getYCoord() + 64, getBaseMetaTileEntity().getZCoord() + 64));
+ if ((tList != null) && (!tList.isEmpty()))
+ {
+ tList.removeAll(sUsedDragonCrystalList);
+ if (tList.size() > 0)
+ {
+ this.mTargetedCrystal = (tList.get(0));
+ if (this.mTargetedCrystal != null) {
+ sUsedDragonCrystalList.add(this.mTargetedCrystal);
+ }
+ }
+ }
+ }
+ else if (this.mTargetedCrystal.isEntityAlive())
+ {
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(sEnergyPerEnderCrystal * 10, false);
+ }
+ else
+ {
+ sUsedDragonCrystalList.remove(this.mTargetedCrystal);
+ this.mTargetedCrystal = null;
+ }
+ }
+
+ //Absorb entchantments
+
+ try
+ {
+ if ((this.mInventory[0] != null) && (this.mInventory[1] == null))
+ {
+ if ((this.mInventory[0].isItemEnchanted()) && (this.mInventory[0].getItem().getItemEnchantability() > 0))
+ {
+ NBTTagList tEnchantments = this.mInventory[0].getEnchantmentTagList();
+ if (tEnchantments != null)
+ {
+ for (int i = 0; i < tEnchantments.tagCount(); i++)
+ {
+ short tID = tEnchantments.getCompoundTagAt(i).getShort("id");
+ short tLevel = tEnchantments.getCompoundTagAt(i).getShort("lvl");
+ if ((tID > -1) && (tID < Enchantment.enchantmentsList.length))
+ {
+ Enchantment tEnchantment = Enchantment.enchantmentsList[tID];
+ if (tEnchantment != null) {
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
+ }
+ }
+ }
+ this.mInventory[0].stackTagCompound.removeTag("ench");
+ }
+ }
+ else if ((this.mInventory[0].getItem() instanceof ItemEnchantedBook))
+ {
+ NBTTagList tEnchantments = ((ItemEnchantedBook)this.mInventory[0].getItem()).func_92110_g(this.mInventory[0]);
+ if (tEnchantments != null)
+ {
+ for (int i = 0; i < tEnchantments.tagCount(); i++)
+ {
+ short tID = tEnchantments.getCompoundTagAt(i).getShort("id");
+ short tLevel = tEnchantments.getCompoundTagAt(i).getShort("lvl");
+ if ((tID > -1) && (tID < Enchantment.enchantmentsBookList.length))
+ {
+ Enchantment tEnchantment = Enchantment.enchantmentsBookList[tID];
+ if (tEnchantment != null) {
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
+ }
+ }
+ }
+ this.mInventory[0] = new ItemStack(Items.book, 1);
+ }
+ }
+ this.mInventory[1] = this.mInventory[0];
+ this.mInventory[0] = null;
+ }
+ }
+ catch (Throwable e){}
+ }
+ }
+
+ @Override
+ public void inValidate()
+ {
+ if (mActiveSiphon == this) {
+ mActiveSiphon = null;
+ }
+ }
+
+ public boolean hasEgg()
+ {
+ Block above = getBaseMetaTileEntity().getBlockOffset(0, 1, 0);
+ if(above==null||Blocks.air==above){return false;}
+ return Blocks.dragon_egg == above || above.getUnlocalizedName().equals("tile.dragonEgg");
+ }
+/* 43: */
+/* 44: */ @Override
+public int getEfficiency()
+/* 45: */ {
+/* 46:39 */ return this.mEfficiency;
+/* 47: */ }
+/* 48: */
+/* 49: */ @Override
+public ITexture[] getFront(byte aColor)
+/* 50: */ {
+/* 51:42 */ return new ITexture[] { super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 52: */ }
+/* 53: */
+/* 54: */ @Override
+public ITexture[] getBack(byte aColor)
+/* 55: */ {
+/* 56:43 */ return new ITexture[] { super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_FRONT) };
+/* 57: */ }
+/* 58: */
+/* 59: */ @Override
+public ITexture[] getBottom(byte aColor)
+/* 60: */ {
+/* 61:44 */ return new ITexture[] { super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC) };
+/* 62: */ }
+/* 63: */
+/* 64: */ @Override
+public ITexture[] getTop(byte aColor)
+/* 65: */ {
+/* 66:45 */ return new ITexture[] { super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_DRAGONEGG) };
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public ITexture[] getSides(byte aColor)
+/* 70: */ {
+/* 71:46 */ return new ITexture[] { super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC) };
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getFrontActive(byte aColor)
+/* 75: */ {
+/* 76:47 */ return new ITexture[] { super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getBackActive(byte aColor)
+/* 80: */ {
+/* 81:48 */ return new ITexture[] { super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_FRONT_ACTIVE) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getBottomActive(byte aColor)
+/* 85: */ {
+/* 86:49 */ return new ITexture[] { super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getTopActive(byte aColor)
+/* 90: */ {
+/* 91:50 */ return new ITexture[] { super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_DRAGONEGG) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getSidesActive(byte aColor)
+/* 95: */ {
+/* 96:51 */ return new ITexture[] { super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_MAGIC_ACTIVE) };
+/* 97: */ }
+/* 98: */ } \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java
new file mode 100644
index 0000000..26cd32f
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java
@@ -0,0 +1,125 @@
+package gregtech.common.tileentities.generators;
+
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_PlasmaGenerator
+/* 12: */ extends GT_MetaTileEntity_BasicGenerator
+/* 13: */ {
+
+ public int mEfficiency;
+/* 14: */ @Override
+public boolean isOutputFacing(byte aSide)
+/* 15: */ {
+/* 16:12 */ return aSide == getBaseMetaTileEntity().getFrontFacing();
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_PlasmaGenerator(int aID, String aName, String aNameRegional, int aTier)
+/* 20: */ {
+/* 21:15 */ super(aID, aName, aNameRegional, aTier, "Plasma into energy", new ITexture[0]);
+onConfigLoad();
+/* 22: */ }
+/* 23: */
+/* 24: */ public GT_MetaTileEntity_PlasmaGenerator(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 25: */ {
+/* 26:19 */ super(aName, aTier, aDescription, aTextures);
+onConfigLoad();
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 30: */ {
+/* 31:24 */ return new GT_MetaTileEntity_PlasmaGenerator(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 32: */ }
+/* 33: */
+/* 34: */ @Override
+public GT_Recipe.GT_Recipe_Map getRecipes()
+/* 35: */ {
+/* 36:29 */ return GT_Recipe.GT_Recipe_Map.sPlasmaFuels;
+/* 37: */ }
+/* 38: */
+/* 39: */ @Override
+public int getCapacity()
+/* 40: */ {
+/* 41:34 */ return 16000;
+/* 42: */ }
+
+public void onConfigLoad()
+/* 39: */ {
+ this.mEfficiency =GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "PlasmaGenerator.efficiency.tier."+this.mTier, (10 + (this.mTier * 10)));
+}
+
+/* 43: */
+/* 44: */ @Override
+public int getEfficiency()
+/* 45: */ {
+/* 46:39 */ return this.mEfficiency;
+/* 47: */ }
+/* 48: */
+/* 49: */ @Override
+public ITexture[] getFront(byte aColor)
+/* 50: */ {
+/* 51:42 */ return new ITexture[] { super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 52: */ }
+/* 53: */
+/* 54: */ @Override
+public ITexture[] getBack(byte aColor)
+/* 55: */ {
+/* 56:43 */ return new ITexture[] { super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS) };
+/* 57: */ }
+/* 58: */
+/* 59: */ @Override
+public ITexture[] getBottom(byte aColor)
+/* 60: */ {
+/* 61:44 */ return new ITexture[] { super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS) };
+/* 62: */ }
+/* 63: */
+/* 64: */ @Override
+public ITexture[] getTop(byte aColor)
+/* 65: */ {
+/* 66:45 */ return new ITexture[] { super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS) };
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public ITexture[] getSides(byte aColor)
+/* 70: */ {
+/* 71:46 */ return new ITexture[] { super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS) };
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getFrontActive(byte aColor)
+/* 75: */ {
+/* 76:47 */ return new ITexture[] { super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS_YELLOW), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getBackActive(byte aColor)
+/* 80: */ {
+/* 81:48 */ return new ITexture[] { super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS_YELLOW) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getBottomActive(byte aColor)
+/* 85: */ {
+/* 86:49 */ return new ITexture[] { super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS_YELLOW) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getTopActive(byte aColor)
+/* 90: */ {
+/* 91:50 */ return new ITexture[] { super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS_YELLOW) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getSidesActive(byte aColor)
+/* 95: */ {
+/* 96:51 */ return new ITexture[] { super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.MACHINE_CASING_FUSION_GLASS_YELLOW) };
+/* 97: */ }
+/* 98: */ } \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SolidNaquadahReactor.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SolidNaquadahReactor.java
new file mode 100644
index 0000000..666c16f
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SolidNaquadahReactor.java
@@ -0,0 +1,119 @@
+/* 1: */ package gregtech.common.tileentities.generators;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_SolidNaquadahReactor
+/* 12: */ extends GT_MetaTileEntity_BasicGenerator
+/* 13: */ {
+/* 14: */ @Override
+public boolean isOutputFacing(byte aSide)
+/* 15: */ {
+/* 16:12 */ return (aSide > 1) && (aSide != getBaseMetaTileEntity().getFrontFacing()) && (aSide != getBaseMetaTileEntity().getBackFacing());
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_SolidNaquadahReactor(int aID, String aName, String aNameRegional, int aTier)
+/* 20: */ {
+/* 21:15 */ super(aID, aName, aNameRegional, aTier, "Requires Enriched Naquadah Bolts", new ITexture[0]);
+/* 22: */ }
+/* 23: */
+/* 24: */ public GT_MetaTileEntity_SolidNaquadahReactor(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 25: */ {
+/* 26:19 */ super(aName, aTier, aDescription, aTextures);
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 30: */ {
+/* 31:24 */ return new GT_MetaTileEntity_SolidNaquadahReactor(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 32: */ }
+/* 33: */
+/* 34: */ @Override
+public GT_Recipe.GT_Recipe_Map getRecipes()
+/* 35: */ {
+/* 36:29 */ return GT_Recipe.GT_Recipe_Map.sSmallNaquadahReactorFuels;
+/* 37: */ }
+/* 38: */
+/* 39: */ @Override
+public int getCapacity()
+/* 40: */ {
+/* 41:34 */ return 0;
+/* 42: */ }
+/* 43: */
+/* 44: */ @Override
+public int getEfficiency()
+/* 45: */ {
+/* 46:39 */ return 80;
+/* 47: */ }
+/* 48: */
+/* 49: */ @Override
+public ITexture[] getFront(byte aColor)
+/* 50: */ {
+/* 51:42 */ return new ITexture[] { super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_FRONT) };
+/* 52: */ }
+/* 53: */
+/* 54: */ @Override
+public ITexture[] getBack(byte aColor)
+/* 55: */ {
+/* 56:43 */ return new ITexture[] { super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_BACK) };
+/* 57: */ }
+/* 58: */
+/* 59: */ @Override
+public ITexture[] getBottom(byte aColor)
+/* 60: */ {
+/* 61:44 */ return new ITexture[] { super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_BOTTOM) };
+/* 62: */ }
+/* 63: */
+/* 64: */ @Override
+public ITexture[] getTop(byte aColor)
+/* 65: */ {
+/* 66:45 */ return new ITexture[] { super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP) };
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public ITexture[] getSides(byte aColor)
+/* 70: */ {
+/* 71:46 */ return new ITexture[] { super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_SIDE) };
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getFrontActive(byte aColor)
+/* 75: */ {
+/* 76:47 */ return new ITexture[] { super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_FRONT_ACTIVE) };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getBackActive(byte aColor)
+/* 80: */ {
+/* 81:48 */ return new ITexture[] { super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_BACK_ACTIVE) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getBottomActive(byte aColor)
+/* 85: */ {
+/* 86:49 */ return new ITexture[] { super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_BOTTOM_ACTIVE) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getTopActive(byte aColor)
+/* 90: */ {
+/* 91:50 */ return new ITexture[] { super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_TOP_ACTIVE) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getSidesActive(byte aColor)
+/* 95: */ {
+/* 96:51 */ return new ITexture[] { super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.NAQUADAH_REACTOR_SOLID_SIDE_ACTIVE) };
+/* 97: */ }
+/* 98: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.generators.GT_MetaTileEntity_SolidNaquadahReactor
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java
new file mode 100644
index 0000000..45aaa61
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java
@@ -0,0 +1,144 @@
+/* 1: */ package gregtech.common.tileentities.generators;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.Textures;
+/* 4: */ import gregtech.api.interfaces.ITexture;
+/* 5: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 6: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 7: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+/* 8: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 9: */ import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+/* 11: */ import net.minecraftforge.fluids.FluidStack;
+/* 12: */
+/* 13: */ public class GT_MetaTileEntity_SteamTurbine
+/* 14: */ extends GT_MetaTileEntity_BasicGenerator
+/* 15: */ {
+
+ public int mEfficiency;
+/* 16: */ @Override
+public boolean isOutputFacing(byte aSide)
+/* 17: */ {
+/* 18:14 */ return aSide == getBaseMetaTileEntity().getFrontFacing();
+/* 19: */ }
+/* 20: */
+/* 21: */ public GT_MetaTileEntity_SteamTurbine(int aID, String aName, String aNameRegional, int aTier)
+/* 22: */ {
+/* 23:17 */ super(aID, aName, aNameRegional, aTier, "Requires Steam to run", new ITexture[0]);
+onConfigLoad();
+/* 24: */ }
+/* 25: */
+/* 26: */ public GT_MetaTileEntity_SteamTurbine(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 27: */ {
+/* 28:21 */ super(aName, aTier, aDescription, aTextures);
+onConfigLoad();
+/* 29: */ }
+/* 30: */
+/* 31: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 32: */ {
+/* 33:26 */ return new GT_MetaTileEntity_SteamTurbine(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 34: */ }
+/* 35: */
+/* 36: */ @Override
+public GT_Recipe.GT_Recipe_Map getRecipes()
+/* 37: */ {
+/* 38:31 */ return null;
+/* 39: */ }
+/* 40: */
+/* 41: */ @Override
+public int getCapacity()
+/* 42: */ {
+/* 43:36 */ return 24000 * this.mTier;
+/* 44: */ }
+
+public void onConfigLoad()
+/* 39: */ {
+ this.mEfficiency =GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "SteamTurbine.efficiency.tier."+this.mTier, (200 / consumedFluidPerOperation(GT_ModHandler.getSteam(1L))));
+}
+/* 45: */
+/* 46: */ @Override
+public int getEfficiency()
+/* 47: */ {
+/* 48:41 */ return this.mEfficiency;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public int getFuelValue(FluidStack aLiquid)
+/* 52: */ {
+/* 53:46 */ return GT_ModHandler.isSteam(aLiquid) ? 1 : 0;
+/* 54: */ }
+/* 55: */
+/* 56: */ @Override
+public int consumedFluidPerOperation(FluidStack aLiquid)
+/* 57: */ {
+/* 58:51 */ return 2 + this.mTier;
+/* 59: */ }
+/* 60: */
+/* 61: */ @Override
+public ITexture[] getFront(byte aColor)
+/* 62: */ {
+/* 63:54 */ return new ITexture[] { super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 64: */ }
+/* 65: */
+/* 66: */ @Override
+public ITexture[] getBack(byte aColor)
+/* 67: */ {
+/* 68:55 */ return new ITexture[] { super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_BACK) };
+/* 69: */ }
+/* 70: */
+/* 71: */ @Override
+public ITexture[] getBottom(byte aColor)
+/* 72: */ {
+/* 73:56 */ return new ITexture[] { super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_BOTTOM) };
+/* 74: */ }
+/* 75: */
+/* 76: */ @Override
+public ITexture[] getTop(byte aColor)
+/* 77: */ {
+/* 78:57 */ return new ITexture[] { super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_TOP) };
+/* 79: */ }
+/* 80: */
+/* 81: */ @Override
+public ITexture[] getSides(byte aColor)
+/* 82: */ {
+/* 83:58 */ return new ITexture[] { super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_SIDE) };
+/* 84: */ }
+/* 85: */
+/* 86: */ @Override
+public ITexture[] getFrontActive(byte aColor)
+/* 87: */ {
+/* 88:59 */ return new ITexture[] { super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_FRONT_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier] };
+/* 89: */ }
+/* 90: */
+/* 91: */ @Override
+public ITexture[] getBackActive(byte aColor)
+/* 92: */ {
+/* 93:60 */ return new ITexture[] { super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_BACK_ACTIVE) };
+/* 94: */ }
+/* 95: */
+/* 96: */ @Override
+public ITexture[] getBottomActive(byte aColor)
+/* 97: */ {
+/* 98:61 */ return new ITexture[] { super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_BOTTOM_ACTIVE) };
+/* 99: */ }
+/* :0: */
+/* :1: */ @Override
+public ITexture[] getTopActive(byte aColor)
+/* :2: */ {
+/* :3:62 */ return new ITexture[] { super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_TOP_ACTIVE) };
+/* :4: */ }
+/* :5: */
+/* :6: */ @Override
+public ITexture[] getSidesActive(byte aColor)
+/* :7: */ {
+/* :8:63 */ return new ITexture[] { super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.STEAM_TURBINE_SIDE_ACTIVE) };
+/* :9: */ }
+/* ;0: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.generators.GT_MetaTileEntity_SteamTurbine
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_Bronze.java
new file mode 100644
index 0000000..b8f74d6
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_Bronze.java
@@ -0,0 +1,48 @@
+/* 1: */ package gregtech.common.tileentities.machines;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.interfaces.ITexture;
+/* 6: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull_NonElectric;
+/* 9: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_BasicHull_Bronze
+/* 12: */ extends GT_MetaTileEntity_BasicHull_NonElectric
+/* 13: */ {
+/* 14: */ public GT_MetaTileEntity_BasicHull_Bronze(int aID, String aName, String aNameRegional, int aTier, String aDescription)
+/* 15: */ {
+/* 16:13 */ super(aID, aName, aNameRegional, aTier, aDescription);
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_BasicHull_Bronze(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 20: */ {
+/* 21:17 */ super(aName, aTier, aDescription, aTextures);
+/* 22: */ }
+/* 23: */
+/* 24: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 25: */ {
+/* 26:22 */ return new GT_MetaTileEntity_BasicHull_Bronze(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public ITexture[][][] getTextureSet(ITexture[] aTextures)
+/* 30: */ {
+/* 31:27 */ ITexture[][][] rTextures = new ITexture[3][17][];
+/* 32:28 */ for (byte i = -1; i < 16; i = (byte)(i + 1))
+/* 33: */ {
+/* 34:29 */ rTextures[0][(i + 1)] = new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZE_BOTTOM, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+/* 35:30 */ rTextures[1][(i + 1)] = new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZE_TOP, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+/* 36:31 */ rTextures[2][(i + 1)] = new ITexture[] { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZE_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+/* 37: */ }
+/* 38:33 */ return rTextures;
+/* 39: */ }
+/* 40: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.GT_MetaTileEntity_BasicHull_Bronze
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_BronzeBricks.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_BronzeBricks.java
new file mode 100644
index 0000000..a952594
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_BronzeBricks.java
@@ -0,0 +1,51 @@
+/* 1: */ package gregtech.common.tileentities.machines;
+/* 2: */
+/* 3: */
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.interfaces.ITexture;
+/* 6: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull_NonElectric;
+/* 9: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_BasicHull_BronzeBricks
+/* 12: */ extends GT_MetaTileEntity_BasicHull_NonElectric
+/* 13: */ {
+/* 14: */ public GT_MetaTileEntity_BasicHull_BronzeBricks(int aID, String aName, String aNameRegional, int aTier, String aDescription)
+/* 15: */ {
+/* 16:13 */ super(aID, aName, aNameRegional, aTier, aDescription);
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_BasicHull_BronzeBricks(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 20: */ {
+/* 21:17 */ super(aName, aTier, aDescription, aTextures);
+/* 22: */ }
+/* 23: */
+/* 24: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 25: */ {
+/* 26:22 */ return new GT_MetaTileEntity_BasicHull_BronzeBricks(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public ITexture[][][] getTextureSet(ITexture[] aTextures)
+/* 30: */ {
+/* 31:27 */ ITexture[][][] rTextures = new ITexture[3][17][];
+/* 32:28 */ for (byte i = -1; i < 16; i = (byte)(i + 1))
+/* 33: */ {ITexture[] tmp0 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_BOTTOM, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+/* 34:29 */ rTextures[0][(i + 1)] = tmp0;
+/* 35:30 */ ITexture[] tmp1 = { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_TOP, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+rTextures[1][(i + 1)] =tmp1;
+/* 36:31 */ ITexture[] tmp2 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_BRONZEBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+rTextures[2][(i + 1)] = tmp2;
+/* 37: */ }
+/* 38:33 */ return rTextures;
+/* 39: */ }
+/* 40: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.GT_MetaTileEntity_BasicHull_BronzeBricks
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_Steel.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_Steel.java
new file mode 100644
index 0000000..f923ace
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_Steel.java
@@ -0,0 +1,50 @@
+/* 1: */ package gregtech.common.tileentities.machines;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.interfaces.ITexture;
+/* 6: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull_NonElectric;
+/* 9: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_BasicHull_Steel
+/* 12: */ extends GT_MetaTileEntity_BasicHull_NonElectric
+/* 13: */ {
+/* 14: */ public GT_MetaTileEntity_BasicHull_Steel(int aID, String aName, String aNameRegional, int aTier, String aDescription)
+/* 15: */ {
+/* 16:13 */ super(aID, aName, aNameRegional, aTier, aDescription);
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_BasicHull_Steel(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 20: */ {
+/* 21:17 */ super(aName, aTier, aDescription, aTextures);
+/* 22: */ }
+/* 23: */
+/* 24: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 25: */ {
+/* 26:22 */ return new GT_MetaTileEntity_BasicHull_Steel(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public ITexture[][][] getTextureSet(ITexture[] aTextures)
+/* 30: */ {
+/* 31:27 */ ITexture[][][] rTextures = new ITexture[3][17][];
+/* 32:28 */ for (byte i = -1; i < 16; i = (byte)(i + 1))
+/* 33: */ {ITexture[] tmp0 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEEL_BOTTOM, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+/* 34:29 */ rTextures[0][(i + 1)] = tmp0;
+/* 35:30 */ ITexture[] tmp1 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEEL_TOP, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+rTextures[1][(i + 1)] = tmp1;
+/* 36:31 */ ITexture[] tmp2 = { new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEEL_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+rTextures[2][(i + 1)] =tmp2;
+/* 37: */ }
+/* 38:33 */ return rTextures;
+/* 39: */ }
+/* 40: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.GT_MetaTileEntity_BasicHull_Steel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_SteelBricks.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_SteelBricks.java
new file mode 100644
index 0000000..a4cb828
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_BasicHull_SteelBricks.java
@@ -0,0 +1,50 @@
+/* 1: */ package gregtech.common.tileentities.machines;
+/* 2: */
+/* 3: */ import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.interfaces.ITexture;
+/* 6: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull_NonElectric;
+/* 9: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 10: */
+/* 11: */ public class GT_MetaTileEntity_BasicHull_SteelBricks
+/* 12: */ extends GT_MetaTileEntity_BasicHull_NonElectric
+/* 13: */ {
+/* 14: */ public GT_MetaTileEntity_BasicHull_SteelBricks(int aID, String aName, String aNameRegional, int aTier, String aDescription)
+/* 15: */ {
+/* 16:13 */ super(aID, aName, aNameRegional, aTier, aDescription);
+/* 17: */ }
+/* 18: */
+/* 19: */ public GT_MetaTileEntity_BasicHull_SteelBricks(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 20: */ {
+/* 21:17 */ super(aName, aTier, aDescription, aTextures);
+/* 22: */ }
+/* 23: */
+/* 24: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 25: */ {
+/* 26:22 */ return new GT_MetaTileEntity_BasicHull_SteelBricks(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 27: */ }
+/* 28: */
+/* 29: */ @Override
+public ITexture[][][] getTextureSet(ITexture[] aTextures)
+/* 30: */ {
+/* 31:27 */ ITexture[][][] rTextures = new ITexture[3][17][];
+/* 32:28 */ for (byte i = -1; i < 16; i = (byte)(i + 1))
+/* 33: */ {ITexture[] tmp0 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_BOTTOM, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+/* 34:29 */ rTextures[0][(i + 1)] = tmp0;
+/* 35:30 */ ITexture[] tmp1 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_TOP, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+rTextures[1][(i + 1)] = tmp1;
+/* 36:31 */ ITexture[] tmp2 ={ new GT_RenderedTexture(Textures.BlockIcons.MACHINE_STEELBRICKS_SIDE, Dyes.getModulation(i, Dyes._NULL.mRGBa)) };
+rTextures[2][(i + 1)] = tmp2;
+/* 37: */ }
+/* 38:33 */ return rTextures;
+/* 39: */ }
+/* 40: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.GT_MetaTileEntity_BasicHull_SteelBricks
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Bronze.java
new file mode 100644
index 0000000..8576411
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Bronze.java
@@ -0,0 +1,130 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_Recipe;
+/* 13: */ import gregtech.api.util.GT_Utility;
+/* 15: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_AlloySmelter_Bronze
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Bronze
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_AlloySmelter_Bronze(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22: 19 */ super(aID, aName, aNameRegional, "Combination Smelter", 2, 1, true);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_AlloySmelter_Bronze(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27: 23 */ super(aName, aDescription, aTextures, 2, 1, true);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 31: */ {
+/* 32: 28 */ return new GT_MetaTileEntity_AlloySmelter_Bronze(this.mName, this.mDescription, this.mTextures);
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 36: */ {
+/* 37: 33 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeAlloySmelter.png", GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes.mUnlocalizedName);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42: 38 */ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[1], null, getAllInputs());
+/* 43: 39 */ if ((tRecipe != null) && (canOutput(tRecipe.mOutputs)) && (tRecipe.isRecipeInputEqual(true, null, getAllInputs())))
+/* 44: */ {
+/* 45: 40 */ this.mOutputItems[0] = tRecipe.getOutput(0);
+/* 46: 41 */ if (tRecipe.mEUt <= 16)
+/* 47: */ {
+/* 48: 42 */ this.mEUt = tRecipe.mEUt;
+/* 49: 43 */ this.mMaxProgresstime = (tRecipe.mDuration * 2);
+/* 50: */ }
+/* 51: */ else
+/* 52: */ {
+/* 53: 45 */ this.mEUt = tRecipe.mEUt;
+/* 54: 46 */ this.mMaxProgresstime = (tRecipe.mDuration * 2);
+/* 55: */ }
+/* 56: 48 */ return 2;
+/* 57: */ }
+/* 58: 50 */ return 0;
+/* 59: */ }
+/* 60: */
+/* 61: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 62: */ {
+/* 63: 55 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 64: 56 */ if (aIndex == 1) {
+/* 65: 56 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(208)), 10, 1.0F, aX, aY, aZ);
+/* 66: */ }
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public void startProcess()
+/* 70: */ {
+/* 71: 61 */ sendLoopStart((byte)1);
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 75: */ {
+/* 76: 66 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_ALLOY_SMELTER_ACTIVE) };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 80: */ {
+/* 81: 71 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_ALLOY_SMELTER) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 85: */ {
+/* 86: 76 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_ALLOY_SMELTER_ACTIVE) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 90: */ {
+/* 91: 81 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_ALLOY_SMELTER) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 95: */ {
+/* 96: 86 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_ALLOY_SMELTER_ACTIVE) };
+/* 97: */ }
+/* 98: */
+/* 99: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 100: */ {
+/* 101: 91 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_ALLOY_SMELTER) };
+/* 102: */ }
+/* 103: */
+/* 104: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* 105: */ {
+/* 106: 96 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER_ACTIVE) };
+/* 107: */ }
+/* 108: */
+/* 109: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* 110: */ {
+/* 111:101 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER) };
+/* 112: */ }
+/* 113: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_AlloySmelter_Bronze
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Steel.java
new file mode 100644
index 0000000..9d44c8b
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Steel.java
@@ -0,0 +1,130 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_Recipe;
+/* 13: */ import gregtech.api.util.GT_Utility;
+/* 15: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_AlloySmelter_Steel
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Steel
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_AlloySmelter_Steel(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22: 19 */ super(aID, aName, aNameRegional, "Combination Smelter", 2, 1, true);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_AlloySmelter_Steel(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27: 23 */ super(aName, aDescription, aTextures, 2, 1, true);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 31: */ {
+/* 32: 28 */ return new GT_MetaTileEntity_AlloySmelter_Steel(this.mName, this.mDescription, this.mTextures);
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 36: */ {
+/* 37: 33 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelAlloySmelter.png", GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes.mUnlocalizedName);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42: 38 */ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[2], null, getAllInputs());
+/* 43: 39 */ if ((tRecipe != null) && (canOutput(tRecipe.mOutputs)) && (tRecipe.isRecipeInputEqual(true, null, getAllInputs())))
+/* 44: */ {
+/* 45: 40 */ this.mOutputItems[0] = tRecipe.getOutput(0);
+/* 46: 41 */ if (tRecipe.mEUt <= 16)
+/* 47: */ {
+/* 48: 42 */ this.mEUt = (tRecipe.mEUt * 3);
+/* 49: 43 */ this.mMaxProgresstime = tRecipe.mDuration;
+/* 50: */ }
+/* 51: */ else
+/* 52: */ {
+/* 53: 45 */ this.mEUt = (tRecipe.mEUt * 3);
+/* 54: 46 */ this.mMaxProgresstime = tRecipe.mDuration;
+/* 55: */ }
+/* 56: 48 */ return 2;
+/* 57: */ }
+/* 58: 50 */ return 0;
+/* 59: */ }
+/* 60: */
+/* 61: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 62: */ {
+/* 63: 55 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 64: 56 */ if (aIndex == 1) {
+/* 65: 56 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(208)), 10, 1.0F, aX, aY, aZ);
+/* 66: */ }
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public void startProcess()
+/* 70: */ {
+/* 71: 61 */ sendLoopStart((byte)1);
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 75: */ {
+/* 76: 66 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_ALLOY_SMELTER_ACTIVE) };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 80: */ {
+/* 81: 71 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_ALLOY_SMELTER) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 85: */ {
+/* 86: 76 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_ALLOY_SMELTER_ACTIVE) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 90: */ {
+/* 91: 81 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_ALLOY_SMELTER) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 95: */ {
+/* 96: 86 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_ALLOY_SMELTER_ACTIVE) };
+/* 97: */ }
+/* 98: */
+/* 99: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 100: */ {
+/* 101: 91 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_ALLOY_SMELTER) };
+/* 102: */ }
+/* 103: */
+/* 104: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* 105: */ {
+/* 106: 96 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER_ACTIVE) };
+/* 107: */ }
+/* 108: */
+/* 109: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* 110: */ {
+/* 111:101 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_ALLOY_SMELTER) };
+/* 112: */ }
+/* 113: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_AlloySmelter_Steel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java
new file mode 100644
index 0000000..a728fd9
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java
@@ -0,0 +1,128 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+/* 12: */ import gregtech.api.util.GT_Utility;
+/* 14: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_Compressor_Bronze
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Bronze
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_Compressor_Bronze(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22:18 */ super(aID, aName, aNameRegional, "Compressing Items", 1, 1, false);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_Compressor_Bronze(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27:22 */ super(aName, aDescription, aTextures, 1, 1, false);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 31: */ {
+/* 32:27 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeCompressor.png", "ic2.compressor");
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 36: */ {
+/* 37:32 */ return new GT_MetaTileEntity_Compressor_Bronze(this.mName, this.mDescription, this.mTextures);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42:37 */ if (null != (this.mOutputItems[0] = GT_ModHandler.getCompressorOutput(getInputAt(0), true, getOutputAt(0))))
+/* 43: */ {
+/* 44:38 */ this.mEUt = 2;
+/* 45:39 */ this.mMaxProgresstime = 800;
+/* 46:40 */ return 2;
+/* 47: */ }
+/* 48:42 */ return 0;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 52: */ {
+ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {return false;}
+/* 54:47 */ return GT_ModHandler.getCompressorOutput(GT_Utility.copyAmount(64L, new Object[] { aStack }), false, null) != null;
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 58: */ {
+/* 59:52 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 60:53 */ if (aIndex == 1) {
+/* 61:53 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(203)), 10, 1.0F, aX, aY, aZ);
+/* 62: */ }
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public void startProcess()
+/* 66: */ {
+/* 67:58 */ sendLoopStart((byte)1);
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 71: */ {
+/* 72:63 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_COMPRESSOR_ACTIVE) };
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 76: */ {
+/* 77:68 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_COMPRESSOR) };
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 81: */ {
+/* 82:73 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_COMPRESSOR_ACTIVE) };
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 86: */ {
+/* 87:78 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_COMPRESSOR) };
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 91: */ {
+/* 92:83 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_COMPRESSOR_ACTIVE) };
+/* 93: */ }
+/* 94: */
+/* 95: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 96: */ {
+/* 97:88 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_COMPRESSOR) };
+/* 98: */ }
+/* 99: */
+/* :0: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* :1: */ {
+/* :2:93 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_COMPRESSOR_ACTIVE) };
+/* :3: */ }
+/* :4: */
+/* :5: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* :6: */ {
+/* :7:98 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_COMPRESSOR) };
+/* :8: */ }
+/* :9: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_Compressor_Bronze
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java
new file mode 100644
index 0000000..00cf439
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java
@@ -0,0 +1,128 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+/* 12: */ import gregtech.api.util.GT_Utility;
+/* 14: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_Compressor_Steel
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Steel
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_Compressor_Steel(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22:18 */ super(aID, aName, aNameRegional, "Compressing Items", 1, 1, false);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_Compressor_Steel(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27:22 */ super(aName, aDescription, aTextures, 1, 1, false);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 31: */ {
+/* 32:27 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelCompressor.png", "ic2.compressor");
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 36: */ {
+/* 37:32 */ return new GT_MetaTileEntity_Compressor_Steel(this.mName, this.mDescription, this.mTextures);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42:37 */ if (null != (this.mOutputItems[0] = GT_ModHandler.getCompressorOutput(getInputAt(0), true, getOutputAt(0))))
+/* 43: */ {
+/* 44:38 */ this.mEUt = 6;
+/* 45:39 */ this.mMaxProgresstime = 400;
+/* 46:40 */ return 2;
+/* 47: */ }
+/* 48:42 */ return 0;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 52: */ {
+ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {return false;}
+/* 54:47 */ return GT_ModHandler.getCompressorOutput(GT_Utility.copyAmount(64L, new Object[] { aStack }), false, null) != null;
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 58: */ {
+/* 59:52 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 60:53 */ if (aIndex == 1) {
+/* 61:53 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(203)), 10, 1.0F, aX, aY, aZ);
+/* 62: */ }
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public void startProcess()
+/* 66: */ {
+/* 67:58 */ sendLoopStart((byte)1);
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 71: */ {
+/* 72:63 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_COMPRESSOR_ACTIVE) };
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 76: */ {
+/* 77:68 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_COMPRESSOR) };
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 81: */ {
+/* 82:73 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_COMPRESSOR_ACTIVE) };
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 86: */ {
+/* 87:78 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_COMPRESSOR) };
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 91: */ {
+/* 92:83 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_COMPRESSOR_ACTIVE) };
+/* 93: */ }
+/* 94: */
+/* 95: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 96: */ {
+/* 97:88 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_COMPRESSOR) };
+/* 98: */ }
+/* 99: */
+/* :0: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* :1: */ {
+/* :2:93 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_COMPRESSOR_ACTIVE) };
+/* :3: */ }
+/* :4: */
+/* :5: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* :6: */ {
+/* :7:98 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_COMPRESSOR) };
+/* :8: */ }
+/* :9: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_Compressor_Steel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java
new file mode 100644
index 0000000..e74a25f
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java
@@ -0,0 +1,128 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+/* 12: */ import gregtech.api.util.GT_Utility;
+/* 14: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_Extractor_Bronze
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Bronze
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_Extractor_Bronze(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22:18 */ super(aID, aName, aNameRegional, "Extracting your first Rubber", 1, 1, false);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_Extractor_Bronze(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27:22 */ super(aName, aDescription, aTextures, 1, 1, false);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 31: */ {
+/* 32:27 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeExtractor.png", "ic2.extractor");
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 36: */ {
+/* 37:32 */ return new GT_MetaTileEntity_Extractor_Bronze(this.mName, this.mDescription, this.mTextures);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42:37 */ if (null != (this.mOutputItems[0] = GT_ModHandler.getExtractorOutput(getInputAt(0), true, getOutputAt(0))))
+/* 43: */ {
+/* 44:38 */ this.mEUt = 2;
+/* 45:39 */ this.mMaxProgresstime = 800;
+/* 46:40 */ return 2;
+/* 47: */ }
+/* 48:42 */ return 0;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 52: */ {
+ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {return false;}
+/* 54:47 */ return GT_ModHandler.getExtractorOutput(GT_Utility.copyAmount(64L, new Object[] { aStack }), false, null) != null;
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 58: */ {
+/* 59:52 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 60:53 */ if (aIndex == 1) {
+/* 61:53 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(200)), 10, 1.0F, aX, aY, aZ);
+/* 62: */ }
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public void startProcess()
+/* 66: */ {
+/* 67:58 */ sendLoopStart((byte)1);
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 71: */ {
+/* 72:63 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_EXTRACTOR_ACTIVE) };
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 76: */ {
+/* 77:68 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_EXTRACTOR) };
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 81: */ {
+/* 82:73 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_EXTRACTOR_ACTIVE) };
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 86: */ {
+/* 87:78 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_EXTRACTOR) };
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 91: */ {
+/* 92:83 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_EXTRACTOR_ACTIVE) };
+/* 93: */ }
+/* 94: */
+/* 95: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 96: */ {
+/* 97:88 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_EXTRACTOR) };
+/* 98: */ }
+/* 99: */
+/* :0: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* :1: */ {
+/* :2:93 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_EXTRACTOR_ACTIVE) };
+/* :3: */ }
+/* :4: */
+/* :5: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* :6: */ {
+/* :7:98 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_EXTRACTOR) };
+/* :8: */ }
+/* :9: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_Extractor_Bronze
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java
new file mode 100644
index 0000000..43272cf
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java
@@ -0,0 +1,128 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+/* 12: */ import gregtech.api.util.GT_Utility;
+/* 14: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_Extractor_Steel
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Steel
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_Extractor_Steel(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22:18 */ super(aID, aName, aNameRegional, "Extracting your first Rubber", 1, 1, false);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_Extractor_Steel(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27:22 */ super(aName, aDescription, aTextures, 1, 1, false);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 31: */ {
+/* 32:27 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelExtractor.png", "ic2.extractor");
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 36: */ {
+/* 37:32 */ return new GT_MetaTileEntity_Extractor_Steel(this.mName, this.mDescription, this.mTextures);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42:37 */ if (null != (this.mOutputItems[0] = GT_ModHandler.getExtractorOutput(getInputAt(0), true, getOutputAt(0))))
+/* 43: */ {
+/* 44:38 */ this.mEUt = 6;
+/* 45:39 */ this.mMaxProgresstime = 400;
+/* 46:40 */ return 2;
+/* 47: */ }
+/* 48:42 */ return 0;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 52: */ {
+ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {return false;}
+/* 54:47 */ return GT_ModHandler.getExtractorOutput(GT_Utility.copyAmount(64L, new Object[] { aStack }), false, null) != null;
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 58: */ {
+/* 59:52 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 60:53 */ if (aIndex == 1) {
+/* 61:53 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(200)), 10, 1.0F, aX, aY, aZ);
+/* 62: */ }
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public void startProcess()
+/* 66: */ {
+/* 67:58 */ sendLoopStart((byte)1);
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 71: */ {
+/* 72:63 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_EXTRACTOR_ACTIVE) };
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 76: */ {
+/* 77:68 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_EXTRACTOR) };
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 81: */ {
+/* 82:73 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_EXTRACTOR_ACTIVE) };
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 86: */ {
+/* 87:78 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_EXTRACTOR) };
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 91: */ {
+/* 92:83 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_EXTRACTOR_ACTIVE) };
+/* 93: */ }
+/* 94: */
+/* 95: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 96: */ {
+/* 97:88 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_EXTRACTOR) };
+/* 98: */ }
+/* 99: */
+/* :0: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* :1: */ {
+/* :2:93 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_EXTRACTOR_ACTIVE) };
+/* :3: */ }
+/* :4: */
+/* :5: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* :6: */ {
+/* :7:98 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_EXTRACTOR) };
+/* :8: */ }
+/* :9: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_Extractor_Steel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Bronze.java
new file mode 100644
index 0000000..58eba4c
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Bronze.java
@@ -0,0 +1,130 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_Recipe;
+/* 13: */ import gregtech.api.util.GT_Utility;
+/* 15: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_ForgeHammer_Bronze
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Bronze
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_ForgeHammer_Bronze(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22: 19 */ super(aID, aName, aNameRegional, "Forge Hammer", 1, 1, false);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_ForgeHammer_Bronze(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27: 23 */ super(aName, aDescription, aTextures, 1, 1, false);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 31: */ {
+/* 32: 28 */ return new GT_MetaTileEntity_ForgeHammer_Bronze(this.mName, this.mDescription, this.mTextures);
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 36: */ {
+/* 37: 33 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeHammer.png", GT_Recipe.GT_Recipe_Map.sHammerRecipes.mUnlocalizedName, (byte)6, (byte)3);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42: 38 */ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[1], null, getAllInputs());
+/* 43: 39 */ if ((tRecipe != null) && (canOutput(tRecipe.mOutputs)) && (tRecipe.isRecipeInputEqual(true, null, getAllInputs())))
+/* 44: */ {
+/* 45: 40 */ this.mOutputItems[0] = tRecipe.getOutput(0);
+/* 46: 41 */ if (tRecipe.mEUt <= 16)
+/* 47: */ {
+/* 48: 42 */ this.mEUt = tRecipe.mEUt;
+/* 49: 43 */ this.mMaxProgresstime = (tRecipe.mDuration * 2);
+/* 50: */ }
+/* 51: */ else
+/* 52: */ {
+/* 53: 45 */ this.mEUt = tRecipe.mEUt;
+/* 54: 46 */ this.mMaxProgresstime = (tRecipe.mDuration * 2);
+/* 55: */ }
+/* 56: 48 */ return 2;
+/* 57: */ }
+/* 58: 50 */ return 0;
+/* 59: */ }
+/* 60: */
+/* 61: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 62: */ {
+/* 63: 55 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 64: 56 */ if (aIndex == 1) {
+/* 65: 56 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(1)), 10, 1.0F, aX, aY, aZ);
+/* 66: */ }
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public void startProcess()
+/* 70: */ {
+/* 71: 61 */ sendLoopStart((byte)1);
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 75: */ {
+/* 76: 66 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_HAMMER_ACTIVE) };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 80: */ {
+/* 81: 71 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_HAMMER) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 85: */ {
+/* 86: 76 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_HAMMER_ACTIVE) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 90: */ {
+/* 91: 81 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_HAMMER) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 95: */ {
+/* 96: 86 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_HAMMER_ACTIVE) };
+/* 97: */ }
+/* 98: */
+/* 99: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 100: */ {
+/* 101: 91 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_HAMMER) };
+/* 102: */ }
+/* 103: */
+/* 104: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* 105: */ {
+/* 106: 96 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_HAMMER_ACTIVE) };
+/* 107: */ }
+/* 108: */
+/* 109: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* 110: */ {
+/* 111:101 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_HAMMER) };
+/* 112: */ }
+/* 113: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_ForgeHammer_Bronze
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Steel.java
new file mode 100644
index 0000000..8bd9ed7
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Steel.java
@@ -0,0 +1,130 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_Recipe;
+/* 13: */ import gregtech.api.util.GT_Utility;
+/* 15: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_ForgeHammer_Steel
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Steel
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_ForgeHammer_Steel(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22: 19 */ super(aID, aName, aNameRegional, "Forge Hammer", 1, 1, false);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_ForgeHammer_Steel(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27: 23 */ super(aName, aDescription, aTextures, 1, 1, false);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 31: */ {
+/* 32: 28 */ return new GT_MetaTileEntity_ForgeHammer_Steel(this.mName, this.mDescription, this.mTextures);
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 36: */ {
+/* 37: 33 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelHammer.png", GT_Recipe.GT_Recipe_Map.sHammerRecipes.mUnlocalizedName, (byte)6, (byte)3);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42: 38 */ GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[2], null, getAllInputs());
+/* 43: 39 */ if ((tRecipe != null) && (canOutput(tRecipe.mOutputs)) && (tRecipe.isRecipeInputEqual(true, null, getAllInputs())))
+/* 44: */ {
+/* 45: 40 */ this.mOutputItems[0] = tRecipe.getOutput(0);
+/* 46: 41 */ if (tRecipe.mEUt <= 16)
+/* 47: */ {
+/* 48: 42 */ this.mEUt = (tRecipe.mEUt * 3);
+/* 49: 43 */ this.mMaxProgresstime = tRecipe.mDuration;
+/* 50: */ }
+/* 51: */ else
+/* 52: */ {
+/* 53: 45 */ this.mEUt = (tRecipe.mEUt * 3);
+/* 54: 46 */ this.mMaxProgresstime = tRecipe.mDuration;
+/* 55: */ }
+/* 56: 48 */ return 2;
+/* 57: */ }
+/* 58: 50 */ return 0;
+/* 59: */ }
+/* 60: */
+/* 61: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 62: */ {
+/* 63: 55 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 64: 56 */ if (aIndex == 1) {
+/* 65: 56 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(1)), 10, 1.0F, aX, aY, aZ);
+/* 66: */ }
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public void startProcess()
+/* 70: */ {
+/* 71: 61 */ sendLoopStart((byte)1);
+/* 72: */ }
+/* 73: */
+/* 74: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 75: */ {
+/* 76: 66 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_HAMMER_ACTIVE) };
+/* 77: */ }
+/* 78: */
+/* 79: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 80: */ {
+/* 81: 71 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_HAMMER) };
+/* 82: */ }
+/* 83: */
+/* 84: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 85: */ {
+/* 86: 76 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_HAMMER_ACTIVE) };
+/* 87: */ }
+/* 88: */
+/* 89: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 90: */ {
+/* 91: 81 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_HAMMER) };
+/* 92: */ }
+/* 93: */
+/* 94: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 95: */ {
+/* 96: 86 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_HAMMER_ACTIVE) };
+/* 97: */ }
+/* 98: */
+/* 99: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 100: */ {
+/* 101: 91 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_HAMMER) };
+/* 102: */ }
+/* 103: */
+/* 104: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* 105: */ {
+/* 106: 96 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_HAMMER_ACTIVE) };
+/* 107: */ }
+/* 108: */
+/* 109: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* 110: */ {
+/* 111:101 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_HAMMER) };
+/* 112: */ }
+/* 113: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_ForgeHammer_Steel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java
new file mode 100644
index 0000000..d961830
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java
@@ -0,0 +1,128 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+/* 12: */ import gregtech.api.util.GT_Utility;
+/* 14: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_Furnace_Bronze
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Bronze
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_Furnace_Bronze(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22:18 */ super(aID, aName, aNameRegional, "Smelting things with compressed Steam", 1, 1, true);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_Furnace_Bronze(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27:22 */ super(aName, aDescription, aTextures, 1, 1, true);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 31: */ {
+/* 32:27 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeFurnace.png", "smelting");
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 36: */ {
+/* 37:32 */ return new GT_MetaTileEntity_Furnace_Bronze(this.mName, this.mDescription, this.mTextures);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42:37 */ if (null != (this.mOutputItems[0] = GT_ModHandler.getSmeltingOutput(getInputAt(0), true, getOutputAt(0))))
+/* 43: */ {
+/* 44:38 */ this.mEUt = 4;
+/* 45:39 */ this.mMaxProgresstime = 256;
+/* 46:40 */ return 2;
+/* 47: */ }
+/* 48:42 */ return 0;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 52: */ {
+ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {return false;}
+/* 54:47 */ return GT_ModHandler.getSmeltingOutput(GT_Utility.copyAmount(64L, new Object[] { aStack }), false, null) != null;
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 58: */ {
+/* 59:52 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 60:53 */ if (aIndex == 1) {
+/* 61:53 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(207)), 10, 1.0F, aX, aY, aZ);
+/* 62: */ }
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public void startProcess()
+/* 66: */ {
+/* 67:58 */ sendLoopStart((byte)1);
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 71: */ {
+/* 72:63 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE_ACTIVE) };
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 76: */ {
+/* 77:68 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE) };
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 81: */ {
+/* 82:73 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE_ACTIVE) };
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 86: */ {
+/* 87:78 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE) };
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 91: */ {
+/* 92:83 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE_ACTIVE) };
+/* 93: */ }
+/* 94: */
+/* 95: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 96: */ {
+/* 97:88 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE) };
+/* 98: */ }
+/* 99: */
+/* :0: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* :1: */ {
+/* :2:93 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE) };
+/* :3: */ }
+/* :4: */
+/* :5: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* :6: */ {
+/* :7:98 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE) };
+/* :8: */ }
+/* :9: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_Furnace_Bronze
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java
new file mode 100644
index 0000000..c286c19
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java
@@ -0,0 +1,128 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+/* 12: */ import gregtech.api.util.GT_Utility;
+/* 14: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */
+/* 17: */ public class GT_MetaTileEntity_Furnace_Steel
+/* 18: */ extends GT_MetaTileEntity_BasicMachine_Steel
+/* 19: */ {
+/* 20: */ public GT_MetaTileEntity_Furnace_Steel(int aID, String aName, String aNameRegional)
+/* 21: */ {
+/* 22:18 */ super(aID, aName, aNameRegional, "Smelting things with compressed Steam", 1, 1, true);
+/* 23: */ }
+/* 24: */
+/* 25: */ public GT_MetaTileEntity_Furnace_Steel(String aName, String aDescription, ITexture[][][] aTextures)
+/* 26: */ {
+/* 27:22 */ super(aName, aDescription, aTextures, 1, 1, true);
+/* 28: */ }
+/* 29: */
+/* 30: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 31: */ {
+/* 32:27 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelFurnace.png", "smelting");
+/* 33: */ }
+/* 34: */
+/* 35: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 36: */ {
+/* 37:32 */ return new GT_MetaTileEntity_Furnace_Steel(this.mName, this.mDescription, this.mTextures);
+/* 38: */ }
+/* 39: */
+/* 40: */ @Override
+public int checkRecipe()
+/* 41: */ {
+/* 42:37 */ if (null != (this.mOutputItems[0] = GT_ModHandler.getSmeltingOutput(getInputAt(0), true, getOutputAt(0))))
+/* 43: */ {
+/* 44:38 */ this.mEUt = 12;
+/* 45:39 */ this.mMaxProgresstime = 128;
+/* 46:40 */ return 2;
+/* 47: */ }
+/* 48:42 */ return 0;
+/* 49: */ }
+/* 50: */
+/* 51: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 52: */ {
+ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {return false;}
+/* 54:47 */ return GT_ModHandler.getSmeltingOutput(GT_Utility.copyAmount(64L, new Object[] { aStack }), false, null) != null;
+/* 55: */ }
+/* 56: */
+/* 57: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 58: */ {
+/* 59:52 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 60:53 */ if (aIndex == 1) {
+/* 61:53 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(207)), 10, 1.0F, aX, aY, aZ);
+/* 62: */ }
+/* 63: */ }
+/* 64: */
+/* 65: */ @Override
+public void startProcess()
+/* 66: */ {
+/* 67:58 */ sendLoopStart((byte)1);
+/* 68: */ }
+/* 69: */
+/* 70: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 71: */ {
+/* 72:63 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE_ACTIVE) };
+/* 73: */ }
+/* 74: */
+/* 75: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 76: */ {
+/* 77:68 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE) };
+/* 78: */ }
+/* 79: */
+/* 80: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 81: */ {
+/* 82:73 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE_ACTIVE) };
+/* 83: */ }
+/* 84: */
+/* 85: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 86: */ {
+/* 87:78 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE) };
+/* 88: */ }
+/* 89: */
+/* 90: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 91: */ {
+/* 92:83 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE_ACTIVE) };
+/* 93: */ }
+/* 94: */
+/* 95: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 96: */ {
+/* 97:88 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE) };
+/* 98: */ }
+/* 99: */
+/* :0: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* :1: */ {
+/* :2:93 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE) };
+/* :3: */ }
+/* :4: */
+/* :5: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* :6: */ {
+/* :7:98 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE) };
+/* :8: */ }
+/* :9: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_Furnace_Steel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
new file mode 100644
index 0000000..d2e7772
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
@@ -0,0 +1,135 @@
+package gregtech.common.tileentities.machines.steam;
+
+import java.util.Random;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
+public class GT_MetaTileEntity_Macerator_Bronze
+ extends GT_MetaTileEntity_BasicMachine_Bronze
+{
+ public GT_MetaTileEntity_Macerator_Bronze(int aID, String aName, String aNameRegional)
+ {
+ super(aID, aName, aNameRegional, "Macerating your Ores", 1, 1, false);
+ }
+
+ public GT_MetaTileEntity_Macerator_Bronze(String aName, String aDescription, ITexture[][][] aTextures)
+ {
+ super(aName, aDescription, aTextures, 1, 1, false);
+ }
+
+ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+ {
+ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "BronzeMacerator.png", "ic2.macerator");
+ }
+
+ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+ {
+ return new GT_MetaTileEntity_Macerator_Bronze(this.mName, this.mDescription, this.mTextures);
+ }
+
+ @Override
+public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick)
+ {
+ super.onPreTick(aBaseMetaTileEntity, aTick);
+ if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive()) && (aBaseMetaTileEntity.getFrontFacing() != 1) && (aBaseMetaTileEntity.getCoverIDAtSide((byte)1) == 0) && (!aBaseMetaTileEntity.getOpacityAtSide((byte)1)))
+ {
+ Random tRandom = aBaseMetaTileEntity.getWorld().rand;
+ aBaseMetaTileEntity.getWorld().spawnParticle("smoke", aBaseMetaTileEntity.getXCoord() + 0.8F - tRandom.nextFloat() * 0.6F, aBaseMetaTileEntity.getYCoord() + 0.9F + tRandom.nextFloat() * 0.2F, aBaseMetaTileEntity.getZCoord() + 0.8F - tRandom.nextFloat() * 0.6F, 0.0D, 0.0D, 0.0D);
+ }
+ }
+
+ @Override
+public int checkRecipe()
+ {
+ if (null != (this.mOutputItems[0] = GT_ModHandler.getMaceratorOutput(getInputAt(0), true, getOutputAt(0))))
+ {
+ this.mEUt = 2;
+ this.mMaxProgresstime = 800;
+ return 2;
+ }
+ return 0;
+ }
+
+ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+ {
+ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {return false;}
+ return GT_ModHandler.getMaceratorOutput(GT_Utility.copyAmount(64L, new Object[] { aStack }), false, null) != null;
+ }
+
+ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+ {
+ super.startSoundLoop(aIndex, aX, aY, aZ);
+ if (aIndex == 1) {
+ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(201)), 10, 1.0F, aX, aY, aZ);
+ }
+ }
+
+ @Override
+public void startProcess()
+ {
+ sendLoopStart((byte)1);
+ }
+
+ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+ {
+ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_MACERATOR_ACTIVE) };
+ }
+
+ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+ {
+ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_MACERATOR) };
+ }
+
+ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+ {
+ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_MACERATOR_ACTIVE) };
+ }
+
+ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+ {
+ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_MACERATOR) };
+ }
+
+ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+ {
+ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_MACERATOR_ACTIVE) };
+ }
+
+ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+ {
+ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_MACERATOR) };
+ }
+
+ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+ {
+ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_MACERATOR_ACTIVE) };
+ }
+
+ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+ {
+ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_MACERATOR) };
+ }
+}
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
new file mode 100644
index 0000000..427a40c
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
@@ -0,0 +1,141 @@
+/* 1: */ package gregtech.common.tileentities.machines.steam;
+/* 14: */ import java.util.Random;
+
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.gui.GT_GUIContainer_BasicMachine;
+/* 6: */ import gregtech.api.interfaces.ITexture;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.MetaTileEntity;
+/* 9: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_ModHandler;
+/* 12: */ import gregtech.api.util.GT_Utility;
+/* 15: */ import net.minecraft.entity.player.InventoryPlayer;
+/* 16: */ import net.minecraft.item.ItemStack;
+/* 18: */
+/* 19: */ public class GT_MetaTileEntity_Macerator_Steel
+/* 20: */ extends GT_MetaTileEntity_BasicMachine_Steel
+/* 21: */ {
+/* 22: */ public GT_MetaTileEntity_Macerator_Steel(int aID, String aName, String aNameRegional)
+/* 23: */ {
+/* 24: 21 */ super(aID, aName, aNameRegional, "Macerating your Ores", 1, 1, false);
+/* 25: */ }
+/* 26: */
+/* 27: */ public GT_MetaTileEntity_Macerator_Steel(String aName, String aDescription, ITexture[][][] aTextures)
+/* 28: */ {
+/* 29: 25 */ super(aName, aDescription, aTextures, 1, 1, false);
+/* 30: */ }
+/* 31: */
+/* 32: */ @Override
+public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+/* 33: */ {
+/* 34: 30 */ return new GT_GUIContainer_BasicMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "SteelMacerator.png", "ic2.macerator");
+/* 35: */ }
+/* 36: */
+/* 37: */ @Override
+public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 38: */ {
+/* 39: 35 */ return new GT_MetaTileEntity_Macerator_Steel(this.mName, this.mDescription, this.mTextures);
+/* 40: */ }
+/* 41: */
+/* 42: */ @Override
+public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick)
+/* 43: */ {
+/* 44: 40 */ super.onPreTick(aBaseMetaTileEntity, aTick);
+/* 45: 41 */ if ((aBaseMetaTileEntity.isClientSide()) && (aBaseMetaTileEntity.isActive()) && (aBaseMetaTileEntity.getFrontFacing() != 1) && (aBaseMetaTileEntity.getCoverIDAtSide((byte)1) == 0) && (!aBaseMetaTileEntity.getOpacityAtSide((byte)1)))
+/* 46: */ {
+/* 47: 42 */ Random tRandom = aBaseMetaTileEntity.getWorld().rand;
+/* 48: 43 */ aBaseMetaTileEntity.getWorld().spawnParticle("smoke", aBaseMetaTileEntity.getXCoord() + 0.8F - tRandom.nextFloat() * 0.6F, aBaseMetaTileEntity.getYCoord() + 0.9F + tRandom.nextFloat() * 0.2F, aBaseMetaTileEntity.getZCoord() + 0.8F - tRandom.nextFloat() * 0.6F, 0.0D, 0.0D, 0.0D);
+/* 49: */ }
+/* 50: */ }
+/* 51: */
+/* 52: */ @Override
+public int checkRecipe()
+/* 53: */ {
+/* 54: 49 */ if (null != (this.mOutputItems[0] = GT_ModHandler.getMaceratorOutput(getInputAt(0), true, getOutputAt(0))))
+/* 55: */ {
+/* 56: 50 */ this.mEUt = 6;
+/* 57: 51 */ this.mMaxProgresstime = 400;
+/* 58: 52 */ return 2;
+/* 59: */ }
+/* 60: 54 */ return 0;
+/* 61: */ }
+/* 62: */
+/* 63: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 64: */ {
+ if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) {return false;}
+/* 66: 59 */ return GT_ModHandler.getMaceratorOutput(GT_Utility.copyAmount(64L, new Object[] { aStack }), false, null) != null;
+/* 67: */ }
+/* 68: */
+/* 69: */ @Override
+public void startSoundLoop(byte aIndex, double aX, double aY, double aZ)
+/* 70: */ {
+/* 71: 64 */ super.startSoundLoop(aIndex, aX, aY, aZ);
+/* 72: 65 */ if (aIndex == 1) {
+/* 73: 65 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(201)), 10, 1.0F, aX, aY, aZ);
+/* 74: */ }
+/* 75: */ }
+/* 76: */
+/* 77: */ @Override
+public void startProcess()
+/* 78: */ {
+/* 79: 70 */ sendLoopStart((byte)1);
+/* 80: */ }
+/* 81: */
+/* 82: */ @Override
+public ITexture[] getSideFacingActive(byte aColor)
+/* 83: */ {
+/* 84: 75 */ return new ITexture[] { super.getSideFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_MACERATOR_ACTIVE) };
+/* 85: */ }
+/* 86: */
+/* 87: */ @Override
+public ITexture[] getSideFacingInactive(byte aColor)
+/* 88: */ {
+/* 89: 80 */ return new ITexture[] { super.getSideFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SIDE_STEAM_MACERATOR) };
+/* 90: */ }
+/* 91: */
+/* 92: */ @Override
+public ITexture[] getFrontFacingActive(byte aColor)
+/* 93: */ {
+/* 94: 85 */ return new ITexture[] { super.getFrontFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_MACERATOR_ACTIVE) };
+/* 95: */ }
+/* 96: */
+/* 97: */ @Override
+public ITexture[] getFrontFacingInactive(byte aColor)
+/* 98: */ {
+/* 99: 90 */ return new ITexture[] { super.getFrontFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_MACERATOR) };
+/* 100: */ }
+/* 101: */
+/* 102: */ @Override
+public ITexture[] getTopFacingActive(byte aColor)
+/* 103: */ {
+/* 104: 95 */ return new ITexture[] { super.getTopFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_MACERATOR_ACTIVE) };
+/* 105: */ }
+/* 106: */
+/* 107: */ @Override
+public ITexture[] getTopFacingInactive(byte aColor)
+/* 108: */ {
+/* 109:100 */ return new ITexture[] { super.getTopFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_MACERATOR) };
+/* 110: */ }
+/* 111: */
+/* 112: */ @Override
+public ITexture[] getBottomFacingActive(byte aColor)
+/* 113: */ {
+/* 114:105 */ return new ITexture[] { super.getBottomFacingActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_MACERATOR_ACTIVE) };
+/* 115: */ }
+/* 116: */
+/* 117: */ @Override
+public ITexture[] getBottomFacingInactive(byte aColor)
+/* 118: */ {
+/* 119:110 */ return new ITexture[] { super.getBottomFacingInactive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_MACERATOR) };
+/* 120: */ }
+/* 121: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.machines.steam.GT_MetaTileEntity_Macerator_Steel
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_Locker.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_Locker.java
new file mode 100644
index 0000000..9cc60ce
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_Locker.java
@@ -0,0 +1,225 @@
+/* 1: */ package gregtech.common.tileentities.storage;
+/* 2: */
+/* 3: */ import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+/* 5: */ import gregtech.api.interfaces.ITexture;
+/* 6: */ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+/* 7: */ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+/* 8: */ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
+/* 9: */ import gregtech.api.objects.GT_ItemStack;
+/* 10: */ import gregtech.api.objects.GT_RenderedTexture;
+/* 11: */ import gregtech.api.util.GT_Utility;
+/* 13: */ import net.minecraft.entity.player.EntityPlayer;
+/* 15: */ import net.minecraft.item.ItemStack;
+/* 16: */ import net.minecraft.nbt.NBTTagCompound;
+/* 17: */
+/* 18: */ public class GT_MetaTileEntity_Locker
+/* 19: */ extends GT_MetaTileEntity_TieredMachineBlock
+/* 20: */ {
+/* 21: 24 */ public byte mType = 0;
+/* 22: */
+/* 23: */ public GT_MetaTileEntity_Locker(int aID, String aName, String aNameRegional, int aTier)
+/* 24: */ {
+/* 25: 27 */ super(aID, aName, aNameRegional, aTier, 4, "Stores and recharges Armor", new ITexture[0]);
+/* 26: */ }
+/* 27: */
+/* 28: */ public GT_MetaTileEntity_Locker(String aName, int aTier, String aDescription, ITexture[][][] aTextures)
+/* 29: */ {
+/* 30: 31 */ super(aName, aTier, 4, aDescription, aTextures);
+/* 31: */ }
+/* 32: */
+/* 33: */ @Override
+public String[] getDescription()
+/* 34: */ {
+/* 35: 36 */ return new String[] { this.mDescription, "Click with Screwdriver to change Style" };
+/* 36: */ }
+/* 37: */
+/* 38: */ @Override
+public ITexture[][][] getTextureSet(ITexture[] aTextures)
+/* 39: */ {
+/* 40: 41 */ ITexture[][][] rTextures = new ITexture[3][17][];
+/* 41: 42 */ for (byte i = -1; i < 16; i = (byte)(i + 1))
+/* 42: */ {ITexture[] tmp0 ={ Textures.BlockIcons.MACHINE_CASINGS[this.mTier][(i + 1)] };
+/* 43: 43 */ rTextures[0][(i + 1)] = tmp0;
+/* 44: 44 */ ITexture[] tmp1 ={ Textures.BlockIcons.MACHINE_CASINGS[this.mTier][(i + 1)], Textures.BlockIcons.OVERLAYS_ENERGY_IN[this.mTier] };
+rTextures[1][(i + 1)] = tmp1;
+/* 45: 45 */ ITexture[] tmp2 = { Textures.BlockIcons.MACHINE_CASINGS[this.mTier][(i + 1)], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_LOCKER) };
+rTextures[2][(i + 1)] =tmp2;
+/* 46: */ }
+/* 47: 47 */ return rTextures;
+/* 48: */ }
+/* 49: */
+/* 50: */ @Override
+public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone)
+/* 51: */ {
+/* 52: 52 */ if (aSide == aFacing) {
+/* 53: 52 */ return new ITexture[] { this.mTextures[2][(aColorIndex + 1)][0], this.mTextures[2][(aColorIndex + 1)][1], Textures.BlockIcons.LOCKERS[java.lang.Math.abs(this.mType % Textures.BlockIcons.LOCKERS.length)] };
+/* 54: */ }
+/* 55: 53 */ return this.mTextures[0][(aColorIndex + 1)];
+/* 56: */ }
+/* 57: */
+/* 58: */ @Override
+public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+/* 59: */ {
+/* 60: 58 */ return new GT_MetaTileEntity_Locker(this.mName, this.mTier, this.mDescription, this.mTextures);
+/* 61: */ }
+/* 62: */
+/* 63: */ @Override
+public boolean isSimpleMachine()
+/* 64: */ {
+/* 65: 61 */ return false;
+/* 66: */ }
+/* 67: */
+/* 68: */ @Override
+public boolean isElectric()
+/* 69: */ {
+/* 70: 62 */ return true;
+/* 71: */ }
+/* 72: */
+/* 73: */ @Override
+public boolean isValidSlot(int aIndex)
+/* 74: */ {
+/* 75: 63 */ return true;
+/* 76: */ }
+/* 77: */
+/* 78: */ @Override
+public boolean isFacingValid(byte aFacing)
+/* 79: */ {
+/* 80: 64 */ return aFacing > 1;
+/* 81: */ }
+/* 82: */
+/* 83: */ @Override
+public boolean isEnetInput()
+/* 84: */ {
+/* 85: 65 */ return true;
+/* 86: */ }
+/* 87: */
+/* 88: */ @Override
+public boolean isInputFacing(byte aSide)
+/* 89: */ {
+/* 90: 66 */ return aSide == getBaseMetaTileEntity().getBackFacing();
+/* 91: */ }
+/* 92: */
+/* 93: */ @Override
+public boolean isTeleporterCompatible()
+/* 94: */ {
+/* 95: 67 */ return false;
+/* 96: */ }
+/* 97: */
+/* 98: */ @Override
+public long maxEUStore()
+/* 99: */ {
+/* 100: 68 */ return gregtech.api.enums.GT_Values.V[this.mTier] * maxAmperesIn();
+/* 101: */ }
+/* 102: */
+/* 103: */ @Override
+public long maxEUInput()
+/* 104: */ {
+/* 105: 69 */ return gregtech.api.enums.GT_Values.V[this.mTier];
+/* 106: */ }
+/* 107: */
+/* 108: */ @Override
+public long maxAmperesIn()
+/* 109: */ {
+/* 110: 70 */ return this.mInventory.length * 2;
+/* 111: */ }
+/* 112: */
+/* 113: */ @Override
+public int rechargerSlotStartIndex()
+/* 114: */ {
+/* 115: 71 */ return 0;
+/* 116: */ }
+/* 117: */
+/* 118: */ @Override
+public int rechargerSlotCount()
+/* 119: */ {
+/* 120: 72 */ return getBaseMetaTileEntity().isAllowedToWork() ? this.mInventory.length : 0;
+/* 121: */ }
+/* 122: */
+/* 123: */ @Override
+public boolean isAccessAllowed(EntityPlayer aPlayer)
+/* 124: */ {
+/* 125: 73 */ return true;
+/* 126: */ }
+/* 127: */
+/* 128: */ @Override
+public void saveNBTData(NBTTagCompound aNBT)
+/* 129: */ {
+/* 130: 77 */ aNBT.setByte("mType", this.mType);
+/* 131: */ }
+/* 132: */
+/* 133: */ @Override
+public void loadNBTData(NBTTagCompound aNBT)
+/* 134: */ {
+/* 135: 82 */ this.mType = aNBT.getByte("mType");
+/* 136: */ }
+/* 137: */
+/* 138: */ @Override
+public void onValueUpdate(byte aValue)
+/* 139: */ {
+/* 140: 87 */ this.mType = aValue;
+/* 141: */ }
+/* 142: */
+/* 143: */ @Override
+public byte getUpdateData()
+/* 144: */ {
+/* 145: 92 */ return this.mType;
+/* 146: */ }
+/* 147: */
+/* 148: */ @Override
+public void doSound(byte aIndex, double aX, double aY, double aZ)
+/* 149: */ {
+/* 150: 97 */ if (aIndex == 16) {
+/* 151: 97 */ GT_Utility.doSoundAtClient(GregTech_API.sSoundList.get(Integer.valueOf(3)), 1, 1.0F);
+/* 152: */ }
+/* 153: */ }
+/* 154: */
+/* 155: */ @Override
+public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ)
+/* 156: */ {
+/* 157:102 */ if (aSide == getBaseMetaTileEntity().getFrontFacing()) {
+/* 158:102 */ this.mType = ((byte)(this.mType + 1));
+/* 159: */ }
+/* 160: */ }
+/* 161: */
+/* 162: */ @Override
+public boolean allowCoverOnSide(byte aSide, GT_ItemStack aStack)
+/* 163: */ {
+/* 164:107 */ return aSide != getBaseMetaTileEntity().getFrontFacing();
+/* 165: */ }
+/* 166: */
+/* 167: */ @Override
+public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, byte aSide, float aX, float aY, float aZ)
+/* 168: */ {
+/* 169:112 */ if ((aBaseMetaTileEntity.isServerSide()) && (aSide == aBaseMetaTileEntity.getFrontFacing()))
+/* 170: */ {
+/* 171:113 */ for (int i = 0; i < 4; i++)
+/* 172: */ {
+/* 173:114 */ ItemStack tSwapStack = this.mInventory[i];
+/* 174:115 */ this.mInventory[i] = aPlayer.inventory.armorInventory[i];
+/* 175:116 */ aPlayer.inventory.armorInventory[i] = tSwapStack;
+/* 176: */ }
+/* 177:118 */ aPlayer.inventoryContainer.detectAndSendChanges();
+/* 178:119 */ sendSound((byte)16);
+/* 179: */ }
+/* 180:121 */ return true;
+/* 181: */ }
+/* 182: */
+/* 183: */ @Override
+public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 184: */ {
+/* 185:126 */ return false;
+/* 186: */ }
+/* 187: */
+/* 188: */ @Override
+public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack)
+/* 189: */ {
+/* 190:131 */ return false;
+/* 191: */ }
+/* 192: */ }
+
+
+/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
+ * Qualified Name: gregtech.common.tileentities.storage.GT_MetaTileEntity_Locker
+ * JD-Core Version: 0.7.0.1
+ */ \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
new file mode 100644
index 0000000..18a9bd3
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java
@@ -0,0 +1,202 @@
+package gregtech.common.tileentities.storage;
+
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.gui.GT_Container_QuantumChest;
+import gregtech.common.gui.GT_GUIContainer_QuantumChest;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_TieredMachineBlock {
+ public GT_MetaTileEntity_QuantumChest(int aID, String aName, String aNameRegional, int aTier) {
+ super(aID, aName, aNameRegional, aTier, 3, "This Chest stores "+((int)((Math.pow(6, aTier))*270000))+" Blocks");
+ }
+
+
+ public int mItemCount = 0;
+ public ItemStack mItemStack = null;
+
+ public GT_MetaTileEntity_QuantumChest(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, 3, aDescription, aTextures);
+ }
+
+ @Override public boolean isSimpleMachine() {return true;}
+ @Override public boolean isFacingValid(byte aFacing) {return true;}
+ @Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
+ @Override public boolean isValidSlot(int aIndex) {return true;}
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_QuantumChest(mName, mTier, mDescription, mTextures);
+ }
+
+ @Override
+ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
+ if (aBaseMetaTileEntity.isClientSide()) return true;
+ aBaseMetaTileEntity.openGUI(aPlayer);
+ return true;
+ }
+
+// public void onRightclick(EntityPlayer aPlayer)
+// {
+// ItemStack tPlayerItem = aPlayer.inventory.getCurrentItem();
+// if (tPlayerItem == null)
+// {
+// if (this.mItemID > 0)
+// {
+// for (int i = 0; (this.mItemCount < getMaxItemCount()) && (i < aPlayer.field_71071_by.func_70302_i_()); i++)
+// {
+// if ((aPlayer.field_71071_by.func_70301_a(i) != null) && (aPlayer.field_71071_by.func_70301_a(i).field_77993_c == this.mItemID) && (aPlayer.field_71071_by.func_70301_a(i).func_77960_j() == this.mItemMeta) && (!aPlayer.field_71071_by.func_70301_a(i).func_77942_o()))
+// {
+// this.mItemCount += aPlayer.field_71071_by.func_70301_a(i).field_77994_a;
+// if (aPlayer.field_71071_by.func_70301_a(i).field_77994_a == 111)
+// {
+// this.mItemCount = (getMaxItemCount() + 192 - (this.mItemCount + (this.mInventory[0] == null ? 0 : this.mInventory[0].field_77994_a) + (this.mInventory[1] == null ? 0 : this.mInventory[1].field_77994_a) + (this.mInventory[2] == null ? 0 : this.mInventory[2].field_77994_a)));
+// }
+// else if (this.mItemCount > getMaxItemCount())
+// {
+// aPlayer.field_71071_by.func_70301_a(i).field_77994_a = (this.mItemCount - getMaxItemCount());
+// this.mItemCount = getMaxItemCount();
+// }
+// else
+// {
+// aPlayer.field_71071_by.func_70301_a(i).field_77994_a = 0;
+// }
+// }
+// if ((aPlayer.field_71071_by.func_70301_a(i) != null) && (aPlayer.field_71071_by.func_70301_a(i).field_77994_a <= 0)) {
+// aPlayer.field_71071_by.func_70299_a(i, null);
+// }
+// }
+// GT_Utility.sendChatToPlayer(aPlayer, this.mItemCount + (this.mInventory[0] == null ? 0 : this.mInventory[0].field_77994_a) + (this.mInventory[1] == null ? 0 : this.mInventory[1].field_77994_a) + (this.mInventory[2] == null ? 0 : this.mInventory[2].field_77994_a) + " of " + new ItemStack(this.mItemID, 1, this.mItemMeta).func_82833_r());
+// }
+// }
+// if (aPlayer.field_71069_bz != null) {
+// aPlayer.field_71069_bz.func_75142_b();
+// }
+// }
+
+ @Override
+ public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_Container_QuantumChest(aPlayerInventory, aBaseMetaTileEntity);
+ }
+
+ @Override
+ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_GUIContainer_QuantumChest(aPlayerInventory, aBaseMetaTileEntity, getLocalName());
+ }
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) {
+
+ if (getBaseMetaTileEntity().isServerSide()&& getBaseMetaTileEntity().isAllowedToWork())
+ {
+ if ((getItemCount() <= 0) ){
+ this.mItemStack = null;
+ this.mItemCount = 0;
+ }
+ if (this.mItemStack == null&&this.mInventory[0]!=null)
+ {
+ this.mItemStack = mInventory[0].copy();
+ }
+ if ((this.mInventory[0]!=null)&&(this.mItemCount < getMaxItemCount()) && GT_Utility.areStacksEqual(this.mInventory[0],this.mItemStack))
+ {
+ this.mItemCount += this.mInventory[0].stackSize;
+ if (this.mItemCount > getMaxItemCount())
+ {
+ this.mInventory[0].stackSize = (this.mItemCount - getMaxItemCount());
+ this.mItemCount = getMaxItemCount();
+ }
+ else
+ {
+ this.mInventory[0] = null;
+ }
+ }
+ if (this.mInventory[1] == null&&mItemStack!=null)
+ {
+ this.mInventory[1] = mItemStack.copy();
+ this.mInventory[1].stackSize = Math.min(mItemStack.getMaxStackSize(), this.mItemCount);
+ this.mItemCount -= this.mInventory[1].stackSize;
+ }
+ else if ((this.mItemCount > 0) && GT_Utility.areStacksEqual(this.mInventory[1],this.mItemStack)&&this.mInventory[1].getMaxStackSize()>this.mInventory[1].stackSize)
+ {
+ int tmp = Math.min(this.mItemCount, this.mInventory[1].getMaxStackSize()-this.mInventory[1].stackSize);
+ this.mInventory[1].stackSize += tmp;
+ this.mItemCount -= tmp;
+ }
+ if(this.mItemStack!=null){
+ this.mInventory[2]= this.mItemStack.copy();
+ }else{this.mInventory[2]=null;}
+ }
+ }
+
+ private int getItemCount()
+ {
+ return this.mItemCount;
+ }
+
+ @Override
+ public int getProgresstime()
+ {
+ return this.mItemCount + (this.mInventory[0] == null ? 0 : this.mInventory[0].stackSize) + (this.mInventory[1] == null ? 0 : this.mInventory[1].stackSize);
+ }
+
+ @Override
+ public int maxProgresstime()
+ {
+ return getMaxItemCount();
+ }
+
+ @Override
+ public int getMaxItemCount()
+ {
+ return (int) (((Math.pow(6, mTier))*270000) - 128);
+ }
+
+ @Override
+ public void setItemCount(int aCount)
+ {
+ this.mItemCount = aCount;
+ }
+
+ @Override
+ public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
+ return true;
+ }
+
+ @Override
+ public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
+ return true;
+ }
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ aNBT.setInteger("mItemCount", this.mItemCount);
+ if(this.mItemStack!=null)
+ aNBT.setTag("mItemStack", this.mItemStack.writeToNBT(new NBTTagCompound()));
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ if(aNBT.hasKey("mItemCount"))
+ this.mItemCount = aNBT.getInteger("mItemCount");
+ if(aNBT.hasKey("mItemStack"))
+ this.mItemStack = ItemStack.loadItemStackFromNBT((NBTTagCompound) aNBT.getTag("mItemStack"));
+ }
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity,byte aSide, byte aFacing, byte aColorIndex, boolean aActive,boolean aRedstone) {
+ return aSide == aBaseMetaTileEntity.getFrontFacing() ? new ITexture[] {Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex+1],new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SCREEN)} :new ITexture[] {Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex+1]};//aSide != aFacing ? mMachineBlock != 0 ? new ITexture[] {Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]} : new ITexture[] {Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex+1]} : mMachineBlock != 0 ? aActive ? getTexturesActive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : getTexturesInactive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : aActive ? getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex+1]) : getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex+1]);
+ }
+
+ @Override
+ public ITexture[][][] getTextureSet(ITexture[] aTextures) {
+ return new ITexture[0][0][0];
+ }
+} \ No newline at end of file
diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java
new file mode 100644
index 0000000..599da17
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java
@@ -0,0 +1,104 @@
+package gregtech.common.tileentities.storage;
+
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
+import gregtech.api.objects.GT_RenderedTexture;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.nbt.NBTTagCompound;
+
+public class GT_MetaTileEntity_QuantumTank
+ extends GT_MetaTileEntity_BasicTank
+{
+ public GT_MetaTileEntity_QuantumTank(int aID, String aName, String aNameRegional, int aTier) {
+ super(aID, aName, aNameRegional, aTier, 3, "Stores "+((int)(Math.pow(6, aTier)*267000))+"L of fluid");
+ }
+
+ public GT_MetaTileEntity_QuantumTank(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, 3, aDescription, aTextures);
+ }
+
+ @Override
+ public ITexture[][][] getTextureSet(ITexture[] aTextures) {
+ return new ITexture[0][0][0];
+ }
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ return aSide ==1 ? new ITexture[] {Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex+1],new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_SCREEN)} :new ITexture[] {Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex+1]};
+ }
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ }
+
+ @Override
+ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
+ if (aBaseMetaTileEntity.isClientSide()) return true;
+ aBaseMetaTileEntity.openGUI(aPlayer);
+ return true;
+ }
+
+ @Override public boolean isSimpleMachine() {return true;}
+ @Override public boolean isFacingValid(byte aFacing) {return true;}
+ @Override public boolean isAccessAllowed(EntityPlayer aPlayer) {return true;}
+
+ @Override
+ public void loadNBTData(NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ }
+
+ @Override
+ public final byte getUpdateData() {
+ return 0x00;
+ }
+
+ @Override
+ public boolean doesFillContainers() {
+ return true;
+ }
+
+ @Override
+ public boolean doesEmptyContainers() {
+ return true;
+ }
+
+ @Override
+ public boolean canTankBeFilled() {
+ return true;
+ }
+
+ @Override
+ public boolean canTankBeEmptied() {
+ return true;
+ }
+
+ @Override
+ public boolean displaysItemStack() {
+ return true;
+ }
+
+ @Override
+ public boolean displaysStackSize() {
+ return false;
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_QuantumTank(mName, mTier, mDescription, mTextures);
+ }
+
+ @Override
+ public int getCapacity() {
+ return (int) (Math.pow(6, mTier)*267000);
+ }
+
+ @Override
+ public int getTankPressure() {
+ return 100;
+ }
+
+} \ No newline at end of file