diff options
Diffstat (limited to 'src/main/java/gregtech/api/objects/GT_FluidStack.java')
-rw-r--r-- | src/main/java/gregtech/api/objects/GT_FluidStack.java | 80 |
1 files changed, 50 insertions, 30 deletions
diff --git a/src/main/java/gregtech/api/objects/GT_FluidStack.java b/src/main/java/gregtech/api/objects/GT_FluidStack.java index 11571ba816..d98981cca1 100644 --- a/src/main/java/gregtech/api/objects/GT_FluidStack.java +++ b/src/main/java/gregtech/api/objects/GT_FluidStack.java @@ -3,53 +3,73 @@ package gregtech.api.objects; import gregtech.api.GregTech_API; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_Utility; +import net.minecraftforge.common.ForgeVersion; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; import java.util.ArrayList; import java.util.Collection; import java.util.Map; -import net.minecraftforge.common.ForgeVersion; -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; - private static volatile boolean lock=false; - + private static final Collection<GT_FluidStack> sAllFluidStacks = new ArrayList<GT_FluidStack>(5000); + private static volatile boolean lock = false; + private Fluid mFluid; + public GT_FluidStack(Fluid aFluid, int aAmount) { - super(aFluid, aAmount); - mFluid = aFluid; - sAllFluidStacks.add(this); + super(aFluid, aAmount); + mFluid = aFluid; + sAllFluidStacks.add(this); } - + public GT_FluidStack(FluidStack aFluid) { - this(aFluid.getFluid(), aFluid.amount); + this(aFluid.getFluid(), aFluid.amount); } - + public static synchronized void fixAllThoseFuckingFluidIDs() { - if(ForgeVersion.getBuildVersion()<1355){ - while(lock){try {Thread.sleep(1);} catch (InterruptedException e) {}} - lock=true; - 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);} - lock=false;} - } - + if (ForgeVersion.getBuildVersion() < 1355) { + while (lock) { + try { + Thread.sleep(1); + } catch (InterruptedException e) { + } + } + lock = true; + 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); + } + lock = false; + } + } + public void fixFluidIDForFucksSake() { - if(ForgeVersion.getBuildVersion()<1355){ - int fluidID; - try {fluidID = this.getFluid().getID();} catch(Throwable e){System.err.println(e);} - try {fluidID = mFluid.getID();} catch(Throwable e) {fluidID = -1;}} + if (ForgeVersion.getBuildVersion() < 1355) { + int fluidID; + try { + fluidID = this.getFluid().getID(); + } catch (Throwable e) { + System.err.println(e); + } + try { + fluidID = mFluid.getID(); + } catch (Throwable e) { + fluidID = -1; + } + } } - + @Override - public FluidStack copy() { - if(ForgeVersion.getBuildVersion()<1355){ - fixFluidIDForFucksSake();} + public FluidStack copy() { + if (ForgeVersion.getBuildVersion() < 1355) { + fixFluidIDForFucksSake(); + } return new GT_FluidStack(this); } }
\ No newline at end of file |