From c0a6800447fdb87e266acfb47f35b5f765c74fe3 Mon Sep 17 00:00:00 2001 From: Martin Robertz Date: Thu, 2 Dec 2021 16:53:40 +0100 Subject: add select circuit gui for machine and circuits itself (#773) also fixed some issue with basic machine gui introduced in 9d42b299def1c41bbc7a1f01efe445be28f54399 also retrofitted volumetric flask to use the new INetworkUpdatableItem and GT_Packet_UpdateItem, deprecating MessageSetFlaskCapacity in the meanwhile. To open the gui for machine, shift-left-click the circuit slot To open the gui for circuit, click any block (need to be sneaking if it's chest, furnace, etc) with the circuit held in hand. Signed-off-by: Glease <4586901+Glease@users.noreply.github.com> Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> --- .../gregtech/common/items/GT_VolumetricFlask.java | 26 +++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'src/main/java/gregtech/common/items/GT_VolumetricFlask.java') diff --git a/src/main/java/gregtech/common/items/GT_VolumetricFlask.java b/src/main/java/gregtech/common/items/GT_VolumetricFlask.java index c0dcb45943..055b0bf036 100644 --- a/src/main/java/gregtech/common/items/GT_VolumetricFlask.java +++ b/src/main/java/gregtech/common/items/GT_VolumetricFlask.java @@ -4,12 +4,14 @@ package gregtech.common.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.GT_Values; +import gregtech.api.interfaces.INetworkUpdatableItem; import gregtech.api.items.GT_Generic_Item; import ic2.core.util.LiquidUtil; import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -21,15 +23,22 @@ import net.minecraft.util.MovingObjectPosition.MovingObjectType; import net.minecraft.world.World; import net.minecraftforge.common.util.FakePlayer; import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.*; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidBlock; +import net.minecraftforge.fluids.IFluidContainerItem; +import net.minecraftforge.fluids.IFluidHandler; import java.util.List; import static gregtech.api.enums.GT_Values.RES_PATH_ITEM; -import static ic2.core.util.LiquidUtil.*; +import static ic2.core.util.LiquidUtil.drainContainerStack; +import static ic2.core.util.LiquidUtil.fillContainerStack; +import static ic2.core.util.LiquidUtil.placeFluid; -public class GT_VolumetricFlask extends GT_Generic_Item implements IFluidContainerItem { +public class GT_VolumetricFlask extends GT_Generic_Item implements IFluidContainerItem, INetworkUpdatableItem { private final int maxCapacity; private final String unlocalFlaskName; @SideOnly(Side.CLIENT) @@ -287,4 +296,15 @@ public class GT_VolumetricFlask extends GT_Generic_Item implements IFluidContain } return false; } + + @Override + public boolean receive(ItemStack stack, EntityPlayerMP player, NBTTagCompound tag) { + if (stack != null && stack.stackSize > 0) { + Item item = stack.getItem(); + if (item == this) + setCapacity(stack, tag.getInteger("cap")); + return true; + } + return false; + } } -- cgit