aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/blocks
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/goodgenerator/blocks')
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/YOTTAHatch.java2
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java28
2 files changed, 28 insertions, 2 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/YOTTAHatch.java b/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/YOTTAHatch.java
index 9d5f9feb40..6c8758ce67 100644
--- a/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/YOTTAHatch.java
+++ b/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/YOTTAHatch.java
@@ -281,7 +281,7 @@ public class YOTTAHatch extends GT_MetaTileEntity_Hatch
} else {
int added = host.mStorage.subtract(host.mStorageCurrent).intValue();
if (doFill) host.addFluid(added);
- return added;
+ return host.getIsVoidExcessEnabled() ? resource.amount : added;
}
}
return 0;
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java b/src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java
index fdcf4b4bb5..ef6982a88b 100644
--- a/src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java
+++ b/src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java
@@ -30,10 +30,12 @@ import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
+import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.ChatComponentTranslation;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.StatCollector;
import net.minecraftforge.common.util.ForgeDirection;
@@ -63,6 +65,8 @@ public class YottaFluidTank extends GT_MetaTileEntity_TooltipMultiBlockBase_EM
protected final String YOTTANK_MID = mName + "mid";
protected final String YOTTANK_TOP = mName + "top";
+ protected boolean voidExcessEnabled = false;
+
public YottaFluidTank(int id, String name, String nameRegional) {
super(id, name, nameRegional);
}
@@ -102,6 +106,7 @@ public class YottaFluidTank extends GT_MetaTileEntity_TooltipMultiBlockBase_EM
mStorage = new BigInteger(tAmount, 10);
mStorageCurrent = new BigInteger(tAmountCurrent, 10);
mFluidName = aNBT.getString("mFluidName");
+ voidExcessEnabled = aNBT.getBoolean("voidExcessEnabled");
super.loadNBTData(aNBT);
}
@@ -110,6 +115,7 @@ public class YottaFluidTank extends GT_MetaTileEntity_TooltipMultiBlockBase_EM
aNBT.setString("mStorage", mStorage.toString(10));
aNBT.setString("mStorageCurrent", mStorageCurrent.toString(10));
aNBT.setString("mFluidName", mFluidName);
+ aNBT.setBoolean("voidExcessEnabled", voidExcessEnabled);
super.saveNBTData(aNBT);
}
@@ -120,6 +126,10 @@ public class YottaFluidTank extends GT_MetaTileEntity_TooltipMultiBlockBase_EM
return true;
}
+ public boolean getIsVoidExcessEnabled() {
+ return voidExcessEnabled;
+ }
+
public boolean reduceFluid(long amount) {
BigInteger tmp = new BigInteger(amount + "");
if (mStorageCurrent.compareTo(tmp) < 0) {
@@ -357,7 +367,11 @@ public class YottaFluidTank extends GT_MetaTileEntity_TooltipMultiBlockBase_EM
} else {
BigInteger delta = mStorage.subtract(mStorageCurrent);
mStorageCurrent = mStorageCurrent.add(delta);
- tFluid.amount -= delta.intValue();
+ if (voidExcessEnabled) {
+ tFluid.amount = 0;
+ } else {
+ tFluid.amount -= delta.intValue();
+ }
}
}
}
@@ -407,6 +421,18 @@ public class YottaFluidTank extends GT_MetaTileEntity_TooltipMultiBlockBase_EM
}
@Override
+ public boolean onSolderingToolRightClick(
+ byte aSide, byte aWrenchingSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
+ if (aSide == getBaseMetaTileEntity().getFrontFacing()) {
+ voidExcessEnabled ^= true;
+ aPlayer.addChatMessage(new ChatComponentTranslation(
+ voidExcessEnabled ? "yottank.chat.voidExcessEnabled" : "yottank.chat.voidExcessDisabled"));
+ return true;
+ }
+ return false;
+ }
+
+ @Override
public String[] getStructureDescription(ItemStack stackSize) {
return DescTextLocalization.addText("YOTTank.hint", 8);
}