mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-03 23:07:40 +01:00
SPIGOT-4705: Revamp Ageable interface and add Breedable interface
By: Shane Bee <shanebolenback@me.com>
This commit is contained in:
parent
319278404d
commit
43a2f06e98
@ -8,7 +8,7 @@ import org.jetbrains.annotations.NotNull;
|
|||||||
/**
|
/**
|
||||||
* Represents a villager NPC
|
* Represents a villager NPC
|
||||||
*/
|
*/
|
||||||
public interface AbstractVillager extends Ageable, NPC, InventoryHolder, Merchant {
|
public interface AbstractVillager extends Breedable, NPC, InventoryHolder, Merchant {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets this villager's inventory.
|
* Gets this villager's inventory.
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
package org.bukkit.entity;
|
package org.bukkit.entity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an entity that can age and breed.
|
* Represents an entity that can age.
|
||||||
*/
|
*/
|
||||||
public interface Ageable extends Creature {
|
public interface Ageable extends Creature {
|
||||||
/**
|
/**
|
||||||
* Gets the age of this animal.
|
* Gets the age of this mob.
|
||||||
*
|
*
|
||||||
* @return Age
|
* @return Age
|
||||||
*/
|
*/
|
||||||
public int getAge();
|
public int getAge();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the age of this animal.
|
* Sets the age of this mob.
|
||||||
*
|
*
|
||||||
* @param age New age
|
* @param age New age
|
||||||
*/
|
*/
|
||||||
@ -23,30 +23,34 @@ public interface Ageable extends Creature {
|
|||||||
* maturing or getting ready for mating.
|
* maturing or getting ready for mating.
|
||||||
*
|
*
|
||||||
* @param lock new lock
|
* @param lock new lock
|
||||||
|
* @deprecated see {@link Breedable#setAgeLock(boolean)}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void setAgeLock(boolean lock);
|
public void setAgeLock(boolean lock);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the current agelock.
|
* Gets the current agelock.
|
||||||
*
|
*
|
||||||
* @return the current agelock
|
* @return the current agelock
|
||||||
|
* @deprecated see {@link Breedable#getAgeLock()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public boolean getAgeLock();
|
public boolean getAgeLock();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the age of the animal to a baby
|
* Sets the age of the mob to a baby
|
||||||
*/
|
*/
|
||||||
public void setBaby();
|
public void setBaby();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the age of the animal to an adult
|
* Sets the age of the mob to an adult
|
||||||
*/
|
*/
|
||||||
public void setAdult();
|
public void setAdult();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the animal is an adult.
|
* Returns true if the mob is an adult.
|
||||||
*
|
*
|
||||||
* @return return true if the animal is an adult
|
* @return return true if the mob is an adult
|
||||||
*/
|
*/
|
||||||
public boolean isAdult();
|
public boolean isAdult();
|
||||||
|
|
||||||
@ -54,7 +58,9 @@ public interface Ageable extends Creature {
|
|||||||
* Return the ability to breed of the animal.
|
* Return the ability to breed of the animal.
|
||||||
*
|
*
|
||||||
* @return the ability to breed of the animal
|
* @return the ability to breed of the animal
|
||||||
|
* @deprecated see {@link Breedable#canBreed()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public boolean canBreed();
|
public boolean canBreed();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -62,6 +68,8 @@ public interface Ageable extends Creature {
|
|||||||
* breed it will instantly grow up.
|
* breed it will instantly grow up.
|
||||||
*
|
*
|
||||||
* @param breed breedability of the animal
|
* @param breed breedability of the animal
|
||||||
|
* @deprecated see {@link Breedable#setBreed(boolean)}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void setBreed(boolean breed);
|
public void setBreed(boolean breed);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
/**
|
/**
|
||||||
* Represents an Animal.
|
* Represents an Animal.
|
||||||
*/
|
*/
|
||||||
public interface Animals extends Ageable {
|
public interface Animals extends Breedable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the UUID of the entity that caused this entity to enter the
|
* Get the UUID of the entity that caused this entity to enter the
|
||||||
|
38
paper-api/src/main/java/org/bukkit/entity/Breedable.java
Normal file
38
paper-api/src/main/java/org/bukkit/entity/Breedable.java
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package org.bukkit.entity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents an entity that can age and breed.
|
||||||
|
*/
|
||||||
|
public interface Breedable extends Ageable {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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);
|
||||||
|
|
||||||
|
}
|
@ -3,7 +3,7 @@ package org.bukkit.entity;
|
|||||||
/**
|
/**
|
||||||
* Piglin / Piglin Brute.
|
* Piglin / Piglin Brute.
|
||||||
*/
|
*/
|
||||||
public interface PiglinAbstract extends Monster {
|
public interface PiglinAbstract extends Monster, Ageable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets whether the piglin is immune to zombification.
|
* Gets whether the piglin is immune to zombification.
|
||||||
@ -53,13 +53,17 @@ public interface PiglinAbstract extends Monster {
|
|||||||
* Gets whether the piglin is a baby
|
* Gets whether the piglin is a baby
|
||||||
*
|
*
|
||||||
* @return Whether the piglin is a baby
|
* @return Whether the piglin is a baby
|
||||||
|
* @deprecated see {@link Ageable#isAdult()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public boolean isBaby();
|
public boolean isBaby();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets whether the piglin is a baby
|
* Sets whether the piglin is a baby
|
||||||
*
|
*
|
||||||
* @param flag Whether the piglin is a baby
|
* @param flag Whether the piglin is a baby
|
||||||
|
* @deprecated see {@link Ageable#setBaby()} and {@link Ageable#setAdult()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void setBaby(boolean flag);
|
public void setBaby(boolean flag);
|
||||||
}
|
}
|
||||||
|
@ -3,19 +3,23 @@ package org.bukkit.entity;
|
|||||||
/**
|
/**
|
||||||
* Represents a Zoglin.
|
* Represents a Zoglin.
|
||||||
*/
|
*/
|
||||||
public interface Zoglin extends Monster {
|
public interface Zoglin extends Monster, Ageable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets whether the zoglin is a baby
|
* Gets whether the zoglin is a baby
|
||||||
*
|
*
|
||||||
* @return Whether the zoglin is a baby
|
* @return Whether the zoglin is a baby
|
||||||
|
* @deprecated see {@link Ageable#isAdult()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public boolean isBaby();
|
public boolean isBaby();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets whether the zoglin is a baby
|
* Sets whether the zoglin is a baby
|
||||||
*
|
*
|
||||||
* @param flag Whether the zoglin is a baby
|
* @param flag Whether the zoglin is a baby
|
||||||
|
* @deprecated see {@link Ageable#setBaby()} and {@link Ageable#setAdult()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void setBaby(boolean flag);
|
public void setBaby(boolean flag);
|
||||||
}
|
}
|
||||||
|
@ -6,20 +6,24 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
/**
|
/**
|
||||||
* Represents a Zombie.
|
* Represents a Zombie.
|
||||||
*/
|
*/
|
||||||
public interface Zombie extends Monster {
|
public interface Zombie extends Monster, Ageable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets whether the zombie is a baby
|
* Gets whether the zombie is a baby
|
||||||
*
|
*
|
||||||
* @return Whether the zombie is a baby
|
* @return Whether the zombie is a baby
|
||||||
|
* @deprecated see {@link Ageable#isAdult()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public boolean isBaby();
|
public boolean isBaby();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets whether the zombie is a baby
|
* Sets whether the zombie is a baby
|
||||||
*
|
*
|
||||||
* @param flag Whether the zombie is a baby
|
* @param flag Whether the zombie is a baby
|
||||||
|
* @deprecated see {@link Ageable#setBaby()} and {@link Ageable#setAdult()}
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public void setBaby(boolean flag);
|
public void setBaby(boolean flag);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user