Files
Paper/paper-api/src/main/java/org/bukkit/entity/Vex.java
2022-04-21 06:47:24 +10:00

77 lines
1.8 KiB
Java

package org.bukkit.entity;
import org.bukkit.Location;
import org.jetbrains.annotations.Nullable;
/**
* Represents a Vex.
*/
public interface Vex extends Monster {
/**
* Gets the charging state of this entity.
*
* When this entity is charging it will having a glowing red texture.
*
* @return charging state
*/
boolean isCharging();
/**
* Sets the charging state of this entity.
*
* When this entity is charging it will having a glowing red texture.
*
* @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();
}