diff options
| author | Martin Robertz <dream-master@gmx.net> | 2021-01-31 14:01:41 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-31 14:01:41 +0100 |
| commit | 00cd69a4f5523630882c8fae0e0ed43279f9cb81 (patch) | |
| tree | 1140eedcc2005cfd9ab535fa2e0e8898da563bdc /src/main/java/gregtech/api/util | |
| parent | afd07409232ed8cdc730d63dbb71ed440d8a8ce1 (diff) | |
| parent | 3d4a402564b5a862866f6826d4b26179658d7221 (diff) | |
| download | GT5-Unofficial-00cd69a4f5523630882c8fae0e0ed43279f9cb81.tar.gz GT5-Unofficial-00cd69a4f5523630882c8fae0e0ed43279f9cb81.tar.bz2 GT5-Unofficial-00cd69a4f5523630882c8fae0e0ed43279f9cb81.zip | |
Merge pull request #428 from GTNewHorizons/gui-manipulate-fluid
BasicMachine fluid tank manipulations in GUI
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; + } + } } |
