@Override
 public void readFromNBT(NBTTagCompound compound) {
   super.readFromNBT(compound);
   this.script = new ScriptInstance(this, compound.getString("SpellScript"));
   this.energy = compound.getInteger("MagicEnergy");
   this.direction = NBTUtils.convertTagContentToFacing(compound);
 }
 @Override
 public void writeToNBT(NBTTagCompound compound) {
   super.writeToNBT(compound);
   compound.setString("SpellScript", Strings.join(script.getChant(), " "));
   compound.setFloat("MagicEnergy", energy);
   NBTUtils.convertFacingToTag(compound, this.direction);
 }