aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/fluid/FluidTankGT.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/fluid/FluidTankGT.java')
-rw-r--r--src/main/java/gregtech/api/fluid/FluidTankGT.java37
1 files changed, 22 insertions, 15 deletions
diff --git a/src/main/java/gregtech/api/fluid/FluidTankGT.java b/src/main/java/gregtech/api/fluid/FluidTankGT.java
index 5df9e2638a..93b3c87575 100644
--- a/src/main/java/gregtech/api/fluid/FluidTankGT.java
+++ b/src/main/java/gregtech/api/fluid/FluidTankGT.java
@@ -1,16 +1,15 @@
package gregtech.api.fluid;
+import static com.google.common.primitives.Ints.saturatedCast;
+
import gregtech.api.util.GT_Utility;
+import java.util.Map;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidTankInfo;
import net.minecraftforge.fluids.IFluidTank;
-import java.util.Map;
-
-import static com.google.common.primitives.Ints.saturatedCast;
-
public class FluidTankGT implements IFluidTank {
public final FluidTankGT[] AS_ARRAY = new FluidTankGT[] {this};
private FluidStack mFluid;
@@ -18,6 +17,7 @@ public class FluidTankGT implements IFluidTank {
private boolean mPreventDraining = false, mVoidExcess = false, mChangedFluids = false;
/** HashMap of adjustable Tank Sizes based on Fluids if needed. */
private Map<String, Long> mAdjustableCapacity = null;
+
private long mAdjustableMultiplier = 1;
/** Gives you a Tank Index in case there is multiple Tanks on a TileEntity that cares. */
public int mIndex = 0;
@@ -102,7 +102,7 @@ public class FluidTankGT implements IFluidTank {
@Override
public FluidStack drain(int aDrained, boolean aDoDrain) {
if (isEmpty() || aDrained <= 0) return null;
- if (mAmount < aDrained) aDrained = (int)mAmount;
+ if (mAmount < aDrained) aDrained = (int) mAmount;
final FluidStack rFluid = new FluidStack(mFluid, aDrained);
if (aDoDrain) {
mAmount -= aDrained;
@@ -190,11 +190,20 @@ public class FluidTankGT implements IFluidTank {
} else mAmount = tCapacity;
return mVoidExcess ? aFluid.amount : (int) tFilled;
}
- return saturatedCast(isEmpty() ? mVoidExcess ? aFluid.amount : Math.min(capacity(aFluid), aFluid.amount) : contains(aFluid) ? mVoidExcess ? aFluid.amount : Math.min(capacity(aFluid) - mAmount, aFluid.amount) : 0);
+ return saturatedCast(
+ isEmpty()
+ ? mVoidExcess ? aFluid.amount : Math.min(capacity(aFluid), aFluid.amount)
+ : contains(aFluid)
+ ? mVoidExcess ? aFluid.amount : Math.min(capacity(aFluid) - mAmount, aFluid.amount)
+ : 0);
}
public boolean canFillAll(FluidStack aFluid) {
- return aFluid == null || aFluid.amount <= 0 || (isEmpty() ? mVoidExcess || aFluid.amount <= capacity(aFluid) : contains(aFluid) && (mVoidExcess || mAmount + aFluid.amount <= capacity(aFluid)));
+ return aFluid == null
+ || aFluid.amount <= 0
+ || (isEmpty()
+ ? mVoidExcess || aFluid.amount <= capacity(aFluid)
+ : contains(aFluid) && (mVoidExcess || mAmount + aFluid.amount <= capacity(aFluid)));
}
public boolean canFillAll(long aAmount) {
@@ -341,23 +350,22 @@ public class FluidTankGT implements IFluidTank {
}
public long capacity(FluidStack aFluid) {
- if(mAdjustableCapacity == null || aFluid == null)
- return mCapacity;
+ if (mAdjustableCapacity == null || aFluid == null) return mCapacity;
return capacity(aFluid.getFluid());
}
public long capacity(Fluid aFluid) {
- if(mAdjustableCapacity == null || aFluid == null)
- return mCapacity;
+ if (mAdjustableCapacity == null || aFluid == null) return mCapacity;
return capacity(aFluid.getName());
}
public long capacity(String aFluid) {
- if( mAdjustableCapacity == null || aFluid == null)
- return mCapacity;
+ if (mAdjustableCapacity == null || aFluid == null) return mCapacity;
final Long tSize = mAdjustableCapacity.get(aFluid);
- return tSize == null ? Math.max(mAmount, mCapacity) : Math.max(tSize * mAdjustableMultiplier, Math.max(mAmount, mCapacity));
+ return tSize == null
+ ? Math.max(mAmount, mCapacity)
+ : Math.max(tSize * mAdjustableMultiplier, Math.max(mAmount, mCapacity));
}
public boolean isHalf() {
@@ -440,5 +448,4 @@ public class FluidTankGT implements IFluidTank {
public FluidTankInfo getInfo() {
return new FluidTankInfo(isEmpty() ? null : mFluid.copy(), saturatedCast(capacity()));
}
-
}