Added rudimentary saving for rituals

This commit is contained in:
WayofTime 2016-01-09 15:31:30 -05:00
parent 3edfc3a8ac
commit c26b7851a8
3 changed files with 26 additions and 0 deletions

View file

@ -62,6 +62,14 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt
super.readFromNBT(tag);
owner = tag.getString(Constants.NBT.OWNER_UUID);
currentRitual = RitualRegistry.getRitualForId(tag.getString(Constants.NBT.CURRENT_RITUAL));
if (currentRitual != null)
{
NBTTagCompound ritualTag = tag.getCompoundTag(Constants.NBT.CURRENT_RITUAL_TAG);
if (ritualTag != null)
{
currentRitual.readFromNBT(ritualTag);
}
}
active = tag.getBoolean(Constants.NBT.IS_RUNNING);
activeTime = tag.getInteger(Constants.NBT.RUNTIME);
direction = EnumFacing.VALUES[tag.getInteger(Constants.NBT.DIRECTION)];
@ -74,6 +82,12 @@ public class TileMasterRitualStone extends TileEntity implements IMasterRitualSt
String ritualId = RitualRegistry.getIdForRitual(getCurrentRitual());
tag.setString(Constants.NBT.OWNER_UUID, Strings.isNullOrEmpty(getOwner()) ? "" : getOwner());
tag.setString(Constants.NBT.CURRENT_RITUAL, Strings.isNullOrEmpty(ritualId) ? "" : ritualId);
if (currentRitual != null)
{
NBTTagCompound ritualTag = new NBTTagCompound();
currentRitual.writeToNBT(ritualTag);
tag.setTag(Constants.NBT.CURRENT_RITUAL_TAG, ritualTag);
}
tag.setBoolean(Constants.NBT.IS_RUNNING, isActive());
tag.setInteger(Constants.NBT.RUNTIME, getActiveTime());
tag.setInteger(Constants.NBT.DIRECTION, direction.getIndex());