From 1680eeacfa50545932da0be28b93ffb8a97214b9 Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Sat, 18 Dec 2021 22:50:18 +0800 Subject: add a quick way to clear tank --- .../GT_MetaTileEntity_DigitalChestBase.java | 3 +- .../storage/GT_MetaTileEntity_QuantumChest.java | 33 ++++++++++++---------- .../storage/GT_MetaTileEntity_QuantumTank.java | 10 +++++-- .../storage/GT_MetaTileEntity_SuperChest.java | 33 ++++++++++++---------- .../storage/GT_MetaTileEntity_SuperTank.java | 10 +++++-- 5 files changed, 52 insertions(+), 37 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java index c7bd5d0029..0df416d847 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java @@ -35,7 +35,8 @@ public abstract class GT_MetaTileEntity_DigitalChestBase extends GT_MetaTileEnti "This Chest stores " + GT_Utility.formatNumbers(commonSizeCompute(aTier)) + " Blocks", "Use a screwdriver to enable", "voiding items on overflow", - "Can keep its contents when harvested" + "Can keep its contents when harvested", + "Hold shift when harvesting to void its contents" }); } 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 index ca3289e218..cb7504b515 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java @@ -7,6 +7,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import org.lwjgl.input.Keyboard; public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_DigitalChestBase { public int mItemCount = 0; @@ -33,24 +34,26 @@ public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_DigitalChe @Override public void setItemNBT(NBTTagCompound aNBT) { mInvData = new NBTTagList(); - for (int i = 0; i < 3; i++) { - if (mInventory[i] != null) { - NBTTagCompound tNBT = new NBTTagCompound(); - tNBT.setByte("Count", (byte) mInventory[i].stackSize); - tNBT.setShort("Damage", (short) mInventory[i].getItemDamage()); - tNBT.setShort("id", (short) Item.getIdFromItem(mInventory[i].getItem())); - tNBT.setInteger("IntSlot", i); - if (mInventory[i].hasTagCompound()) { - tNBT.setTag("tag", mInventory[i].getTagCompound()); + if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + for (int i = 0; i < 3; i++) { + if (mInventory[i] != null) { + NBTTagCompound tNBT = new NBTTagCompound(); + tNBT.setByte("Count", (byte) mInventory[i].stackSize); + tNBT.setShort("Damage", (short) mInventory[i].getItemDamage()); + tNBT.setShort("id", (short) Item.getIdFromItem(mInventory[i].getItem())); + tNBT.setInteger("IntSlot", i); + if (mInventory[i].hasTagCompound()) { + tNBT.setTag("tag", mInventory[i].getTagCompound()); + } + mInvData.appendTag(tNBT); } - mInvData.appendTag(tNBT); } + if (mItemStack != null) + aNBT.setTag("mItemStack", getItemStack().writeToNBT(new NBTTagCompound())); + aNBT.setTag("Inventory", mInvData); + aNBT.setInteger("mItemCount", getItemCount()); + aNBT.setBoolean("mVoidOverflow", mVoidOverflow); } - if (mItemStack != null) - aNBT.setTag("mItemStack", getItemStack().writeToNBT(new NBTTagCompound())); - aNBT.setTag("Inventory", mInvData); - aNBT.setInteger("mItemCount", getItemCount()); - aNBT.setBoolean("mVoidOverflow", mVoidOverflow); super.setItemNBT(aNBT); } 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 index 1637a126e4..191c908bd5 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java @@ -10,6 +10,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; +import org.lwjgl.input.Keyboard; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_QTANK; @@ -19,7 +20,8 @@ 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, new String[]{ "Stores " + GT_Utility.formatNumbers(commonSizeCompute(aTier)) + "L of fluid", - "Can keep its contents when harvested" + "Can keep its contents when harvested", + "Hold shift when harvesting to void its contents" }); } @@ -55,8 +57,10 @@ public class GT_MetaTileEntity_QuantumTank extends GT_MetaTileEntity_BasicTank { @Override public void setItemNBT(NBTTagCompound aNBT) { - if (mFluid != null && mFluid.amount > 0) - aNBT.setTag("mFluid", mFluid.writeToNBT(new NBTTagCompound())); + if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + if (mFluid != null && mFluid.amount > 0) + aNBT.setTag("mFluid", mFluid.writeToNBT(new NBTTagCompound())); + } super.setItemNBT(aNBT); } diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperChest.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperChest.java index 4614cc409e..2f9062bb2f 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperChest.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperChest.java @@ -7,6 +7,7 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import org.lwjgl.input.Keyboard; public class GT_MetaTileEntity_SuperChest extends GT_MetaTileEntity_DigitalChestBase { public int mItemCount = 0; @@ -28,24 +29,26 @@ public class GT_MetaTileEntity_SuperChest extends GT_MetaTileEntity_DigitalChest @Override public void setItemNBT(NBTTagCompound aNBT) { mInvData = new NBTTagList(); - for (int i = 0; i < 3; i++) { - if (mInventory[i] != null) { - NBTTagCompound tNBT = new NBTTagCompound(); - tNBT.setByte("Count", (byte) mInventory[i].stackSize); - tNBT.setShort("Damage", (short) mInventory[i].getItemDamage()); - tNBT.setShort("id", (short) Item.getIdFromItem(mInventory[i].getItem())); - tNBT.setInteger("IntSlot", i); - if (mInventory[i].hasTagCompound()) { - tNBT.setTag("tag", mInventory[i].getTagCompound()); + if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + for (int i = 0; i < 3; i++) { + if (mInventory[i] != null) { + NBTTagCompound tNBT = new NBTTagCompound(); + tNBT.setByte("Count", (byte) mInventory[i].stackSize); + tNBT.setShort("Damage", (short) mInventory[i].getItemDamage()); + tNBT.setShort("id", (short) Item.getIdFromItem(mInventory[i].getItem())); + tNBT.setInteger("IntSlot", i); + if (mInventory[i].hasTagCompound()) { + tNBT.setTag("tag", mInventory[i].getTagCompound()); + } + mInvData.appendTag(tNBT); } - mInvData.appendTag(tNBT); } + if (mItemStack != null) + aNBT.setTag("mItemStack", getItemStack().writeToNBT(new NBTTagCompound())); + aNBT.setTag("Inventory", mInvData); + aNBT.setInteger("mItemCount", getItemCount()); + aNBT.setBoolean("mVoidOverflow", mVoidOverflow); } - if (mItemStack != null) - aNBT.setTag("mItemStack", getItemStack().writeToNBT(new NBTTagCompound())); - aNBT.setTag("Inventory", mInvData); - aNBT.setInteger("mItemCount", getItemCount()); - aNBT.setBoolean("mVoidOverflow", mVoidOverflow); super.setItemNBT(aNBT); } diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java index 1aa9f98d82..fc1d034be4 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java @@ -10,6 +10,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; +import org.lwjgl.input.Keyboard; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_QTANK; @@ -19,7 +20,8 @@ public class GT_MetaTileEntity_SuperTank extends GT_MetaTileEntity_BasicTank { public GT_MetaTileEntity_SuperTank(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 3, new String[]{ "Stores " + GT_Utility.formatNumbers(commonSizeCompute(aTier)) + "L of fluid", - "Can keep its contents when harvested" + "Can keep its contents when harvested", + "Hold shift when harvesting to void its contents" }); } @@ -55,8 +57,10 @@ public class GT_MetaTileEntity_SuperTank extends GT_MetaTileEntity_BasicTank { @Override public void setItemNBT(NBTTagCompound aNBT) { - if (mFluid != null && mFluid.amount > 0) - aNBT.setTag("mFluid", mFluid.writeToNBT(new NBTTagCompound())); + if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + if (mFluid != null && mFluid.amount > 0) + aNBT.setTag("mFluid", mFluid.writeToNBT(new NBTTagCompound())); + } super.setItemNBT(aNBT); } -- cgit From 5350dd57879a089100dfcdd50b1344649505c4ed Mon Sep 17 00:00:00 2001 From: GlodBlock <1356392126@qq.com> Date: Mon, 20 Dec 2021 12:24:13 +0800 Subject: remove the client side method --- .../storage/GT_MetaTileEntity_DigitalChestBase.java | 9 ++++++++- .../storage/GT_MetaTileEntity_QuantumChest.java | 3 +-- .../storage/GT_MetaTileEntity_QuantumTank.java | 14 +++++++++++--- .../tileentities/storage/GT_MetaTileEntity_SuperChest.java | 3 +-- .../tileentities/storage/GT_MetaTileEntity_SuperTank.java | 14 +++++++++++--- 5 files changed, 32 insertions(+), 11 deletions(-) (limited to 'src/main/java/gregtech/common') diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java index 0df416d847..e2caa77ddb 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_DigitalChestBase.java @@ -28,6 +28,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SCHEST_GLOW; @Optional.Interface(iface = "appeng.api.storage.IMEMonitor", modid = "appliedenergistics2", striprefs = true) public abstract class GT_MetaTileEntity_DigitalChestBase extends GT_MetaTileEntity_TieredMachineBlock implements appeng.api.storage.IMEMonitor { protected boolean mVoidOverflow = false; + public boolean voidBreak; private Map, Object> listeners = null; public GT_MetaTileEntity_DigitalChestBase(int aID, String aName, String aNameRegional, int aTier) { @@ -36,7 +37,7 @@ public abstract class GT_MetaTileEntity_DigitalChestBase extends GT_MetaTileEnti "Use a screwdriver to enable", "voiding items on overflow", "Can keep its contents when harvested", - "Hold shift when harvesting to void its contents" + "Sneak when harvesting to void its contents" }); } @@ -326,6 +327,12 @@ public abstract class GT_MetaTileEntity_DigitalChestBase extends GT_MetaTileEnti return true; } + @Override + public void onLeftclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + voidBreak = aPlayer.isSneaking(); + super.onLeftclick(aBaseMetaTileEntity, aPlayer); + } + @Override public boolean isFacingValid(byte aFacing) { return true; 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 index cb7504b515..f991fea66e 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumChest.java @@ -7,7 +7,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import org.lwjgl.input.Keyboard; public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_DigitalChestBase { public int mItemCount = 0; @@ -34,7 +33,7 @@ public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_DigitalChe @Override public void setItemNBT(NBTTagCompound aNBT) { mInvData = new NBTTagList(); - if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + if (!voidBreak) { for (int i = 0; i < 3; i++) { if (mInventory[i] != null) { NBTTagCompound tNBT = new NBTTagCompound(); 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 index 191c908bd5..950ab51b86 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_QuantumTank.java @@ -10,18 +10,20 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; -import org.lwjgl.input.Keyboard; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_QTANK; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_QTANK_GLOW; public class GT_MetaTileEntity_QuantumTank extends GT_MetaTileEntity_BasicTank { + + private boolean voidBreak; + public GT_MetaTileEntity_QuantumTank(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 3, new String[]{ "Stores " + GT_Utility.formatNumbers(commonSizeCompute(aTier)) + "L of fluid", "Can keep its contents when harvested", - "Hold shift when harvesting to void its contents" + "Sneak when harvesting to void its contents" }); } @@ -57,7 +59,7 @@ public class GT_MetaTileEntity_QuantumTank extends GT_MetaTileEntity_BasicTank { @Override public void setItemNBT(NBTTagCompound aNBT) { - if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + if (!voidBreak) { if (mFluid != null && mFluid.amount > 0) aNBT.setTag("mFluid", mFluid.writeToNBT(new NBTTagCompound())); } @@ -120,6 +122,12 @@ public class GT_MetaTileEntity_QuantumTank extends GT_MetaTileEntity_BasicTank { return true; } + @Override + public void onLeftclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + voidBreak = aPlayer.isSneaking(); + super.onLeftclick(aBaseMetaTileEntity, aPlayer); + } + @Override public final byte getUpdateData() { return 0x00; diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperChest.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperChest.java index 2f9062bb2f..92f9aec998 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperChest.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperChest.java @@ -7,7 +7,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; -import org.lwjgl.input.Keyboard; public class GT_MetaTileEntity_SuperChest extends GT_MetaTileEntity_DigitalChestBase { public int mItemCount = 0; @@ -29,7 +28,7 @@ public class GT_MetaTileEntity_SuperChest extends GT_MetaTileEntity_DigitalChest @Override public void setItemNBT(NBTTagCompound aNBT) { mInvData = new NBTTagList(); - if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + if (!voidBreak) { for (int i = 0; i < 3; i++) { if (mInventory[i] != null) { NBTTagCompound tNBT = new NBTTagCompound(); diff --git a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java index fc1d034be4..edd358fee5 100644 --- a/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java +++ b/src/main/java/gregtech/common/tileentities/storage/GT_MetaTileEntity_SuperTank.java @@ -10,18 +10,20 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraftforge.common.util.ForgeDirection; -import org.lwjgl.input.Keyboard; import static gregtech.api.enums.Textures.BlockIcons.MACHINE_CASINGS; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_QTANK; import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_QTANK_GLOW; public class GT_MetaTileEntity_SuperTank extends GT_MetaTileEntity_BasicTank { + + private boolean voidBreak; + public GT_MetaTileEntity_SuperTank(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 3, new String[]{ "Stores " + GT_Utility.formatNumbers(commonSizeCompute(aTier)) + "L of fluid", "Can keep its contents when harvested", - "Hold shift when harvesting to void its contents" + "Sneak when harvesting to void its contents" }); } @@ -57,7 +59,7 @@ public class GT_MetaTileEntity_SuperTank extends GT_MetaTileEntity_BasicTank { @Override public void setItemNBT(NBTTagCompound aNBT) { - if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + if (!voidBreak) { if (mFluid != null && mFluid.amount > 0) aNBT.setTag("mFluid", mFluid.writeToNBT(new NBTTagCompound())); } @@ -120,6 +122,12 @@ public class GT_MetaTileEntity_SuperTank extends GT_MetaTileEntity_BasicTank { return true; } + @Override + public void onLeftclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) { + voidBreak = aPlayer.isSneaking(); + super.onLeftclick(aBaseMetaTileEntity, aPlayer); + } + @Override public final byte getUpdateData() { return 0x00; -- cgit