public boolean func_70097_a(DamageSource p_70097_1_, float p_70097_2_) { if(this.func_85032_ar()) { return false; } else { this.field_70788_c = 60; if(!this.func_70650_aV()) { AttributeInstance var3 = this.func_110148_a(SharedMonsterAttributes.field_111263_d); if(var3.func_111127_a(field_110179_h) == null) { var3.func_111121_a(field_110181_i); } } this.field_70789_a = null; this.field_70881_d = 0; return super.func_70097_a(p_70097_1_, p_70097_2_); } }
public void func_70071_h_() { if(this.field_110191_bu != this.field_70789_a && !this.field_70170_p.field_72995_K) { AttributeInstance var1 = this.func_110148_a(SharedMonsterAttributes.field_111263_d); var1.func_111124_b(field_110190_br); if(this.field_70789_a != null) { var1.func_111121_a(field_110190_br); } } this.field_110191_bu = this.field_70789_a; if(this.field_70838_e > 0 && --this.field_70838_e == 0) { this.func_85030_a("mob.zombiepig.zpigangry", this.func_70599_aP() * 2.0F, ((this.field_70146_Z.nextFloat() - this.field_70146_Z.nextFloat()) * 0.2F + 1.0F) * 1.8F); } super.func_70071_h_(); }
private static NBTTagCompound func_111261_a(AttributeInstance p_111261_0_) { NBTTagCompound var1 = new NBTTagCompound(); Attribute var2 = p_111261_0_.func_111123_a(); var1.func_74778_a("Name", var2.func_111108_a()); var1.func_74780_a("Base", p_111261_0_.func_111125_b()); Collection var3 = p_111261_0_.func_111122_c(); if(var3 != null && !var3.isEmpty()) { NBTTagList var4 = new NBTTagList(); Iterator var5 = var3.iterator(); while(var5.hasNext()) { AttributeModifier var6 = (AttributeModifier)var5.next(); if(var6.func_111165_e()) { var4.func_74742_a(func_111262_a(var6)); } } var1.func_74782_a("Modifiers", var4); } return var1; }
private static void func_111258_a(AttributeInstance p_111258_0_, NBTTagCompound p_111258_1_) { p_111258_0_.func_111128_a(p_111258_1_.func_74769_h("Base")); if(p_111258_1_.func_74764_b("Modifiers")) { NBTTagList var2 = p_111258_1_.func_74761_m("Modifiers"); for(int var3 = 0; var3 < var2.func_74745_c(); ++var3) { AttributeModifier var4 = func_111259_a((NBTTagCompound)var2.func_74743_b(var3)); AttributeModifier var5 = p_111258_0_.func_111127_a(var4.func_111167_a()); if(var5 != null) { p_111258_0_.func_111124_b(var5); } p_111258_0_.func_111121_a(var4); } } }
public float func_71151_f() { float var1 = 1.0F; if(this.field_71075_bZ.field_75100_b) { var1 *= 1.1F; } AttributeInstance var2 = this.func_110148_a(SharedMonsterAttributes.field_111263_d); var1 = (float)((double)var1 * ((var2.func_111126_e() / (double)this.field_71075_bZ.func_75094_b() + 1.0D) / 2.0D)); if(this.func_71039_bw() && this.func_71011_bu().field_77993_c == Item.field_77707_k.field_77779_bT) { int var3 = this.func_71057_bx(); float var4 = (float)var3 / 20.0F; if(var4 > 1.0F) { var4 = 1.0F; } else { var4 *= var4; } var1 *= 1.0F - var4 * 0.15F; } return var1; }
/** * Set sprinting switch for Entity. */ public void setSprinting(boolean par1) { super.setSprinting(par1); AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed); if (attributeinstance.getModifier(sprintingSpeedBoostModifierUUID) != null) { attributeinstance.removeModifier(sprintingSpeedBoostModifier); } if (par1) { attributeinstance.applyModifier(sprintingSpeedBoostModifier); } }
/** * Called when the entity is attacked. */ public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { if (this.isEntityInvulnerable()) { return false; } else { this.fleeingTick = 60; if (!this.isAIEnabled()) { AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed); if (attributeinstance.getModifier(field_110179_h) == null) { attributeinstance.applyModifier(field_110181_i); } } this.entityToAttack = null; this.inLove = 0; return super.attackEntityFrom(par1DamageSource, par2); } }
/** * Called to update the entity's position/logic. */ public void onUpdate() { if (this.field_110191_bu != this.entityToAttack && !this.worldObj.isRemote) { AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed); attributeinstance.removeModifier(field_110190_br); if (this.entityToAttack != null) { attributeinstance.applyModifier(field_110190_br); } } this.field_110191_bu = this.entityToAttack; if (this.randomSoundDelay > 0 && --this.randomSoundDelay == 0) { this.playSound("mob.zombiepig.zpigangry", this.getSoundVolume() * 2.0F, ((this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F) * 1.8F); } super.onUpdate(); }
/** * Set whether this zombie is a child. */ public void setChild(boolean par1) { this.getDataWatcher().updateObject(12, Byte.valueOf((byte)(par1 ? 1 : 0))); if (this.worldObj != null && !this.worldObj.isRemote) { AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed); attributeinstance.removeModifier(babySpeedBoostModifier); if (par1) { attributeinstance.applyModifier(babySpeedBoostModifier); } } }
public static void func_111260_a(BaseAttributeMap par0BaseAttributeMap, NBTTagList par1NBTTagList, ILogAgent par2ILogAgent) { for (int i = 0; i < par1NBTTagList.tagCount(); ++i) { NBTTagCompound nbttagcompound = (NBTTagCompound)par1NBTTagList.tagAt(i); AttributeInstance attributeinstance = par0BaseAttributeMap.getAttributeInstanceByName(nbttagcompound.getString("Name")); if (attributeinstance != null) { func_111258_a(attributeinstance, nbttagcompound); } else if (par2ILogAgent != null) { par2ILogAgent.logWarning("Ignoring unknown attribute \'" + nbttagcompound.getString("Name") + "\'"); } } }
private static void func_111258_a(AttributeInstance par0AttributeInstance, NBTTagCompound par1NBTTagCompound) { par0AttributeInstance.setAttribute(par1NBTTagCompound.getDouble("Base")); if (par1NBTTagCompound.hasKey("Modifiers")) { NBTTagList nbttaglist = par1NBTTagCompound.getTagList("Modifiers"); for (int i = 0; i < nbttaglist.tagCount(); ++i) { AttributeModifier attributemodifier = func_111259_a((NBTTagCompound)nbttaglist.tagAt(i)); AttributeModifier attributemodifier1 = par0AttributeInstance.getModifier(attributemodifier.getID()); if (attributemodifier1 != null) { par0AttributeInstance.removeModifier(attributemodifier1); } par0AttributeInstance.applyModifier(attributemodifier); } } }
public void applyAttributesModifiersToEntity(EntityLivingBase par1EntityLivingBase, BaseAttributeMap par2BaseAttributeMap, int par3) { Iterator iterator = this.field_111188_I.entrySet().iterator(); while (iterator.hasNext()) { Entry entry = (Entry)iterator.next(); AttributeInstance attributeinstance = par2BaseAttributeMap.getAttributeInstance((Attribute)entry.getKey()); if (attributeinstance != null) { AttributeModifier attributemodifier = (AttributeModifier)entry.getValue(); attributeinstance.removeModifier(attributemodifier); attributeinstance.applyModifier(new AttributeModifier(attributemodifier.getID(), this.getName() + " " + par3, this.func_111183_a(par3, attributemodifier), attributemodifier.getOperation())); } } }
private void updateMoveSpeed(EntityLivingBase entity, EntityStats stats) { AttributeInstance moveSpeedAttribute = entity.getEntityAttribute(SharedMonsterAttributes.movementSpeed); double newMoveSpeed = stats.getMovementSpeed(); double oldMoveSpeed = moveSpeedAttribute.getAttributeValue(); if (newMoveSpeed != oldMoveSpeed) { double baseMoveSpeed = moveSpeedAttribute.getBaseValue(); // Get the modifier: AttributeModifier speedModifier = moveSpeedAttribute.getModifier(uuid); if (speedModifier != null) { // Remove the old modifier moveSpeedAttribute.removeModifier(speedModifier); } // I think the argument "2" stands for operation "add percentage": speedModifier = new AttributeModifier(uuid, "Speed bonus from Dota 2 Items", newMoveSpeed / baseMoveSpeed - 1.0, 2) .setSaved(false); // I think this makes it non-persistent moveSpeedAttribute.applyModifier(speedModifier); } }
/** * Set whether this zombie is a child. */ public void setChild(boolean par1) { this.getDataWatcher().updateObject(12, Byte.valueOf((byte) (par1 ? 1 : 0))); if (this.worldObj != null && !this.worldObj.isRemote) { AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed); attributeinstance.removeModifier(babySpeedBoostModifier); if (par1) { attributeinstance.applyModifier(babySpeedBoostModifier); } } }
public void func_111148_a(Multimap p_111148_1_) { Iterator var2 = p_111148_1_.entries().iterator(); while(var2.hasNext()) { Entry var3 = (Entry)var2.next(); AttributeInstance var4 = this.func_111152_a((String)var3.getKey()); if(var4 != null) { var4.func_111124_b((AttributeModifier)var3.getValue()); } } }
public void func_111147_b(Multimap p_111147_1_) { Iterator var2 = p_111147_1_.entries().iterator(); while(var2.hasNext()) { Entry var3 = (Entry)var2.next(); AttributeInstance var4 = this.func_111152_a((String)var3.getKey()); if(var4 != null) { var4.func_111124_b((AttributeModifier)var3.getValue()); var4.func_111121_a((AttributeModifier)var3.getValue()); } } }
public AttributeInstance func_111150_b(Attribute p_111150_1_) { if(this.field_111153_b.containsKey(p_111150_1_.func_111108_a())) { throw new IllegalArgumentException("Attribute is already registered!"); } else { ModifiableAttributeInstance var2 = new ModifiableAttributeInstance(this, p_111150_1_); this.field_111153_b.put(p_111150_1_.func_111108_a(), var2); if(p_111150_1_ instanceof RangedAttribute && ((RangedAttribute)p_111150_1_).func_111116_f() != null) { this.field_111163_c.put(((RangedAttribute)p_111150_1_).func_111116_f(), var2); } this.field_111154_a.put(p_111150_1_, var2); return var2; } }
public Collection func_111160_c() { HashSet var1 = Sets.newHashSet(); Iterator var2 = this.func_111146_a().iterator(); while(var2.hasNext()) { AttributeInstance var3 = (AttributeInstance)var2.next(); if(var3.func_111123_a().func_111111_c()) { var1.add(var3); } } return var1; }
public void func_70031_b(boolean p_70031_1_) { super.func_70031_b(p_70031_1_); AttributeInstance var2 = this.func_110148_a(SharedMonsterAttributes.field_111263_d); if(var2.func_111127_a(field_110156_b) != null) { var2.func_111124_b(field_110157_c); } if(p_70031_1_) { var2.func_111121_a(field_110157_c); } }
public void func_82227_f(boolean p_82227_1_) { this.func_70096_w().func_75692_b(12, Byte.valueOf((byte)(p_82227_1_?1:0))); if(this.field_70170_p != null && !this.field_70170_p.field_72995_K) { AttributeInstance var2 = this.func_110148_a(SharedMonsterAttributes.field_111263_d); var2.func_111124_b(field_110188_br); if(p_82227_1_) { var2.func_111121_a(field_110188_br); } } }
public static NBTTagList func_111257_a(BaseAttributeMap p_111257_0_) { NBTTagList var1 = new NBTTagList(); Iterator var2 = p_111257_0_.func_111146_a().iterator(); while(var2.hasNext()) { AttributeInstance var3 = (AttributeInstance)var2.next(); var1.func_74742_a(func_111261_a(var3)); } return var1; }
public static void func_111260_a(BaseAttributeMap p_111260_0_, NBTTagList p_111260_1_, ILogAgent p_111260_2_) { for(int var3 = 0; var3 < p_111260_1_.func_74745_c(); ++var3) { NBTTagCompound var4 = (NBTTagCompound)p_111260_1_.func_74743_b(var3); AttributeInstance var5 = p_111260_0_.func_111152_a(var4.func_74779_i("Name")); if(var5 != null) { func_111258_a(var5, var4); } else if(p_111260_2_ != null) { p_111260_2_.func_98236_b("Ignoring unknown attribute \'" + var4.func_74779_i("Name") + "\'"); } } }
public Packet44UpdateAttributes(int p_i1486_1_, Collection p_i1486_2_) { this.field_111005_a = p_i1486_1_; Iterator var3 = p_i1486_2_.iterator(); while(var3.hasNext()) { AttributeInstance var4 = (AttributeInstance)var3.next(); this.field_111004_b.add(new Packet44UpdateAttributesSnapshot(this, var4.func_111123_a().func_111108_a(), var4.func_111125_b(), var4.func_111122_c())); } }
public void func_110773_a(Packet44UpdateAttributes p_110773_1_) { Entity var2 = this.func_72545_a(p_110773_1_.func_111002_d()); if(var2 != null) { if(!(var2 instanceof EntityLivingBase)) { throw new IllegalStateException("Server tried to update attributes of a non-living entity (actually: " + var2 + ")"); } else { BaseAttributeMap var3 = ((EntityLivingBase)var2).func_110140_aT(); Iterator var4 = p_110773_1_.func_111003_f().iterator(); while(var4.hasNext()) { Packet44UpdateAttributesSnapshot var5 = (Packet44UpdateAttributesSnapshot)var4.next(); AttributeInstance var6 = var3.func_111152_a(var5.func_142040_a()); if(var6 == null) { var6 = var3.func_111150_b(new RangedAttribute(var5.func_142040_a(), 0.0D, 2.2250738585072014E-308D, Double.MAX_VALUE)); } var6.func_111128_a(var5.func_142041_b()); var6.func_142049_d(); Iterator var7 = var5.func_142039_c().iterator(); while(var7.hasNext()) { AttributeModifier var8 = (AttributeModifier)var7.next(); var6.func_111121_a(var8); } } } } }
public void func_111187_a(EntityLivingBase p_111187_1_, BaseAttributeMap p_111187_2_, int p_111187_3_) { Iterator var4 = this.field_111188_I.entrySet().iterator(); while(var4.hasNext()) { Entry var5 = (Entry)var4.next(); AttributeInstance var6 = p_111187_2_.func_111151_a((Attribute)var5.getKey()); if(var6 != null) { var6.func_111124_b((AttributeModifier)var5.getValue()); } } }
public void func_111185_a(EntityLivingBase p_111185_1_, BaseAttributeMap p_111185_2_, int p_111185_3_) { Iterator var4 = this.field_111188_I.entrySet().iterator(); while(var4.hasNext()) { Entry var5 = (Entry)var4.next(); AttributeInstance var6 = p_111185_2_.func_111151_a((Attribute)var5.getKey()); if(var6 != null) { AttributeModifier var7 = (AttributeModifier)var5.getValue(); var6.func_111124_b(var7); var6.func_111121_a(new AttributeModifier(var7.func_111167_a(), this.func_76393_a() + " " + p_111185_3_, this.func_111183_a(p_111185_3_, var7), var7.func_111169_c())); } } }
public static NBTTagList func_111257_a(BaseAttributeMap par0BaseAttributeMap) { NBTTagList nbttaglist = new NBTTagList(); Iterator iterator = par0BaseAttributeMap.getAllAttributes().iterator(); while (iterator.hasNext()) { AttributeInstance attributeinstance = (AttributeInstance)iterator.next(); nbttaglist.appendTag(func_111261_a(attributeinstance)); } return nbttaglist; }
private static NBTTagCompound func_111261_a(AttributeInstance par0AttributeInstance) { NBTTagCompound nbttagcompound = new NBTTagCompound(); Attribute attribute = par0AttributeInstance.func_111123_a(); nbttagcompound.setString("Name", attribute.getAttributeUnlocalizedName()); nbttagcompound.setDouble("Base", par0AttributeInstance.getBaseValue()); Collection collection = par0AttributeInstance.func_111122_c(); if (collection != null && !collection.isEmpty()) { NBTTagList nbttaglist = new NBTTagList(); Iterator iterator = collection.iterator(); while (iterator.hasNext()) { AttributeModifier attributemodifier = (AttributeModifier)iterator.next(); if (attributemodifier.isSaved()) { nbttaglist.appendTag(func_111262_a(attributemodifier)); } } nbttagcompound.setTag("Modifiers", nbttaglist); } return nbttagcompound; }
public Packet44UpdateAttributes(int par1, Collection par2Collection) { this.field_111005_a = par1; Iterator iterator = par2Collection.iterator(); while (iterator.hasNext()) { AttributeInstance attributeinstance = (AttributeInstance)iterator.next(); this.field_111004_b.add(new Packet44UpdateAttributesSnapshot(this, attributeinstance.func_111123_a().getAttributeUnlocalizedName(), attributeinstance.getBaseValue(), attributeinstance.func_111122_c())); } }
/** * Gets the player's field of view multiplier. (ex. when flying) */ public float getFOVMultiplier() { float f = 1.0F; if (this.capabilities.isFlying) { f *= 1.1F; } AttributeInstance attributeinstance = this.getEntityAttribute(SharedMonsterAttributes.movementSpeed); f = (float)((double)f * ((attributeinstance.getAttributeValue() / (double)this.capabilities.getWalkSpeed() + 1.0D) / 2.0D)); if (this.isUsingItem() && this.getItemInUse().itemID == Item.bow.itemID) { int i = this.getItemInUseDuration(); float f1 = (float)i / 20.0F; if (f1 > 1.0F) { f1 = 1.0F; } else { f1 *= f1; } f *= 1.0F - f1 * 0.15F; } return ForgeHooksClient.getOffsetFOV(this, f); }
public void func_110773_a(Packet44UpdateAttributes par1Packet44UpdateAttributes) { Entity entity = this.getEntityByID(par1Packet44UpdateAttributes.func_111002_d()); if (entity != null) { if (!(entity instanceof EntityLivingBase)) { throw new IllegalStateException("Server tried to update attributes of a non-living entity (actually: " + entity + ")"); } else { BaseAttributeMap baseattributemap = ((EntityLivingBase)entity).getAttributeMap(); Iterator iterator = par1Packet44UpdateAttributes.func_111003_f().iterator(); while (iterator.hasNext()) { Packet44UpdateAttributesSnapshot packet44updateattributessnapshot = (Packet44UpdateAttributesSnapshot)iterator.next(); AttributeInstance attributeinstance = baseattributemap.getAttributeInstanceByName(packet44updateattributessnapshot.func_142040_a()); if (attributeinstance == null) { attributeinstance = baseattributemap.func_111150_b(new RangedAttribute(packet44updateattributessnapshot.func_142040_a(), 0.0D, 2.2250738585072014E-308D, Double.MAX_VALUE)); } attributeinstance.setAttribute(packet44updateattributessnapshot.func_142041_b()); attributeinstance.func_142049_d(); Iterator iterator1 = packet44updateattributessnapshot.func_142039_c().iterator(); while (iterator1.hasNext()) { AttributeModifier attributemodifier = (AttributeModifier)iterator1.next(); attributeinstance.applyModifier(attributemodifier); } } } } }
public void removeAttributesModifiersFromEntity(EntityLivingBase par1EntityLivingBase, BaseAttributeMap par2BaseAttributeMap, int par3) { Iterator iterator = this.field_111188_I.entrySet().iterator(); while (iterator.hasNext()) { Entry entry = (Entry)iterator.next(); AttributeInstance attributeinstance = par2BaseAttributeMap.getAttributeInstance((Attribute)entry.getKey()); if (attributeinstance != null) { attributeinstance.removeModifier((AttributeModifier)entry.getValue()); } } }
public static void addKnockbackResistance(EntityLivingBase entity) { AttributeInstance attr = entity.getEntityAttribute(SharedMonsterAttributes.knockbackResistance); // Get the modifier: AttributeModifier modifier = attr.getModifier(uuid); if (modifier != null) { return; } // I think the argument "0" stands for operation "add amount": modifier = new AttributeModifier(uuid, "Speed bonus from Dota 2 Items", 1, 0) .setSaved(false); // I think this makes it non-persistent attr.applyModifier(modifier); }