aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java
diff options
context:
space:
mode:
authorMaxim <maxim235@gmx.de>2022-11-04 19:27:11 +0100
committerGitHub <noreply@github.com>2022-11-04 19:27:11 +0100
commit4c5ead49ab3ab6d9fdd69f0075912df4291e3f40 (patch)
tree6443963a045a8c9245538376154ec8ebebd142d5 /src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java
parentd9c4f5efcf34c628f7958b70a9c00d43f50702d0 (diff)
downloadGT5-Unofficial-4c5ead49ab3ab6d9fdd69f0075912df4291e3f40.tar.gz
GT5-Unofficial-4c5ead49ab3ab6d9fdd69f0075912df4291e3f40.tar.bz2
GT5-Unofficial-4c5ead49ab3ab6d9fdd69f0075912df4291e3f40.zip
Add void excess option to yotta fluid tank (#100)
* Add void excess option to yotta fluid tank * derp * Added own localization of void excess toggle messages
Diffstat (limited to 'src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java')
-rw-r--r--src/main/java/goodgenerator/blocks/tileEntity/YottaFluidTank.java28
1 files changed, 27 insertions, 1 deletions
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);
}