Class BukkitPlatformSelectorEntity

java.lang.Object
eu.cloudnetservice.modules.npc.impl.platform.bukkit.entity.BukkitPlatformSelectorEntity
All Implemented Interfaces:
eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
Direct Known Subclasses:
EntityBukkitPlatformSelectorEntity, NPCBukkitPlatformSelector

public abstract class BukkitPlatformSelectorEntity extends Object implements eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
  • Field Details

    • SET_COLOR

      protected static final dev.derklaro.reflexion.MethodAccessor<?> SET_COLOR
    • MAX_INVENTORY_ROWS

      protected static final int MAX_INVENTORY_ROWS
      See Also:
    • MAX_INVENTORY_ROW_ITEMS

      protected static final int MAX_INVENTORY_ROW_ITEMS
      See Also:
    • MAX_INVENTORY_SIZE

      protected static final int MAX_INVENTORY_SIZE
      See Also:
    • npc

      protected final eu.cloudnetservice.modules.npc.NPC npc
    • plugin

      protected final org.bukkit.plugin.Plugin plugin
    • server

      protected final org.bukkit.Server server
    • scheduler

      protected final org.bukkit.scheduler.BukkitScheduler scheduler
    • playerManager

      protected final eu.cloudnetservice.modules.bridge.player.PlayerManager playerManager
    • npcManagement

      protected final BukkitPlatformNPCManagement npcManagement
    • uniqueId

      protected final UUID uniqueId
    • scoreboardTeamName

      protected final String scoreboardTeamName
    • infoLineEntityIds

      protected final Set<Integer> infoLineEntityIds
    • infoLines

    • serviceItems

    • inventory

      protected volatile org.bukkit.inventory.Inventory inventory
    • npcLocation

      protected volatile org.bukkit.Location npcLocation
  • Constructor Details

  • Method Details

    • spawn

      public void spawn()
      Specified by:
      spawn in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • remove

      public void remove()
      Specified by:
      remove in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • doRemove

      protected void doRemove()
    • update

      public void update()
      Specified by:
      update in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • trackService

      public void trackService(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot service)
      Specified by:
      trackService in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • stopTrackingService

      public void stopTrackingService(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot service)
      Specified by:
      stopTrackingService in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • handleLeftClickAction

      public void handleLeftClickAction(@NonNull @NonNull org.bukkit.entity.Player player)
      Specified by:
      handleLeftClickAction in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • executeAction

      public void executeAction(@NonNull @NonNull org.bukkit.entity.Player player, @NonNull eu.cloudnetservice.modules.npc.NPC.ClickAction action)
      Specified by:
      executeAction in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • handleRightClickAction

      public void handleRightClickAction(@NonNull @NonNull org.bukkit.entity.Player player)
      Specified by:
      handleRightClickAction in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • handleInventoryInteract

      public void handleInventoryInteract(@NonNull @NonNull org.bukkit.inventory.Inventory inv, @NonNull @NonNull org.bukkit.entity.Player player, @NonNull @NonNull org.bukkit.inventory.ItemStack clickedItem)
      Specified by:
      handleInventoryInteract in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • registerScoreboardTeam

      public void registerScoreboardTeam(@NonNull @NonNull org.bukkit.scoreboard.Scoreboard scoreboard)
      Specified by:
      registerScoreboardTeam in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • selectorInventory

      @NonNull public @NonNull org.bukkit.inventory.Inventory selectorInventory()
      Specified by:
      selectorInventory in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • infoLineEntityIds

      @NonNull public @NonNull Set<Integer> infoLineEntityIds()
      Specified by:
      infoLineEntityIds in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • npc

      @NonNull public @NonNull eu.cloudnetservice.modules.npc.NPC npc()
      Specified by:
      npc in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • location

      @NonNull public @NonNull org.bukkit.Location location()
      Specified by:
      location in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • canSpawn

      public boolean canSpawn()
      Specified by:
      canSpawn in interface eu.cloudnetservice.modules.npc.platform.PlatformSelectorEntity<org.bukkit.Location, org.bukkit.entity.Player, org.bukkit.inventory.ItemStack, org.bukkit.inventory.Inventory, org.bukkit.scoreboard.Scoreboard>
    • handleClickAction

      protected void handleClickAction(@NonNull @NonNull org.bukkit.entity.Player player, @NonNull eu.cloudnetservice.modules.npc.NPC.ClickAction action)
    • buildItemStack

      @Nullable protected @Nullable org.bukkit.inventory.ItemStack buildItemStack(@NonNull @NonNull eu.cloudnetservice.modules.npc.configuration.ItemLayout layout, @Nullable @Nullable eu.cloudnetservice.driver.service.ServiceInfoSnapshot service)
    • unregisterItem

      protected void unregisterItem(@Nullable @Nullable BukkitPlatformSelectorEntity.ServiceItemWrapper wrapper, @NonNull @NonNull eu.cloudnetservice.driver.service.ServiceInfoSnapshot service, @NonNull @NonNull eu.cloudnetservice.modules.npc.configuration.InventoryConfiguration configuration)
    • rebuildInfoLines

      protected void rebuildInfoLines()
    • rebuildInventory

      protected void rebuildInventory(@NonNull @NonNull eu.cloudnetservice.modules.npc.configuration.InventoryConfiguration configuration)
    • calculateInventorySize

      protected int calculateInventorySize(@NonNull @NonNull eu.cloudnetservice.modules.npc.configuration.InventoryConfiguration configuration)
    • playerManager

      @NonNull protected @NonNull eu.cloudnetservice.modules.bridge.player.PlayerManager playerManager()
    • heightAddition

      protected double heightAddition(int lineNumber)
    • spawn0

      protected abstract void spawn0()
    • remove0

      protected abstract void remove0()
    • addGlowingEffect

      protected abstract void addGlowingEffect()