diff options
author | Martin Robertz <dream-master@gmx.net> | 2022-07-31 20:49:39 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-31 20:49:39 +0700 |
commit | bc850bba21db181fe98fba9c73ce4d4c7f36cb4c (patch) | |
tree | 809dc1052e059a97e54290876ff8087735cd2021 | |
parent | 1c457ccc4f98552f20fc9011e88f96601bafb63a (diff) | |
parent | a48a61b298e2a45d1afa0d513ae348ee054adb21 (diff) | |
download | GT5-Unofficial-bc850bba21db181fe98fba9c73ce4d4c7f36cb4c.tar.gz GT5-Unofficial-bc850bba21db181fe98fba9c73ce4d4c7f36cb4c.tar.bz2 GT5-Unofficial-bc850bba21db181fe98fba9c73ce4d4c7f36cb4c.zip |
Merge pull request #62 from alexandre-tardif/fix/ender-link-fluid-shift
Fix Ender fluid link cover saving data so it doesn't shift fluid when updating
-rw-r--r-- | src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java index 1a5ad6a69c..ca1d872ed1 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java +++ b/src/main/java/com/github/technus/tectech/mechanics/enderStorage/EnderFluidContainer.java @@ -1,5 +1,6 @@ package com.github.technus.tectech.mechanics.enderStorage; +import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidStack; @@ -10,8 +11,11 @@ import java.io.Serializable; public class EnderFluidContainer implements IFluidHandler, Serializable { private static final int CAPACITY = 64000; + @Deprecated() private int fluidID = -1; + @Deprecated() private int fluidQuantity = 0; + private NBTTagCompound fluid; public EnderFluidContainer() { } @@ -19,18 +23,21 @@ public class EnderFluidContainer implements IFluidHandler, Serializable { private FluidStack getFluidStack() { FluidStack fluidStack = null; if (fluidID >= 0) { - fluidStack = new FluidStack(fluidID, fluidQuantity); + fluid = new FluidStack(fluidID, fluidQuantity).writeToNBT(new NBTTagCompound()); + fluidID = -1; + fluidQuantity = 0; + } + if (fluid != null) { + fluidStack = FluidStack.loadFluidStackFromNBT(fluid); } return fluidStack; } private void setFluidStack(FluidStack fluidStack) { - if (fluidStack != null && fluidStack.amount != 0) { - fluidID = fluidStack.getFluidID(); - fluidQuantity = fluidStack.amount; + if (fluidStack != null) { + fluid = fluidStack.writeToNBT(new NBTTagCompound()); } else { - fluidID = -1; - fluidQuantity = 0; + fluid = null; } } |