aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kekztech/MultiFluidHandler.java
diff options
context:
space:
mode:
authorkekzdealer <kekzdealer@gmail.com>2019-10-11 02:29:41 +0200
committerkekzdealer <kekzdealer@gmail.com>2019-10-11 02:29:41 +0200
commit95ae4bcb0146fbccb6eaf0f0b3477050b8dde533 (patch)
treea56a19af59207ad07fef7aafdeefa5f4e6d76fa4 /src/main/java/kekztech/MultiFluidHandler.java
parentbee1facd1b8e78d4ef734a7b1986276133e9e980 (diff)
downloadGT5-Unofficial-95ae4bcb0146fbccb6eaf0f0b3477050b8dde533.tar.gz
GT5-Unofficial-95ae4bcb0146fbccb6eaf0f0b3477050b8dde533.tar.bz2
GT5-Unofficial-95ae4bcb0146fbccb6eaf0f0b3477050b8dde533.zip
Fixed TFFT persistency. Made TFFT storage more expensive. Added Multi Hatch recipe. Increased version #. Perparing for release.
Diffstat (limited to 'src/main/java/kekztech/MultiFluidHandler.java')
-rw-r--r--src/main/java/kekztech/MultiFluidHandler.java28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/main/java/kekztech/MultiFluidHandler.java b/src/main/java/kekztech/MultiFluidHandler.java
index 2565ede1dc..f131cfbb0d 100644
--- a/src/main/java/kekztech/MultiFluidHandler.java
+++ b/src/main/java/kekztech/MultiFluidHandler.java
@@ -12,10 +12,14 @@ public class MultiFluidHandler {
public static final int MAX_DISTINCT_FLUIDS = 25;
private final List<FluidStack> fluids = new ArrayList<>(MAX_DISTINCT_FLUIDS);
- private final int capacityPerFluid;
+ private int capacityPerFluid;
private boolean locked = true;
+ public MultiFluidHandler() {
+
+ }
+
public MultiFluidHandler(int capacityPerFluid) {
this.capacityPerFluid = capacityPerFluid;
}
@@ -52,15 +56,35 @@ public class MultiFluidHandler {
? fluids.get(slot) : null;
}
- public NBTTagCompound getAsNBTTag(NBTTagCompound nbt) {
+ public NBTTagCompound saveNBTData(NBTTagCompound nbt) {
+ System.out.println("Saving a multi hatch!");
nbt = (nbt == null) ? new NBTTagCompound() : nbt;
+
+ nbt.setInteger("capacityPerFluid", getCapacity());
int c = 0;
for(FluidStack f : fluids) {
nbt.setTag("" + c, f.writeToNBT(new NBTTagCompound()));
+ c++;
}
return nbt;
}
+ public void loadNBTData(NBTTagCompound nbt) {
+ nbt = (nbt == null) ? new NBTTagCompound() : nbt;
+
+ capacityPerFluid = nbt.getInteger("capacityPerFluid");
+
+ fluids.clear();
+ final NBTTagCompound fluidsTag = (NBTTagCompound) nbt.getTag("fluids");
+ for(int i = 0; i < MultiFluidHandler.MAX_DISTINCT_FLUIDS; i++) {
+ final NBTTagCompound fnbt = (NBTTagCompound) fluidsTag.getTag("" + i);
+ if(fnbt == null) {
+ break;
+ }
+ fluids.add(FluidStack.loadFluidStackFromNBT(fnbt));
+ }
+ }
+
public ArrayList<String> getInfoData() {
final ArrayList<String> lines = new ArrayList<>(fluids.size());
lines.add(EnumChatFormatting.YELLOW + "Stored Fluids:" + EnumChatFormatting.RESET);