diff options
Diffstat (limited to 'src/main/java/gregtech/api/gui')
4 files changed, 38 insertions, 20 deletions
diff --git a/src/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java b/src/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java index 5903550a91..26b94a00e4 100644 --- a/src/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java +++ b/src/main/java/gregtech/api/gui/GT_ContainerMetaTile_Machine.java @@ -36,8 +36,8 @@ public class GT_ContainerMetaTile_Machine extends GT_Container { oOutput = 0, oInput = 0, oID = 0, - oDisplayErrorCode = 0, - mTimer = 0; + oDisplayErrorCode = 0; + protected int mTimer = 0; public GT_ContainerMetaTile_Machine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { @@ -148,16 +148,16 @@ public class GT_ContainerMetaTile_Machine extends GT_Container { super.updateProgressBar(par1, par2); switch (par1) { case 0: - mEnergy = mEnergy & -65536 | par2; + mEnergy = mEnergy & 0xffff0000 | par2 & 0x0000ffff; break; case 1: - mEnergy = mEnergy & 65535 | par2 << 16; + mEnergy = mEnergy & 0x0000ffff | par2 << 16; break; case 2: - mStorage = mStorage & -65536 | par2; + mStorage = mStorage & 0xffff0000 | par2 & 0x0000ffff; break; case 3: - mStorage = mStorage & 65535 | par2 << 16; + mStorage = mStorage & 0x0000ffff | par2 << 16; break; case 4: mOutput = par2; @@ -169,16 +169,16 @@ public class GT_ContainerMetaTile_Machine extends GT_Container { mDisplayErrorCode = par2; break; case 11: - mProgressTime = mProgressTime & -65536 | par2; + mProgressTime = mProgressTime & 0xffff0000 | par2; break; case 12: - mProgressTime = mProgressTime & 65535 | par2 << 16; + mProgressTime = mProgressTime & 0x0000ffff | par2 << 16; break; case 13: - mMaxProgressTime = mMaxProgressTime & -65536 | par2; + mMaxProgressTime = mMaxProgressTime & 0xffff0000 | par2 & 0x0000ffff; break; case 14: - mMaxProgressTime = mMaxProgressTime & 65535 | par2 << 16; + mMaxProgressTime = mMaxProgressTime & 0x0000ffff | par2 << 16; break; case 15: mID = par2; @@ -187,16 +187,16 @@ public class GT_ContainerMetaTile_Machine extends GT_Container { mActive = par2; break; case 17: - mSteam = mSteam & -65536 | par2; + mSteam = mSteam & 0xffff0000 | par2 & 0x0000ffff; break; case 18: - mSteam = mSteam & 65535 | par2 << 16; + mSteam = mSteam & 0x0000ffff | par2 << 16; break; case 19: - mSteamStorage = mSteamStorage & -65536 | par2; + mSteamStorage = mSteamStorage & 0xffff0000 | par2 & 0x0000ffff; break; case 20: - mSteamStorage = mSteamStorage & 65535 | par2 << 16; + mSteamStorage = mSteamStorage & 0x0000ffff | par2 << 16; break; } } diff --git a/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java b/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java index 5d2a9321c4..fbae0b6752 100644 --- a/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java +++ b/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java @@ -204,7 +204,10 @@ public class GT_Container_BasicMachine extends GT_Container_BasicTank { } GT_MetaTileEntity_BasicTank tTank = (GT_MetaTileEntity_BasicTank) mTileEntity.getMetaTileEntity(); IFluidAccess tFillableAccess = IFluidAccess.from(tTank, true); - return handleFluidSlotClick(tFillableAccess, aPlayer, aMouseclick == 0, true, true); + ItemStack tToken = handleFluidSlotClick(tFillableAccess, aPlayer, aMouseclick == 0, true, true); + if (mTileEntity.isServerSide() && tToken != null) + mTileEntity.markInventoryBeenModified(); + return tToken; } else { return super.slotClick(aSlotIndex, aMouseclick, aShifthold, aPlayer); } diff --git a/src/main/java/gregtech/api/gui/GT_Container_BasicTank.java b/src/main/java/gregtech/api/gui/GT_Container_BasicTank.java index 12878b6a04..e8810c14c0 100644 --- a/src/main/java/gregtech/api/gui/GT_Container_BasicTank.java +++ b/src/main/java/gregtech/api/gui/GT_Container_BasicTank.java @@ -22,6 +22,7 @@ import net.minecraftforge.fluids.IFluidContainerItem; public class GT_Container_BasicTank extends GT_ContainerMetaTile_Machine { public int mContent = 0; + private int oContent = 0; public GT_Container_BasicTank(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) { super(aInventoryPlayer, aTileEntity); @@ -212,9 +213,13 @@ public class GT_Container_BasicTank extends GT_ContainerMetaTile_Machine { mContent = 0; for (Object crafter : this.crafters) { ICrafting var1 = (ICrafting) crafter; - var1.sendProgressBarUpdate(this, 100, mContent & 65535); - var1.sendProgressBarUpdate(this, 101, mContent >>> 16); + if (mTimer % 500 == 0 || oContent != mContent) { + var1.sendProgressBarUpdate(this, 100, mContent & 65535); + var1.sendProgressBarUpdate(this, 101, mContent >>> 16); + } } + + oContent = mContent; } @Override @@ -223,10 +228,10 @@ public class GT_Container_BasicTank extends GT_ContainerMetaTile_Machine { super.updateProgressBar(par1, par2); switch (par1) { case 100: - mContent = mContent & -65536 | par2; + mContent = mContent & 0xffff0000 | par2 & 0x0000ffff; break; case 101: - mContent = mContent & 65535 | par2 << 16; + mContent = mContent & 0xffff | par2 << 16; break; } } diff --git a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java b/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java index 010ac78654..e7b6b9971d 100644 --- a/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java +++ b/src/main/java/gregtech/api/gui/widgets/GT_GuiIconCheckButton.java @@ -3,13 +3,22 @@ package gregtech.api.gui.widgets; import gregtech.api.interfaces.IGuiScreen; public class GT_GuiIconCheckButton extends GT_GuiIconButton { - private GT_GuiIcon checkedIcon, normalIcon; + private final GT_GuiIcon checkedIcon; + private final GT_GuiIcon normalIcon; + private final String checkedTooltip; + private final String normalTooltip; private boolean checked = false; public GT_GuiIconCheckButton(IGuiScreen gui, int id, int x, int y, GT_GuiIcon checkedIcon, GT_GuiIcon normalIcon) { + this(gui, id, x, y, checkedIcon, normalIcon, null, null); + } + + public GT_GuiIconCheckButton(IGuiScreen gui, int id, int x, int y, GT_GuiIcon checkedIcon, GT_GuiIcon normalIcon, String checkedTooltip, String normalTooltip) { super(gui, id, x, y, normalIcon); this.checkedIcon = checkedIcon; this.normalIcon = normalIcon; + this.checkedTooltip = checkedTooltip; + this.normalTooltip = normalTooltip; } @Override @@ -27,6 +36,7 @@ public class GT_GuiIconCheckButton extends GT_GuiIconButton { public void setChecked(boolean checked) { super.setIcon(checked ? checkedIcon : normalIcon); + super.setTooltipText(checked ? checkedTooltip : normalTooltip); this.checked = checked; } } |