diff options
Diffstat (limited to 'src/main/java/gregtech/common')
-rw-r--r-- | src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java | 25 | ||||
-rw-r--r-- | src/main/java/gregtech/common/covers/GT_Cover_Shutter.java | 24 |
2 files changed, 30 insertions, 19 deletions
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java index a25fb2b1f4..e1bb8bcd3e 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_ControlsWork.java @@ -18,22 +18,23 @@ public class GT_Cover_ControlsWork extends GT_CoverBehavior { @Override public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer) { if (aTileEntity instanceof IMachineProgress) { + IMachineProgress machine = (IMachineProgress) aTileEntity; if (aCoverVariable < 2) { - if ((aInputRedstone > 0) == (aCoverVariable == 0)) - ((IMachineProgress) aTileEntity).enableWorking(); - else - ((IMachineProgress) aTileEntity).disableWorking(); - ((IMachineProgress) aTileEntity).setWorkDataValue(aInputRedstone); - } - else if (aCoverVariable == 2) { - ((IMachineProgress) aTileEntity).disableWorking(); + if ((aInputRedstone > 0) == (aCoverVariable == 0)) { + if (!machine.isAllowedToWork()) + machine.enableWorking(); + } else if (machine.isAllowedToWork()) + machine.disableWorking(); + machine.setWorkDataValue(aInputRedstone); + } else if (aCoverVariable == 2 && machine.isAllowedToWork()) { + machine.disableWorking(); } else { - if (((IMachineProgress) aTileEntity).wasShutdown()) { - ((IMachineProgress) aTileEntity).disableWorking(); - GT_Utility.sendChatToPlayer(lastPlayer, aTileEntity.getInventoryName() + " at " + String.format("(%d,%d,%d)", aTileEntity.getXCoord(), aTileEntity.getYCoord(), aTileEntity.getZCoord()) + " shut down."); + if (machine.wasShutdown()) { + machine.disableWorking(); + GT_Utility.sendChatToPlayer(lastPlayer, aTileEntity.getInventoryName() + "at " + String.format("(%d,%d,%d)", aTileEntity.getXCoord(), aTileEntity.getYCoord(), aTileEntity.getZCoord()) + " shut down."); return 2; } else { - return 3 + doCoverThings(aSide,aInputRedstone, aCoverID, aCoverVariable - 3, aTileEntity, aTimer); + return 3 + doCoverThings(aSide, aInputRedstone, aCoverID, aCoverVariable - 3, aTileEntity, aTimer); } } } diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java b/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java index df800302c9..b8ce4260cd 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Shutter.java @@ -6,6 +6,7 @@ import gregtech.api.gui.widgets.GT_GuiIcon; import gregtech.api.gui.widgets.GT_GuiIconCheckButton; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.interfaces.tileentity.IMachineProgress; +import gregtech.api.metatileentity.BaseMetaPipeEntity; import gregtech.api.net.GT_Packet_TileEntityCover; import gregtech.api.util.GT_CoverBehavior; import gregtech.api.util.GT_Utility; @@ -26,17 +27,26 @@ public class GT_Cover_Shutter extends GT_CoverBehavior { @Override public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ) { - aCoverVariable = (aCoverVariable + (aPlayer.isSneaking()? -1 : 1)) % 4; - if(aCoverVariable <0){aCoverVariable = 3;} - switch(aCoverVariable) { + aCoverVariable = (aCoverVariable + (aPlayer.isSneaking() ? -1 : 1)) % 4; + if (aCoverVariable < 0) { + aCoverVariable = 3; + } + switch (aCoverVariable) { case 0: - GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("082", "Open if work enabled")); break; + GT_Utility.sendChatToPlayer(aPlayer, trans("082", "Open if work enabled")); + break; case 1: - GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("083", "Open if work disabled")); break; + GT_Utility.sendChatToPlayer(aPlayer, trans("083", "Open if work disabled")); + break; case 2: - GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("084", "Only Output allowed")); break; + GT_Utility.sendChatToPlayer(aPlayer, trans("084", "Only Output allowed")); + break; case 3: - GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("085", "Only Input allowed")); break; + GT_Utility.sendChatToPlayer(aPlayer, trans("085", "Only Input allowed")); + break; + } + if (aTileEntity instanceof BaseMetaPipeEntity) { + ((BaseMetaPipeEntity) aTileEntity).reloadLocks(); } return aCoverVariable; } |