Example #1
0
  public boolean m(Entity entity) {
    float f = (float) this.getAttributeInstance(GenericAttributes.e).getValue();
    int i = 0;

    if (entity instanceof EntityLiving) {
      f += EnchantmentManager.a((EntityLiving) this, (EntityLiving) entity);
      i += EnchantmentManager.getKnockbackEnchantmentLevel(this, (EntityLiving) entity);
    }

    boolean flag = entity.damageEntity(DamageSource.mobAttack(this), f);

    if (flag) {
      if (i > 0) {
        entity.g(
            (double) (-MathHelper.sin(this.yaw * 3.1415927F / 180.0F) * (float) i * 0.5F),
            0.1D,
            (double) (MathHelper.cos(this.yaw * 3.1415927F / 180.0F) * (float) i * 0.5F));
        this.motX *= 0.6D;
        this.motZ *= 0.6D;
      }

      int j = EnchantmentManager.getFireAspectEnchantmentLevel(this);

      if (j > 0) {
        entity.setOnFire(j * 4);
      }

      if (entity instanceof EntityLiving) {
        EnchantmentManager.a((EntityLiving) entity, (Entity) this);
      }

      EnchantmentManager.b(this, entity);
    }

    return flag;
  }