Example #1
0
 public boolean attack(Entity entity) {
   if (RayTracer.rayTrace(
           entity.getClientLevel(),
           new Vector(this.mob.pos.getZ(), this.mob.pos.getY(), this.mob.pos.getZ()),
           new Vector(entity.pos.getX(), entity.pos.getY(), entity.pos.getZ()),
           false)
       != null) {
     return false;
   } else {
     this.mob.attackTime = 5;
     this.attackDelay = this.random.nextInt(20) + 10;
     int damage =
         (int) ((this.random.nextFloat() + this.random.nextFloat()) / 2 * this.damage + 1);
     entity.hurt(this.mob, damage);
     this.noActionTime = 0;
     return true;
   }
 }