public void a(NBTTagCompound nbttagcompound) { this.m(nbttagcompound.getFloat("AbsorptionAmount")); if (nbttagcompound.hasKey("Attributes") && this.world != null && !this.world.isStatic) { GenericAttributes.a( this.aX(), nbttagcompound.getList("Attributes"), this.world == null ? null : this.world.getLogger()); } if (nbttagcompound.hasKey("ActiveEffects")) { NBTTagList nbttaglist = nbttagcompound.getList("ActiveEffects"); for (int i = 0; i < nbttaglist.size(); ++i) { NBTTagCompound nbttagcompound1 = (NBTTagCompound) nbttaglist.get(i); MobEffect mobeffect = MobEffect.b(nbttagcompound1); this.effects.put(Integer.valueOf(mobeffect.getEffectId()), mobeffect); } } // CraftBukkit start if (nbttagcompound.hasKey("Bukkit.MaxHealth")) { NBTBase nbtbase = nbttagcompound.get("Bukkit.MaxHealth"); if (nbtbase.getTypeId() == 5) { this.getAttributeInstance(GenericAttributes.a) .setValue((double) ((NBTTagFloat) nbtbase).data); } else if (nbtbase.getTypeId() == 3) { this.getAttributeInstance(GenericAttributes.a) .setValue((double) ((NBTTagInt) nbtbase).data); } } // CraftBukkit end if (nbttagcompound.hasKey("HealF")) { this.setHealth(nbttagcompound.getFloat("HealF")); } else { NBTBase nbtbase = nbttagcompound.get("Health"); if (nbtbase == null) { this.setHealth(this.getMaxHealth()); } else if (nbtbase.getTypeId() == 5) { this.setHealth(((NBTTagFloat) nbtbase).data); } else if (nbtbase.getTypeId() == 2) { this.setHealth((float) ((NBTTagShort) nbtbase).data); } } this.hurtTicks = nbttagcompound.getShort("HurtTime"); this.deathTicks = nbttagcompound.getShort("DeathTime"); this.attackTicks = nbttagcompound.getShort("AttackTime"); }
public void b(NBTTagCompound nbttagcompound) { nbttagcompound.setFloat("HealF", this.getHealth()); nbttagcompound.setShort("Health", (short) ((int) Math.ceil((double) this.getHealth()))); nbttagcompound.setShort("HurtTime", (short) this.hurtTicks); nbttagcompound.setShort("DeathTime", (short) this.deathTicks); nbttagcompound.setShort("AttackTime", (short) this.attackTicks); nbttagcompound.setFloat("AbsorptionAmount", this.bn()); ItemStack[] aitemstack = this.getEquipment(); int i = aitemstack.length; int j; ItemStack itemstack; for (j = 0; j < i; ++j) { itemstack = aitemstack[j]; if (itemstack != null) { this.d.a(itemstack.D()); } } nbttagcompound.set("Attributes", GenericAttributes.a(this.aX())); aitemstack = this.getEquipment(); i = aitemstack.length; for (j = 0; j < i; ++j) { itemstack = aitemstack[j]; if (itemstack != null) { this.d.b(itemstack.D()); } } if (!this.effects.isEmpty()) { NBTTagList nbttaglist = new NBTTagList(); Iterator iterator = this.effects.values().iterator(); while (iterator.hasNext()) { MobEffect mobeffect = (MobEffect) iterator.next(); nbttaglist.add(mobeffect.a(new NBTTagCompound())); } nbttagcompound.set("ActiveEffects", nbttaglist); } }
public void a(NBTTagCompound nbttagcompound) { this.m(nbttagcompound.getFloat("AbsorptionAmount")); if (nbttagcompound.hasKeyOfType("Attributes", 9) && this.world != null && !this.world.isStatic) { GenericAttributes.a(this.bc(), nbttagcompound.getList("Attributes", 10)); } if (nbttagcompound.hasKeyOfType("ActiveEffects", 9)) { NBTTagList nbttaglist = nbttagcompound.getList("ActiveEffects", 10); for (int i = 0; i < nbttaglist.size(); ++i) { NBTTagCompound nbttagcompound1 = nbttaglist.get(i); MobEffect mobeffect = MobEffect.b(nbttagcompound1); if (mobeffect != null) { this.effects.put(Integer.valueOf(mobeffect.getEffectId()), mobeffect); } } } if (nbttagcompound.hasKeyOfType("HealF", 99)) { this.setHealth(nbttagcompound.getFloat("HealF")); } else { NBTBase nbtbase = nbttagcompound.get("Health"); if (nbtbase == null) { this.setHealth(this.getMaxHealth()); } else if (nbtbase.getTypeId() == 5) { this.setHealth(((NBTTagFloat) nbtbase).h()); } else if (nbtbase.getTypeId() == 2) { this.setHealth((float) ((NBTTagShort) nbtbase).e()); } } this.hurtTicks = nbttagcompound.getShort("HurtTime"); this.deathTicks = nbttagcompound.getShort("DeathTime"); this.attackTicks = nbttagcompound.getShort("AttackTime"); }
public Multimap B() { Object object; if (this.hasTag() && this.tag.hasKeyOfType("AttributeModifiers", 9)) { object = HashMultimap.create(); NBTTagList nbttaglist = this.tag.getList("AttributeModifiers", 10); for (int i = 0; i < nbttaglist.size(); ++i) { NBTTagCompound nbttagcompound = nbttaglist.get(i); AttributeModifier attributemodifier = GenericAttributes.a(nbttagcompound); if (attributemodifier != null && attributemodifier.a().getLeastSignificantBits() != 0L && attributemodifier.a().getMostSignificantBits() != 0L) { ((Multimap) object).put(nbttagcompound.getString("AttributeName"), attributemodifier); } } } else { object = this.getItem().i(); } return (Multimap) object; }