Class NpcData

java.lang.Object
de.oliver.fancynpcs.api.NpcData

public class NpcData extends Object
  • Constructor Details

    • NpcData

      public NpcData(String id, String name, UUID creator, String displayName, SkinData skin, org.bukkit.Location location, boolean showInTab, boolean spawnEntity, boolean collidable, boolean glowing, net.kyori.adventure.text.format.NamedTextColor glowingColor, org.bukkit.entity.EntityType type, Map<NpcEquipmentSlot, org.bukkit.inventory.ItemStack> equipment, boolean turnToPlayer, int turnToPlayerDistance, Consumer<org.bukkit.entity.Player> onClick, Map<ActionTrigger, List<NpcAction.NpcActionData>> actions, float interactionCooldown, float scale, int visibilityDistance, Map<NpcAttribute, String> attributes, boolean mirrorSkin)
    • NpcData

      public NpcData(String name, UUID creator, org.bukkit.Location location)
      Creates a default npc with random id
  • Method Details

    • getId

      public String getId()
    • getName

      public String getName()
    • getCreator

      public UUID getCreator()
    • getDisplayName

      public String getDisplayName()
    • setDisplayName

      public NpcData setDisplayName(String displayName)
    • getSkinData

      public SkinData getSkinData()
    • setSkinData

      public NpcData setSkinData(SkinData skinData)
      Sets the skin data of the npc Use this method, if you have a loaded skin data object (with texture and signature), otherwise use setSkin(String, SkinData.SkinVariant)
      Parameters:
      skinData - the skin data
    • setSkin

      public NpcData setSkin(String skin, SkinData.SkinVariant variant)
      Loads the skin data and sets it as the skin of the npc
      Parameters:
      skin - a valid UUID, username, URL or file path
      variant - the skin variant
    • setSkin

      public NpcData setSkin(String skin)
      Loads the skin data and sets it as the skin of the npc
      Parameters:
      skin - a valid UUID, username, URL or file path
    • getLocation

      public org.bukkit.Location getLocation()
    • setLocation

      public NpcData setLocation(org.bukkit.Location location)
    • isShowInTab

      public boolean isShowInTab()
    • setShowInTab

      public NpcData setShowInTab(boolean showInTab)
    • isSpawnEntity

      public boolean isSpawnEntity()
    • setSpawnEntity

      public NpcData setSpawnEntity(boolean spawnEntity)
    • isCollidable

      public boolean isCollidable()
    • setCollidable

      public NpcData setCollidable(boolean collidable)
    • isGlowing

      public boolean isGlowing()
    • setGlowing

      public NpcData setGlowing(boolean glowing)
    • getGlowingColor

      public net.kyori.adventure.text.format.NamedTextColor getGlowingColor()
    • setGlowingColor

      public NpcData setGlowingColor(net.kyori.adventure.text.format.NamedTextColor glowingColor)
    • getType

      public org.bukkit.entity.EntityType getType()
    • setType

      public NpcData setType(org.bukkit.entity.EntityType type)
    • getEquipment

      public Map<NpcEquipmentSlot, org.bukkit.inventory.ItemStack> getEquipment()
    • setEquipment

      public NpcData setEquipment(Map<NpcEquipmentSlot, org.bukkit.inventory.ItemStack> equipment)
    • addEquipment

      public NpcData addEquipment(NpcEquipmentSlot slot, org.bukkit.inventory.ItemStack item)
    • getOnClick

      public Consumer<org.bukkit.entity.Player> getOnClick()
    • setOnClick

      public NpcData setOnClick(Consumer<org.bukkit.entity.Player> onClick)
    • getActions

    • setActions

      public NpcData setActions(Map<ActionTrigger, List<NpcAction.NpcActionData>> actions)
    • getActions

      public List<NpcAction.NpcActionData> getActions(ActionTrigger trigger)
    • setActions

      public NpcData setActions(ActionTrigger trigger, List<NpcAction.NpcActionData> actions)
    • addAction

      public NpcData addAction(ActionTrigger trigger, int order, NpcAction action, String value)
    • removeAction

      public NpcData removeAction(ActionTrigger trigger, NpcAction action)
    • isTurnToPlayer

      public boolean isTurnToPlayer()
    • setTurnToPlayer

      public NpcData setTurnToPlayer(boolean turnToPlayer)
    • getTurnToPlayerDistance

      public int getTurnToPlayerDistance()
      Gets the turn-to-player distance for this NPC.
      Returns:
      the custom distance value, or -1 if using the default from config
    • setTurnToPlayerDistance

      public NpcData setTurnToPlayerDistance(int distance)
      Sets the turn-to-player distance for this NPC.
      Parameters:
      distance - the custom distance value, or -1 to use the default from config
      Returns:
      this NpcData instance for method chaining
    • getInteractionCooldown

      public float getInteractionCooldown()
    • setInteractionCooldown

      public NpcData setInteractionCooldown(float interactionCooldown)
    • getScale

      public float getScale()
    • setScale

      public NpcData setScale(float scale)
    • getVisibilityDistance

      public int getVisibilityDistance()
    • setVisibilityDistance

      public NpcData setVisibilityDistance(int visibilityDistance)
    • getAttributes

      public Map<NpcAttribute, String> getAttributes()
    • addAttribute

      public void addAttribute(NpcAttribute attribute, String value)
    • clearAttributes

      public void clearAttributes()
    • applyAllAttributes

      public void applyAllAttributes(Npc npc)
    • isMirrorSkin

      public boolean isMirrorSkin()
    • setMirrorSkin

      public NpcData setMirrorSkin(boolean mirrorSkin)
    • getVisibility

      public NpcVisibility getVisibility()
    • setVisibility

      public NpcData setVisibility(NpcVisibility visibility)
    • isDirty

      public boolean isDirty()
    • setDirty

      public void setDirty(boolean dirty)