diff --git a/src/main/java/com/glodblock/github/common/parts/PartFluidStorageBus.java b/src/main/java/com/glodblock/github/common/parts/PartFluidStorageBus.java index 30fe136d..6fe7dcd1 100644 --- a/src/main/java/com/glodblock/github/common/parts/PartFluidStorageBus.java +++ b/src/main/java/com/glodblock/github/common/parts/PartFluidStorageBus.java @@ -3,7 +3,14 @@ package com.glodblock.github.common.parts; import static appeng.util.item.AEFluidStackType.FLUID_STACK_TYPE; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import com.glodblock.github.util.Util; + +import appeng.api.storage.StorageName; +import appeng.api.storage.data.IAEFluidStack; +import appeng.api.storage.data.IAEItemStack; +import appeng.api.storage.data.IAEStack; import appeng.api.storage.data.IAEStackType; import appeng.parts.misc.PartStorageBus; @@ -17,4 +24,20 @@ public class PartFluidStorageBus extends PartStorageBus { public IAEStackType getStackType() { return FLUID_STACK_TYPE; } + + @Override + public void readFromNBT(NBTTagCompound data) { + super.readFromNBT(data); + + // Migrate from old data + var config = this.getAEInventoryByName(StorageName.CONFIG); + for (int i = 0; i < config.getSizeInventory(); i++) { + IAEStack stack = config.getAEStackInSlot(i); + + if (stack instanceof IAEItemStack ais) { + IAEFluidStack afs = Util.getAEFluidFromItem(ais.getItemStack()); + config.putAEStackInSlot(i, afs); + } + } + } }