diff options
| author | Glease <4586901+Glease@users.noreply.github.com> | 2021-01-31 18:52:08 +0800 |
|---|---|---|
| committer | Glease <4586901+Glease@users.noreply.github.com> | 2021-01-31 18:59:02 +0800 |
| commit | 8522412f4e415028c37d945365f4edf913299639 (patch) | |
| tree | de5300ea4484e91d52bf57475c913f585a0f06b0 /src/main/java/gregtech/api/util | |
| parent | afd07409232ed8cdc730d63dbb71ed440d8a8ce1 (diff) | |
| download | GT5-Unofficial-8522412f4e415028c37d945365f4edf913299639.tar.gz GT5-Unofficial-8522412f4e415028c37d945365f4edf913299639.tar.bz2 GT5-Unofficial-8522412f4e415028c37d945365f4edf913299639.zip | |
BasicMachine fluid tank manipulations in GUI
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gregtech/api/util')
| -rw-r--r-- | src/main/java/gregtech/api/util/GT_Utility.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index 3055285ecf..a9ba9b9bbc 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -972,6 +972,15 @@ public class GT_Utility { return rStack; } + public static FluidStack getFluidFromDisplayStack(ItemStack aDisplayStack) { + if (!isStackValid(aDisplayStack) || + aDisplayStack.getItem() != ItemList.Display_Fluid.getItem() || + !aDisplayStack.hasTagCompound()) + return null; + Fluid tFluid = FluidRegistry.getFluid(ItemList.Display_Fluid.getItem().getDamage(aDisplayStack)); + return new FluidStack(tFluid, (int) aDisplayStack.getTagCompound().getLong("mFluidDisplayAmount")); + } + public static boolean containsFluid(ItemStack aStack, FluidStack aFluid, boolean aCheckIFluidContainerItems) { if (isStackInvalid(aStack) || aFluid == null) return false; if (aCheckIFluidContainerItems && aStack.getItem() instanceof IFluidContainerItem && ((IFluidContainerItem) aStack.getItem()).getCapacity(aStack) > 0) @@ -2768,4 +2777,16 @@ public class GT_Utility { ) ); } + + /** + * Add an itemstack to player inventory, or drop on ground if full. + * Can be called on client but it probably won't work very well. + */ + public static void addItemToPlayerInventory(EntityPlayer aPlayer, ItemStack aStack) { + if (isStackInvalid(aStack)) return; + if (!aPlayer.inventory.addItemStackToInventory(aStack) && !aPlayer.worldObj.isRemote) { + EntityItem dropItem = aPlayer.entityDropItem(aStack, 0); + dropItem.delayBeforeCanPickup = 0; + } + } } |
