aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java
index 84bb52d064..575e094696 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/helpers/VolumetricFlaskHelper.java
@@ -152,6 +152,26 @@ public class VolumetricFlaskHelper {
nbt.setInteger("Capacity", aCapacity);
return true;
}
+
+ public static int fillFlask(ItemStack stack, FluidStack resource, boolean doFill) {
+ if (stack.stackSize != 1)
+ return 0;
+ if ((resource == null) || (resource.amount <= 0)) {
+ return 0;
+ }
+ FluidStack fluidStack = getFlaskFluid(stack);
+ if (fluidStack == null) {
+ fluidStack = new FluidStack(resource, 0);
+ } else if (!fluidStack.isFluidEqual(resource)) {
+ return 0;
+ }
+ int amount = Math.min(getMaxFlaskCapacity(stack) - fluidStack.amount, resource.amount);
+ if ((doFill) && (amount > 0)) {
+ fluidStack.amount += amount;
+ setFluid(stack, fluidStack);
+ }
+ return amount;
+ }
public static Item generateNewFlask(String unlocalized, String english, int maxCapacity) {
Constructor aFlask = ReflectionUtils.getConstructor(sClassVolumetricFlask, new Class[] {String.class, String.class, int.class});