aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-03-20 19:19:16 +0100
committerGitHub <noreply@github.com>2021-03-20 19:19:16 +0100
commit61c8f1e5901773c02522f5461b60f19e2ade6d34 (patch)
treed6b730a04d8b3adf232c7e78d8cddc0609d6aede /src/main/java/gregtech/api
parenteb8dfedcaf55c3d5187b965c39455afb40b57431 (diff)
parentbbb90b49bb96886508bf4652c9f3a3a976bc39b2 (diff)
downloadGT5-Unofficial-61c8f1e5901773c02522f5461b60f19e2ade6d34.tar.gz
GT5-Unofficial-61c8f1e5901773c02522f5461b60f19e2ade6d34.tar.bz2
GT5-Unofficial-61c8f1e5901773c02522f5461b60f19e2ade6d34.zip
Merge pull request #468 from GTNewHorizons/separate-fluid-tank-info
Expose all fluid tanks properly when there are more than one internal tank
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java5
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java22
2 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
index fa653df16f..4775158319 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
@@ -382,6 +382,11 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
}
@Override
+ public boolean isDrainableStackSeparate() {
+ return true;
+ }
+
+ @Override
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()) return true;
if(!GT_Mod.gregtechproxy.mForceFreeFace) {
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java
index f4a70b2ee5..9222029854 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicTank.java
@@ -9,7 +9,9 @@ import gregtech.api.util.GT_Utility;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.FluidTankInfo;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
@@ -100,6 +102,9 @@ public abstract class GT_MetaTileEntity_BasicTank extends GT_MetaTileEntity_Tier
return mFluid;
}
+ /**
+ * If you override this and change the field returned, be sure to override {@link #isDrainableStackSeparate()} as well!
+ */
public FluidStack getDrainableStack() {
return mFluid;
}
@@ -109,6 +114,10 @@ public abstract class GT_MetaTileEntity_BasicTank extends GT_MetaTileEntity_Tier
return mFluid;
}
+ public boolean isDrainableStackSeparate() {
+ return false;
+ }
+
public FluidStack getDisplayedFluid() {
return getDrainableStack();
}
@@ -249,6 +258,19 @@ public abstract class GT_MetaTileEntity_BasicTank extends GT_MetaTileEntity_Tier
}
@Override
+ public FluidTankInfo[] getTankInfo(ForgeDirection aSide) {
+ if (getCapacity() <= 0 && !getBaseMetaTileEntity().hasSteamEngineUpgrade()) return new FluidTankInfo[]{};
+ if (isDrainableStackSeparate()) {
+ return new FluidTankInfo[]{
+ new FluidTankInfo(getFillableStack(), getCapacity()),
+ new FluidTankInfo(getDrainableStack(), getCapacity())
+ };
+ } else {
+ return new FluidTankInfo[]{new FluidTankInfo(this)};
+ }
+ }
+
+ @Override
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return aIndex == getOutputSlot();
}