protected void aJ() { Iterator iterator = this.effects.keySet().iterator(); while (iterator.hasNext()) { Integer integer = (Integer) iterator.next(); MobEffect mobeffect = (MobEffect) this.effects.get(integer); if (!mobeffect.tick(this)) { if (!this.world.isStatic) { iterator.remove(); this.b(mobeffect); } } else if (mobeffect.getDuration() % 600 == 0) { this.a(mobeffect, false); } } int i; if (this.updateEffects) { if (!this.world.isStatic) { if (this.effects.isEmpty()) { this.datawatcher.watch(8, Byte.valueOf((byte) 0)); this.datawatcher.watch(7, Integer.valueOf(0)); this.setInvisible(false); } else { i = PotionBrewer.a(this.effects.values()); this.datawatcher.watch( 8, Byte.valueOf((byte) (PotionBrewer.b(this.effects.values()) ? 1 : 0))); this.datawatcher.watch(7, Integer.valueOf(i)); this.setInvisible(this.hasEffect(MobEffectList.INVISIBILITY.id)); } } this.updateEffects = false; } i = this.datawatcher.getInt(7); boolean flag = this.datawatcher.getByte(8) > 0; if (i > 0) { boolean flag1 = false; if (!this.isInvisible()) { flag1 = this.random.nextBoolean(); } else { flag1 = this.random.nextInt(15) == 0; } if (flag) { flag1 &= this.random.nextInt(5) == 0; } if (flag1 && i > 0) { double d0 = (double) (i >> 16 & 255) / 255.0D; double d1 = (double) (i >> 8 & 255) / 255.0D; double d2 = (double) (i >> 0 & 255) / 255.0D; this.world.addParticle( flag ? "mobSpellAmbient" : "mobSpell", this.locX + (this.random.nextDouble() - 0.5D) * (double) this.width, this.locY + this.random.nextDouble() * (double) this.length - (double) this.height, this.locZ + (this.random.nextDouble() - 0.5D) * (double) this.width, d0, d1, d2); } } }
private int b(int i, ItemStack itemstack) { return itemstack == null ? i : (Item.byId[itemstack.id].u() ? PotionBrewer.a(i, Item.byId[itemstack.id].t()) : i); }