diff options
author | chochem <40274384+chochem@users.noreply.github.com> | 2024-02-17 13:23:13 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-17 14:23:13 +0100 |
commit | 3cc16f2a9acf2eae0496e609230efe7e06316026 (patch) | |
tree | 29d387f9ac7bf24c88f238b94a314e72831e51e2 /src | |
parent | 985a6c94cae0cb895a09ef06c85ec7759132a06c (diff) | |
download | GT5-Unofficial-3cc16f2a9acf2eae0496e609230efe7e06316026.tar.gz GT5-Unofficial-3cc16f2a9acf2eae0496e609230efe7e06316026.tar.bz2 GT5-Unofficial-3cc16f2a9acf2eae0496e609230efe7e06316026.zip |
Fix water bottle fluid exploit (#2494)
* fix water bottle fluid amount
* require 1000L minimum
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_Utility.java | 6 | ||||
-rw-r--r-- | src/main/java/gregtech/common/GT_Proxy.java | 10 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java index 7959789532..64010efb99 100644 --- a/src/main/java/gregtech/api/util/GT_Utility.java +++ b/src/main/java/gregtech/api/util/GT_Utility.java @@ -1891,6 +1891,12 @@ public class GT_Utility { public static ItemStack fillFluidContainer(FluidStack aFluid, ItemStack aStack, boolean aRemoveFluidDirectly, boolean aCheckIFluidContainerItems) { if (isStackInvalid(aStack) || aFluid == null) return null; + if (GT_ModHandler.isWater(aFluid) && ItemList.Bottle_Empty.isStackEqual(aStack)) { + if (aFluid.amount >= 1000) { + return new ItemStack(Items.potionitem, 1, 0); + } + return null; + } if (aCheckIFluidContainerItems && aStack.getItem() instanceof IFluidContainerItem && ((IFluidContainerItem) aStack.getItem()).getFluid(aStack) == null && ((IFluidContainerItem) aStack.getItem()).getCapacity(aStack) <= aFluid.amount) { diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 2f9643c35d..90c40a259d 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -850,7 +850,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry .getRegisteredFluidContainerData()) { if ((tData.filledContainer.getItem() == Items.potionitem) && (tData.filledContainer.getItemDamage() == 0)) { - tData.fluid.amount = 250; + tData.fluid.amount = 0; break; } } @@ -1252,7 +1252,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry .getRegisteredFluidContainerData()) { if ((tData.filledContainer.getItem() == Items.potionitem) && (tData.filledContainer.getItemDamage() == 0)) { - tData.fluid.amount = 250; + tData.fluid.amount = 0; break; } } @@ -1284,7 +1284,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry .getRegisteredFluidContainerData()) { if ((tData.filledContainer.getItem() == Items.potionitem) && (tData.filledContainer.getItemDamage() == 0)) { - tData.fluid.amount = 250; + tData.fluid.amount = 0; break; } } @@ -1379,7 +1379,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry .getRegisteredFluidContainerData()) { if ((tData.filledContainer.getItem() == Items.potionitem) && (tData.filledContainer.getItemDamage() == 0)) { - tData.fluid.amount = 250; + tData.fluid.amount = 0; break; } } @@ -2210,7 +2210,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler { public void onFluidContainerRegistration(FluidContainerRegistry.FluidContainerRegisterEvent aFluidEvent) { if ((aFluidEvent.data.filledContainer.getItem() == Items.potionitem) && (aFluidEvent.data.filledContainer.getItemDamage() == 0)) { - aFluidEvent.data.fluid.amount = 250; + aFluidEvent.data.fluid.amount = 0; } GT_OreDictUnificator.addToBlacklist(aFluidEvent.data.emptyContainer); GT_OreDictUnificator.addToBlacklist(aFluidEvent.data.filledContainer); |