package com.w67clement.mineapi.entity; import org.bukkit.entity.Entity; /** * Represents a base entity in the world * * @author 67clement */ public interface MC_Entity { /** * Returns a unique id for this entity * @return Entity's id. */ public int getEntityId(); /** * Sets a custom name on a mob. This name will be used in death messages * and can be sent to the client as a nameplate over the mob. * <p> * Setting the name to null or an empty string will clear it. * <p> * This value has no effect on players, they will always use their real * name. * * @param customName The name to set. */ public void setCustomName(String customName); /** * Gets the custom name on a mob. If there is no name this method will * return null. * <p> * This value has no effect on players, they will always use their real * name. * * @return Name of the mob or null */ public String getCustomName(); /** * Gets if the mob has custom name. * @return Has custom name or not. */ public boolean hasCustomName(); /** * Sets whether or not to display the mob's custom name client side. The * name will be displayed above the mob similarly to a player. * <p> * This value has no effect on players, they will always display their * name. * * @param visible Custom name or not */ public void setCustomNameVisible(boolean visible); /** * Gets whether or not the mob's custom name is displayed client side. * <p> * This value has no effect on players, they will always display their * name. * * @return If the custom name is displayed */ public boolean getCustomNameVisible(); /** * Sets whether the mob should be * invisible or not * * @param invisible Whether the mob is invisible or not */ public void setInvisible(boolean invisible); /** * Returns whether the mob should be * invisible or not * * @return Whether the mob is invisible or not */ public boolean isInvisible(); /** * Sets whether remove the hitbox and the collisions. * @param noClip Remove or add. */ public void setNoClip(boolean noClip); /** * Gets if entity has hitbox and collisions activated. * @return Entity has no clip. */ public boolean hasNoClip(); /** * Sets the size of the bounding box. * @param width Width of the bounding box. * @param length Length of the bounding box. */ public void setSize(float width, float length); /** * Gets the bukkit's entity. * @return The bukkit's entity. */ public Entity getEntityHandle(); /** * Gets the nms' handle of the mob. * @return An nms' entity object. */ public Object getMC_Handle(); }