diff --git a/paper-api/src/main/java/org/bukkit/entity/Vex.java b/paper-api/src/main/java/org/bukkit/entity/Vex.java index 6b61c4ab77..dc21f3ba64 100644 --- a/paper-api/src/main/java/org/bukkit/entity/Vex.java +++ b/paper-api/src/main/java/org/bukkit/entity/Vex.java @@ -1,5 +1,8 @@ package org.bukkit.entity; +import org.bukkit.Location; +import org.jetbrains.annotations.Nullable; + /** * Represents a Vex. */ @@ -22,4 +25,52 @@ public interface Vex extends Monster { * @param charging new state */ void setCharging(boolean charging); + + /** + * Gets the bound of this entity. + * + * An idle vex will navigate a 15x11x15 area centered around its bound + * location. + * + * When summoned by an Evoker, this location will be set to that of the + * summoner. + * + * @return {@link Location} of the bound or null if not set + */ + @Nullable + Location getBound(); + + /** + * Sets the bound of this entity. + * + * An idle vex will navigate a 15x11x15 area centered around its bound + * location. + * + * When summoned by an Evoker, this location will be set to that of the + * summoner. + * + * @param location {@link Location} of the bound or null to clear + */ + void setBound(@Nullable Location location); + + /** + * Gets the remaining lifespan of this entity. + * + * @return life in ticks + */ + int getLifeTicks(); + + /** + * Sets the remaining lifespan of this entity. + * + * @param lifeTicks life in ticks, or negative for unlimited lifepan + */ + void setLifeTicks(int lifeTicks); + + /** + * Gets if the entity has a limited life. + * + * @return true if the entity has limited life + */ + boolean hasLimitedLife(); }