protected void updatePlayerActionState() {
   field_9344_ag++;
   EntityPlayer entityplayer = worldObj.getClosestPlayerToEntity(this, -1D);
   if (entityplayer != null) {
     double d = ((Entity) (entityplayer)).posX - posX;
     double d1 = ((Entity) (entityplayer)).posY - posY;
     double d2 = ((Entity) (entityplayer)).posZ - posZ;
     double d3 = d * d + d1 * d1 + d2 * d2;
     if (d3 > 16384D) {
       setEntityDead();
     }
     if (field_9344_ag > 600 && rand.nextInt(800) == 0) {
       if (d3 < 1024D) {
         field_9344_ag = 0;
       } else {
         setEntityDead();
       }
     }
   }
   moveStrafing = 0.0F;
   moveForward = 0.0F;
   float f = 8F;
   if (rand.nextFloat() < 0.02F) {
     EntityPlayer entityplayer1 = worldObj.getClosestPlayerToEntity(this, f);
     if (entityplayer1 != null) {
       field_4120_b = entityplayer1;
       field_4127_c = 10 + rand.nextInt(20);
     } else {
       randomYawVelocity = (rand.nextFloat() - 0.5F) * 20F;
     }
   }
   if (field_4120_b != null) {
     faceEntity(field_4120_b, 10F);
     if (field_4127_c-- <= 0
         || field_4120_b.isDead
         || field_4120_b.getDistanceSqToEntity(this) > (double) (f * f)) {
       field_4120_b = null;
     }
   } else {
     if (rand.nextFloat() < 0.05F) {
       randomYawVelocity = (rand.nextFloat() - 0.5F) * 20F;
     }
     rotationYaw += randomYawVelocity;
     rotationPitch = defaultPitch;
   }
   boolean flag = handleWaterMovement();
   boolean flag1 = handleLavaMovement();
   if (flag || flag1) {
     isJumping = rand.nextFloat() < 0.8F;
   }
 }