diff --git a/paper-api/src/main/java/org/bukkit/entity/Ageable.java b/paper-api/src/main/java/org/bukkit/entity/Ageable.java new file mode 100644 index 0000000000..0e7472a126 --- /dev/null +++ b/paper-api/src/main/java/org/bukkit/entity/Ageable.java @@ -0,0 +1,65 @@ +package org.bukkit.entity; + +/** + * Represents an entity that can age and breed. + */ +public interface Ageable extends Creature { + /** + * Gets the age of this animal. + * + * @return Age + */ + public int getAge(); + + /** + * Sets the age of this animal. + * + * @param age New age + */ + public void setAge(int age); + + /** + * Lock the age of the animal, setting this will prevent the animal from maturing or getting ready for mating. + * + * @param lock new lock + */ + public void setAgeLock(boolean lock); + + /** + * Gets the current agelock. + * + * @return the current agelock + */ + public boolean getAgeLock(); + + /** + * Sets the age of the animal to a baby + */ + public void setBaby(); + + /** + * Sets the age of the animal to an adult + */ + public void setAdult(); + + /** + * Returns true if the animal is an adult. + * + * @return return true if the animal is an adult + */ + public boolean isAdult(); + + /** + * Return the ability to breed of the animal. + * + * @return the ability to breed of the animal + */ + public boolean canBreed(); + + /** + * Set breedability of the animal, if the animal is a baby and set to breed it will instantly grow up. + * + * @param breed breedability of the animal + */ + public void setBreed(boolean breed); +} diff --git a/paper-api/src/main/java/org/bukkit/entity/Animals.java b/paper-api/src/main/java/org/bukkit/entity/Animals.java index a2e7102946..f0dc157dc3 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Animals.java +++ b/paper-api/src/main/java/org/bukkit/entity/Animals.java @@ -3,63 +3,4 @@ package org.bukkit.entity; /** * Represents an Animal. */ -public interface Animals extends Creature { - /** - * Gets the age of this animal. - * - * @return Age - */ - public int getAge(); - - /** - * Sets the age of this animal. - * - * @param age New age - */ - public void setAge(int age); - - /** - * Lock the age of the animal, setting this will prevent the animal from maturing or getting ready for mating. - * - * @param lock new lock - */ - public void setAgeLock(boolean lock); - - /** - * Gets the current agelock. - * - * @return the current agelock - */ - public boolean getAgeLock(); - - /** - * Sets the age of the animal to a baby - */ - public void setBaby(); - - /** - * Sets the age of the animal to an adult - */ - public void setAdult(); - - /** - * Returns true if the animal is an adult. - * - * @return return true if the animal is an adult - */ - public boolean isAdult(); - - /** - * Return the ability to breed of the animal. - * - * @return the ability to breed of the animal - */ - public boolean canBreed(); - - /** - * Set breedability of the animal, if the animal is a baby and set to breed it will instantly grow up. - * - * @param breed breedability of the animal - */ - public void setBreed(boolean breed); -} +public interface Animals extends Ageable {} diff --git a/paper-api/src/main/java/org/bukkit/entity/Villager.java b/paper-api/src/main/java/org/bukkit/entity/Villager.java index d07265eff7..f6f90cc125 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Villager.java +++ b/paper-api/src/main/java/org/bukkit/entity/Villager.java @@ -3,7 +3,7 @@ package org.bukkit.entity; /** * Represents a villager NPC */ -public interface Villager extends NPC { +public interface Villager extends Ageable, NPC { /** * Gets the current profession of this villager. *