protected void updateEntityActionState() { if (count == 0) { int wdepth = WorldHelper.getWaterDepth((int) posX, (int) posY, (int) posZ, worldObj); // if (rand.nextInt(90) == 0 || randomMotionVecX == 0.0F // && randomMotionVecY == 0.0F && randomMotionVecZ == 0.0F) { count = refreshRate - refreshRate / 2 + rand.nextInt(refreshRate / 2); randomMotionVecX = (-0.5f + rand.nextFloat()) * 0.2F; if (wdepth >= depthRangeEnd) randomMotionVecY = (0.02F + rand.nextFloat()) * 0.1F; else if (wdepth <= depthRangeStart) randomMotionVecY = (-0.02F + rand.nextFloat()) * 0.1F; else randomMotionVecY = rand.nextFloat() * 0.1F; randomMotionVecZ = (-0.5f + rand.nextFloat()) * 0.2F; } count--; despawnEntity(); }
/** Checks if the entity's current position is a valid location to spawn this entity. */ public boolean getCanSpawnHere() { int wdepth = WorldHelper.getWaterDepth((int) posX, (int) posY, (int) posZ, worldObj); if (wdepth >= depthRangeStart && wdepth < depthRangeEnd) return true; return false; }