aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-01-31 14:01:41 +0100
committerGitHub <noreply@github.com>2021-01-31 14:01:41 +0100
commit00cd69a4f5523630882c8fae0e0ed43279f9cb81 (patch)
tree1140eedcc2005cfd9ab535fa2e0e8898da563bdc /src/main/java/gregtech/api/util
parentafd07409232ed8cdc730d63dbb71ed440d8a8ce1 (diff)
parent3d4a402564b5a862866f6826d4b26179658d7221 (diff)
downloadGT5-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.java21
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;
+ }
+ }
}