001 package net.minecraft.src;
002
003 public abstract class EntityWaterMob extends EntityCreature implements IAnimals
004 {
005 public EntityWaterMob(World par1World)
006 {
007 super(par1World);
008 }
009
010 public boolean canBreatheUnderwater()
011 {
012 return true;
013 }
014
015 /**
016 * Checks if the entity's current position is a valid location to spawn this entity.
017 */
018 public boolean getCanSpawnHere()
019 {
020 return this.worldObj.checkIfAABBIsClear(this.boundingBox);
021 }
022
023 /**
024 * Get number of ticks, at least during which the living entity will be silent.
025 */
026 public int getTalkInterval()
027 {
028 return 120;
029 }
030
031 /**
032 * Determines if an entity can be despawned, used on idle far away entities
033 */
034 protected boolean canDespawn()
035 {
036 return true;
037 }
038
039 /**
040 * Get the experience points the entity currently has.
041 */
042 protected int getExperiencePoints(EntityPlayer par1EntityPlayer)
043 {
044 return 1 + this.worldObj.rand.nextInt(3);
045 }
046 }