Class NPC

java.lang.Object
dev.sergiferry.playernpc.api.NPC
Direct Known Subclasses:
NPC.Global, NPC.Personal

public abstract class NPC extends Object
NPC instance per player. An NPC can only be seen by one player. This is because of personalization purposes. With this instance you can create customizable Player NPCs that can be interacted with. NPCs will be only visible to players after creating the EntityPlayer, and show it to the player.
Since:
2021.1
  • Method Details

    • teleport

      public void teleport(@Nonnull org.bukkit.entity.Entity entity)
    • teleport

      public void teleport(@Nonnull org.bukkit.Location location)
    • teleport

      public void teleport(double x, double y, double z)
    • teleport

      public void teleport(org.bukkit.World world, double x, double y, double z)
    • teleport

      public void teleport(double x, double y, double z, float yaw, float pitch)
    • setItem

      public void setItem(@Nonnull NPC.Slot slot, @Nullable org.bukkit.inventory.ItemStack itemStack)
    • setHelmet

      public void setHelmet(@Nullable org.bukkit.inventory.ItemStack itemStack)
    • setChestPlate

      public void setChestPlate(@Nullable org.bukkit.inventory.ItemStack itemStack)
    • setLeggings

      public void setLeggings(@Nullable org.bukkit.inventory.ItemStack itemStack)
    • setBoots

      public void setBoots(@Nullable org.bukkit.inventory.ItemStack itemStack)
    • setItemInRightHand

      public void setItemInRightHand(@Nullable org.bukkit.inventory.ItemStack itemStack)
    • setItemInLeftHand

      public void setItemInLeftHand(@Nullable org.bukkit.inventory.ItemStack itemStack)
    • clearEquipment

      public void clearEquipment(@Nonnull NPC.Slot slot)
    • clearEquipment

      public void clearEquipment()
    • lookAt

      public void lookAt(@Nonnull org.bukkit.entity.Entity entity)
    • lookAt

      public void lookAt(@Nonnull org.bukkit.Location location)
    • lookAt

      public abstract void lookAt(float yaw, float pitch)
    • setCollidable

      public void setCollidable(boolean collidable)
    • setSkin

      public void setSkin(@Nonnull String texture, @Nonnull String signature)
    • setSkin

      public void setSkin(@Nullable String playerName, Consumer finishAction)
    • setSkin

      public void setSkin(@Nullable String playerName)
    • setSkin

      public void setSkin(@Nullable org.bukkit.entity.Player playerSkin)
    • setSkin

      public void setSkin(@Nullable org.bukkit.entity.Player playerSkin, Consumer<NPC.Skin> finishAction)
    • setSkin

      public void setSkin(@Nullable NPC.Skin npcSkin)
    • clearSkin

      public void clearSkin()
    • setSkinVisiblePart

      public void setSkinVisiblePart(NPC.Skin.Part part, boolean visible)
    • setPose

      public void setPose(NPC.Pose pose)
    • setCrouching

      public void setCrouching(boolean b)
    • setSwimming

      public void setSwimming(boolean b)
    • setSleeping

      public void setSleeping(boolean b)
    • resetPose

      public void resetPose()
    • clearText

      public void clearText()
    • setText

      public void setText(@Nonnull List<String> text)
    • setText

      public void setText(@Nonnull String... text)
    • setText

      public void setText(@Nonnull String text)
    • resetLinesOpacity

      public void resetLinesOpacity()
    • resetLineOpacity

      public void resetLineOpacity(int line)
    • setLineOpacity

      public void setLineOpacity(int line, @Nullable NPC.Hologram.Opacity textOpacity)
    • setTextOpacity

      public void setTextOpacity(@Nullable NPC.Hologram.Opacity textOpacity)
    • resetTextOpacity

      public void resetTextOpacity()
    • setGlowingColor

      public void setGlowingColor(@Nullable org.bukkit.ChatColor color)
    • setGlowingColor

      public void setGlowingColor(@Nullable NPC.Color color)
    • setGlowing

      public void setGlowing(boolean glowing, @Nullable org.bukkit.ChatColor color)
    • setGlowing

      public void setGlowing(boolean glowing, @Nullable NPC.Color color)
    • setGlowing

      public void setGlowing(boolean glowing)
    • follow

      public NPC.Move.Behaviour follow(NPC npc)
    • follow

      public NPC.Move.Behaviour follow(NPC npc, double min, double max)
    • follow

      public NPC.Move.Behaviour follow(org.bukkit.entity.Entity entity, double min, double max)
    • follow

      public NPC.Move.Behaviour follow(org.bukkit.entity.Entity entity, double min)
    • follow

      public NPC.Move.Behaviour follow(org.bukkit.entity.Entity entity)
    • cancelMoveBehaviour

      public void cancelMoveBehaviour()
    • setPath

      public dev.sergiferry.playernpc.api.NPC.Move.Path setPath(dev.sergiferry.playernpc.api.NPC.Move.Path.Type type, List<org.bukkit.Location> locations)
    • setPath

      public dev.sergiferry.playernpc.api.NPC.Move.Path setPath(dev.sergiferry.playernpc.api.NPC.Move.Path.Type type, org.bukkit.Location... locations)
    • setRepetitivePath

      public dev.sergiferry.playernpc.api.NPC.Move.Path setRepetitivePath(List<org.bukkit.Location> locations)
    • setRepetitivePath

      public dev.sergiferry.playernpc.api.NPC.Move.Path setRepetitivePath(org.bukkit.Location... locations)
    • setGazeTrackingType

      public void setGazeTrackingType(@Nullable NPC.GazeTrackingType followLookType)
    • setHideDistance

      public void setHideDistance(double hideDistance)
    • setLineSpacing

      public void setLineSpacing(double lineSpacing)
    • resetLineSpacing

      public void resetLineSpacing()
    • setTextAlignment

      public void setTextAlignment(@Nonnull org.bukkit.util.Vector vector)
    • resetTextAlignment

      public void resetTextAlignment()
    • setInteractCooldown

      public void setInteractCooldown(long milliseconds)
    • resetInteractCooldown

      public void resetInteractCooldown()
    • addCustomClickAction

      public NPC.Interact.Actions.Custom addCustomClickAction(@Nullable NPC.Interact.ClickType clickType, @Nonnull BiConsumer<NPC,​org.bukkit.entity.Player> customAction)
    • addCustomClickAction

      public NPC.Interact.Actions.Custom addCustomClickAction(@Nonnull BiConsumer<NPC,​org.bukkit.entity.Player> customAction)
    • addMessageClickAction

      public NPC.Interact.Actions.Message addMessageClickAction(@Nullable NPC.Interact.ClickType clickType, @Nonnull String... message)
    • addMessageClickAction

      public NPC.Interact.Actions.Message addMessageClickAction(@Nonnull String... message)
    • addRunPlayerCommandClickAction

      public NPC.Interact.Actions.PlayerCommand addRunPlayerCommandClickAction(@Nullable NPC.Interact.ClickType clickType, @Nonnull String command)
    • addRunPlayerCommandClickAction

      public NPC.Interact.Actions.PlayerCommand addRunPlayerCommandClickAction(@Nonnull String command)
    • addRunConsoleCommandClickAction

      public NPC.Interact.Actions.ConsoleCommand addRunConsoleCommandClickAction(@Nullable NPC.Interact.ClickType clickType, @Nonnull String command)
    • addRunConsoleCommandClickAction

      public NPC.Interact.Actions.ConsoleCommand addRunConsoleCommandClickAction(@Nonnull String command)
    • addConnectBungeeServerClickAction

      public NPC.Interact.Actions.BungeeServer addConnectBungeeServerClickAction(@Nullable NPC.Interact.ClickType clickType, @Nonnull String server)
    • addConnectBungeeServerClickAction

      public NPC.Interact.Actions.BungeeServer addConnectBungeeServerClickAction(@Nonnull String server)
    • addActionBarMessageClickAction

      public NPC.Interact.Actions.ActionBar addActionBarMessageClickAction(@Nullable NPC.Interact.ClickType clickType, @Nonnull String message)
    • addActionBarMessageClickAction

      public NPC.Interact.Actions.ActionBar addActionBarMessageClickAction(@Nonnull String message)
    • addTitleMessageClickAction

      public NPC.Interact.Actions.Title addTitleMessageClickAction(@Nullable NPC.Interact.ClickType clickType, @Nonnull String title, @Nonnull String subtitle, int fadeIn, int stay, int fadeOut)
    • addTitleMessageClickAction

      public NPC.Interact.Actions.Title addTitleMessageClickAction(@Nonnull String title, @Nonnull String subtitle, int fadeIn, int stay, int fadeOut)
    • addTeleportToLocationClickAction

      public NPC.Interact.Actions.TeleportToLocation addTeleportToLocationClickAction(@Nullable NPC.Interact.ClickType clickType, @Nonnull org.bukkit.Location location)
    • addTeleportToLocationClickAction

      public NPC.Interact.Actions.TeleportToLocation addTeleportToLocationClickAction(@Nonnull org.bukkit.Location location)
    • resetClickActions

      public void resetClickActions(@Nonnull NPC.Interact.ClickType clickType)
    • removeClickAction

      public void removeClickAction(NPC.Interact.ClickAction clickAction)
    • resetClickActions

      public void resetClickActions()
    • goTo

      public NPC.Move.Task goTo(@Nonnull org.bukkit.Location end, boolean lookToEnd)
    • goTo

      public NPC.Move.Task goTo(@Nonnull org.bukkit.Location end)
    • goTo

      public NPC.Move.Task goTo(@Nonnull org.bukkit.Location end, boolean lookToEnd, @Nullable NPC.Move.Speed moveSpeed)
    • goTo

      public NPC.Move.Task goTo(@Nonnull org.bukkit.Location end, @Nullable NPC.Move.Speed moveSpeed)
    • cancelMove

      public void cancelMove()
    • setShowOnTabList

      public void setShowOnTabList(boolean show)
    • setMoveSpeed

      public void setMoveSpeed(@Nullable NPC.Move.Speed moveSpeed)
    • setMoveSpeed

      public void setMoveSpeed(double moveSpeed)
    • playAnimation

      public abstract void playAnimation(NPC.Animation animation)
    • hit

      public abstract void hit()
    • setOnFire

      public void setOnFire(boolean onFire)
    • setFireTicks

      public void setFireTicks(@Nonnull Integer ticks)
    • setCustomTabListName

      public void setCustomTabListName(@Nullable String name, boolean show)
    • setCustomTabListName

      public abstract void setCustomTabListName(@Nullable String name)
    • resetCustomTabListName

      public void resetCustomTabListName()
    • setCustomData

      public void setCustomData(String key, String value)
    • getCustomData

      public String getCustomData(String key)
    • getCustomDataKeys

      public Set<String> getCustomDataKeys()
    • hasCustomData

      public boolean hasCustomData(String key)
    • getLocation

      public org.bukkit.Location getLocation()
    • getEquipment

      public org.bukkit.inventory.ItemStack getEquipment(NPC.Slot npcSlot)
    • getMoveSpeed

      public double getMoveSpeed()
    • getMoveTask

      public NPC.Move.Task getMoveTask()
    • getMoveBehaviourType

      public NPC.Move.Behaviour.Type getMoveBehaviourType()
    • getWorld

      public org.bukkit.World getWorld()
    • getX

      public Double getX()
    • getY

      public Double getY()
    • getZ

      public Double getZ()
    • getYaw

      public Float getYaw()
    • getPitch

      public Float getPitch()
    • getNPCLib

      public NPCLib getNPCLib()
    • getCode

      public String getCode()
    • getSimpleCode

      public String getSimpleCode()
    • getText

      public List<String> getText()
    • getSkin

      public NPC.Skin getSkin()
    • isCollidable

      public boolean isCollidable()
    • getHideDistance

      public Double getHideDistance()
    • getLineSpacing

      public Double getLineSpacing()
    • getTextAlignment

      public org.bukkit.util.Vector getTextAlignment()
    • getInteractCooldown

      public Long getInteractCooldown()
    • getGlowingColor

      public NPC.Color getGlowingColor()
    • isShowOnTabList

      public boolean isShowOnTabList()
    • getCustomTabListName

      public String getCustomTabListName()
    • isGlowing

      public boolean isGlowing()
    • getGazeTrackingType

      public NPC.GazeTrackingType getGazeTrackingType()
    • getPose

      public NPC.Pose getPose()
    • getSkinParts

      public NPC.Skin.Parts getSkinParts()
    • getLineOpacity

      public NPC.Hologram.Opacity getLineOpacity(int line)
    • getTextOpacity

      public NPC.Hologram.Opacity getTextOpacity()
    • isOnFire

      public boolean isOnFire()
    • getAttributes

      public NPC.Attributes getAttributes()
    • getPlugin

      public org.bukkit.plugin.Plugin getPlugin()
    • getPluginManager

      public NPCLib.PluginManager getPluginManager()
    • getClickActions

      public List<NPC.Interact.ClickAction> getClickActions(@Nonnull NPC.Interact.ClickType clickType)