package mekanism.common.content.boiler;
import mekanism.common.multiblock.MultiblockCache;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fluids.FluidStack;
public class BoilerCache extends MultiblockCache<SynchronizedBoilerData>
{
public FluidStack water;
public FluidStack steam;
public double temperature;
@Override
public void apply(SynchronizedBoilerData data)
{
data.waterStored = water;
data.steamStored = steam;
data.temperature = temperature;
}
@Override
public void sync(SynchronizedBoilerData data)
{
water = data.waterStored;
steam = data.steamStored;
temperature = data.temperature;
}
@Override
public void load(NBTTagCompound nbtTags)
{
if(nbtTags.hasKey("cachedWater"))
{
water = FluidStack.loadFluidStackFromNBT(nbtTags.getCompoundTag("cachedWater"));
}
if(nbtTags.hasKey("cachedSteam"))
{
steam = FluidStack.loadFluidStackFromNBT(nbtTags.getCompoundTag("cachedSteam"));
}
temperature = nbtTags.getDouble("temperature");
}
@Override
public void save(NBTTagCompound nbtTags)
{
if(water != null)
{
nbtTags.setTag("cachedWater", water.writeToNBT(new NBTTagCompound()));
}
if(steam != null)
{
nbtTags.setTag("cachedSteam", steam.writeToNBT(new NBTTagCompound()));
}
nbtTags.setDouble("temperature", temperature);
}
}