package mekanism.generators.common.content.turbine; import mekanism.common.multiblock.MultiblockCache; import mekanism.common.tile.TileEntityGasTank.GasMode; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; public class TurbineCache extends MultiblockCache<SynchronizedTurbineData> { public FluidStack fluid; public double electricity; public GasMode dumpMode = GasMode.IDLE; @Override public void apply(SynchronizedTurbineData data) { data.fluidStored = fluid; data.electricityStored = electricity; data.dumpMode = dumpMode; } @Override public void sync(SynchronizedTurbineData data) { fluid = data.fluidStored; electricity = data.electricityStored; dumpMode = data.dumpMode; } @Override public void load(NBTTagCompound nbtTags) { if(nbtTags.hasKey("cachedFluid")) { fluid = FluidStack.loadFluidStackFromNBT(nbtTags.getCompoundTag("cachedFluid")); } electricity = nbtTags.getDouble("electricity"); dumpMode = GasMode.values()[nbtTags.getInteger("dumpMode")]; } @Override public void save(NBTTagCompound nbtTags) { if(fluid != null) { nbtTags.setTag("cachedFluid", fluid.writeToNBT(new NBTTagCompound())); } nbtTags.setDouble("electricity", electricity); nbtTags.setInteger("dumpMode", dumpMode.ordinal()); } }