@Override public void readFromNBT(NBTTagCompound tag) { super.readFromNBT(tag); boolean formed = tag.getBoolean("formed"); if (formed) { setReactor(new FusionReactor(this)); getReactor().setPlasmaTemp(tag.getDouble("plasmaTemp")); getReactor().setCaseTemp(tag.getDouble("caseTemp")); getReactor().setInjectionRate(tag.getInteger("injectionRate")); getReactor().setBurning(tag.getBoolean("burning")); getReactor().updateTemperatures(); } fuelTank.read(tag.getCompoundTag("fuelTank")); deuteriumTank.read(tag.getCompoundTag("deuteriumTank")); tritiumTank.read(tag.getCompoundTag("tritiumTank")); waterTank.readFromNBT(tag.getCompoundTag("waterTank")); steamTank.readFromNBT(tag.getCompoundTag("steamTank")); }