diff options
Diffstat (limited to 'main/java/gregtech/api/objects/GT_FluidStack.java')
-rw-r--r-- | main/java/gregtech/api/objects/GT_FluidStack.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/main/java/gregtech/api/objects/GT_FluidStack.java b/main/java/gregtech/api/objects/GT_FluidStack.java new file mode 100644 index 0000000000..96b1517e9b --- /dev/null +++ b/main/java/gregtech/api/objects/GT_FluidStack.java @@ -0,0 +1,46 @@ +package gregtech.api.objects; + +import gregtech.api.GregTech_API; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_Utility; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Map; + +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; + +/** + * Because Forge fucked this one up royally. + */ +public class GT_FluidStack extends FluidStack { + private static final Collection<GT_FluidStack> sAllFluidStacks = new ArrayList<GT_FluidStack>(5000); + private Fluid mFluid; + + public GT_FluidStack(Fluid aFluid, int aAmount) { + super(aFluid, aAmount); + mFluid = aFluid; + sAllFluidStacks.add(this); + } + + public GT_FluidStack(FluidStack aFluid) { + this(aFluid.getFluid(), aFluid.amount); + } + + public static void fixAllThoseFuckingFluidIDs() { + //for (GT_FluidStack tFluid : sAllFluidStacks) tFluid.fixFluidIDForFucksSake(); + //for (Map<Fluid, ?> tMap : GregTech_API.sFluidMappings) try {GT_Utility.reMap(tMap);} catch(Throwable e) {e.printStackTrace(GT_Log.err);} + } + + public void fixFluidIDForFucksSake() { + //int fluidID = this.getFluidID(); + //try {fluidID = mFluid.getID();} catch(Throwable e) {fluidID = -1;} + } + + @Override + public FluidStack copy() { + //fixFluidIDForFucksSake(); + return new GT_FluidStack(this); + } +}
\ No newline at end of file |