@Override
  public void readEntityFromNBT(NBTTagCompound data) {
    super.readEntityFromNBT(data);

    setState(BossState.values()[data.getInteger("state")]);

    setCharge(data.getInteger("charge"));

    setCurrentAttack(
        data.getInteger("curattack") == -1
            ? null
            : BossAttack.values()[data.getInteger("curattack")]);
  }
 public BossAttack getCurrentAttack() {
   return BossAttack.values()[dataWatcher.getWatchableObjectInt(CURATTACK)];
 }