/** * Returns true if the mob is currently able to mate with the specified mob. */ public boolean canMateWith(EntityAnimal par1EntityAnimal) { if (par1EntityAnimal == this) { return false; } else if (par1EntityAnimal.getClass() != this.getClass()) { return false; } else { EntityHorse var2 = (EntityHorse)par1EntityAnimal; if (this.func_110200_cJ() && var2.func_110200_cJ()) { int var3 = this.func_110265_bP(); int var4 = var2.func_110265_bP(); return var3 == var4 || var3 == 0 && var4 == 1 || var3 == 1 && var4 == 0; } else { return false; } } } public EntityAgeable createChild(EntityAgeable par1EntityAgeable) { EntityHorse var2 = (EntityHorse)par1EntityAgeable; EntityHorse var3 = new EntityHorse(this.worldObj); int var4 = this.func_110265_bP(); int var5 = var2.func_110265_bP(); int var6 = 0; if (var4 == var5) { var6 = var4; } else if (var4 == 0 && var5 == 1 || var4 == 1 && var5 == 0) { var6 = 2; } if (var6 == 0) { int var8 = this.rand.nextInt(9); int var7; if (var8 < 4) { var7 = this.func_110202_bQ() & 255; } else if (var8 < 8) { var7 = var2.func_110202_bQ() & 255; } else { var7 = this.rand.nextInt(7); } int var9 = this.rand.nextInt(5); if (var9 < 4) { var7 |= this.func_110202_bQ() & 65280; } else if (var9 < 8) { var7 |= var2.func_110202_bQ() & 65280; } else { var7 |= this.rand.nextInt(5) << 8 & 65280; } var3.func_110235_q(var7); } var3.func_110214_p(var6); double var14 = this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111125_b() + par1EntityAgeable.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111125_b() + (double)this.func_110267_cL(); var3.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(var14 / 3.0D); double var13 = this.func_110148_a(field_110271_bv).func_111125_b() + par1EntityAgeable.func_110148_a(field_110271_bv).func_111125_b() + this.func_110245_cM(); var3.func_110148_a(field_110271_bv).func_111128_a(var13 / 3.0D); double var11 = this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111125_b() + par1EntityAgeable.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111125_b() + this.func_110203_cN(); var3.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(var11 / 3.0D); return var3; } public EntityLivingData func_110161_a(EntityLivingData par1EntityLivingData) { Object par1EntityLivingData1 = super.func_110161_a(par1EntityLivingData); boolean var2 = false; int var3 = 0; int var7; if (par1EntityLivingData1 instanceof EntityHorseGroupData) { var7 = ((EntityHorseGroupData)par1EntityLivingData1).field_111107_a; var3 = ((EntityHorseGroupData)par1EntityLivingData1).field_111106_b & 255 | this.rand.nextInt(5) << 8; } else { if (this.rand.nextInt(10) == 0) { var7 = 1; } else { int var4 = this.rand.nextInt(7); int var5 = this.rand.nextInt(5); var7 = 0; var3 = var4 | var5 << 8; } par1EntityLivingData1 = new EntityHorseGroupData(var7, var3); } this.func_110214_p(var7); this.func_110235_q(var3); if (this.rand.nextInt(5) == 0) { this.setGrowingAge(-24000); } if (var7 != 4 && var7 != 3) { this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a((double)this.func_110267_cL()); if (var7 == 0) { this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(this.func_110203_cN()); } else { this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(0.17499999701976776D); } } else { this.func_110148_a(SharedMonsterAttributes.field_111267_a).func_111128_a(15.0D); this.func_110148_a(SharedMonsterAttributes.field_111263_d).func_111128_a(0.20000000298023224D); } if (var7 != 2 && var7 != 1) { this.func_110148_a(field_110271_bv).func_111128_a(this.func_110245_cM()); } else { this.func_110148_a(field_110271_bv).func_111128_a(0.5D); } this.setEntityHealth(this.func_110138_aP()); return (EntityLivingData)par1EntityLivingData1; } public float func_110258_o(float par1) { return this.field_110284_bK + (this.field_110283_bJ - this.field_110284_bK) * par1; } public float func_110223_p(float par1) { return this.field_110282_bM + (this.field_110281_bL - this.field_110282_bM) * par1; } public float func_110201_q(float par1) { return this.field_110288_bO + (this.field_110287_bN - this.field_110288_bO) * par1; }