Class TabFeature

java.lang.Object
me.neznamy.tab.api.TabFeature

public abstract class TabFeature extends Object
Abstract class representing a core feature of the plugin.

It receives all kinds of events and can react to them.

  • Field Details

    • disabledServers

      protected String[] disabledServers
      Servers where the feature is disabled (or enabled if using whitelist mode)
    • disabledWorlds

      protected String[] disabledWorlds
      Worlds where the feature is disabled (or enabled if using whitelist mode)
  • Constructor Details

    • TabFeature

      protected TabFeature(String featureName, String refreshDisplayName)
      Constructs new instance with given parameters and loads method overrides
      Parameters:
      featureName - Feature's name in /tab cpu
      refreshDisplayName - "refreshing" cpu display type name of the feature
    • TabFeature

      protected TabFeature(String featureName, String refreshDisplayName, String configSection)
      Constructs new instance with given parameters and loads method overrides. Also loads lists of disabled worlds and servers of this feature with config section path specified with configSection parameter.
      Parameters:
      featureName - Feature's name in /tab cpu
      refreshDisplayName - "refreshing" cpu display type name of the feature
      configSection - Configuration section of the feature to load disabled servers / worlds from
  • Method Details

    • load

      public void load()
      Loads all online players and sends packets
    • unload

      public void unload()
      Unloads all players and sends clear packets
    • onCommand

      public boolean onCommand(TabPlayer sender, String message)
      Processes command from player. This is typically a toggle command.
      Parameters:
      sender - command sender
      message - command line
      Returns:
      true if event should be cancelled, true if not
    • onJoin

      public void onJoin(TabPlayer connectedPlayer)
      Processes join event
      Parameters:
      connectedPlayer - player who connected
    • onQuit

      public void onQuit(TabPlayer disconnectedPlayer)
      Processes quit event
      Parameters:
      disconnectedPlayer - player who disconnected
    • onWorldChange

      public void onWorldChange(TabPlayer changed, String from, String to)
      Processes world switch
      Parameters:
      changed - player who switched world
      from - world player changed from
      to - world player changed to
    • onServerChange

      public void onServerChange(TabPlayer changed, String from, String to)
      Processes server switch
      Parameters:
      changed - player who switched server
      from - server player changed from
      to - server player changed to
    • onDisplayObjective

      public void onDisplayObjective(TabPlayer receiver, PacketPlayOutScoreboardDisplayObjective packet)
      Processes the packet send and returns true if packet should be cancelled
      Parameters:
      receiver - player receiving packet
      packet - received packet
    • onLoginPacket

      public void onLoginPacket(TabPlayer packetReceiver)
      Processes login packet, only available on BungeeCord
      Parameters:
      packetReceiver - player receiving client reset packet
    • onObjective

      public void onObjective(TabPlayer receiver, PacketPlayOutScoreboardObjective packet)
      Processes the packet send
      Parameters:
      receiver - player receiving packet
      packet - received packet
    • onPlayerInfo

      public void onPlayerInfo(TabPlayer receiver, PacketPlayOutPlayerInfo info)
      Processes the packet send and possibly modifies it
      Parameters:
      receiver - player receiving packet
      info - received packet
    • onPacketReceive

      public boolean onPacketReceive(TabPlayer sender, Object packet) throws ReflectiveOperationException
      Processes raw packet sent by client
      Parameters:
      sender - packet sender
      packet - packet received
      Returns:
      true if false should be cancelled, false if not
      Throws:
      ReflectiveOperationException - if thrown by reflective operation
    • onPacketSend

      public void onPacketSend(TabPlayer receiver, Object packet) throws ReflectiveOperationException
      Processes raw packet sent to client
      Parameters:
      receiver - packet receiver
      packet - the packet
      Throws:
      ReflectiveOperationException - if thrown by reflective operation
    • refresh

      public void refresh(TabPlayer refreshed, boolean force)
      Performs refresh of specified player
      Parameters:
      refreshed - player to refresh
      force - if refresh should be forced despite refresh seemingly not needed
    • onVanishStatusChange

      public void onVanishStatusChange(TabPlayer player)
      Processes vanish status change of player
      Parameters:
      player - Player who changed vanish status
    • addUsedPlaceholders

      public void addUsedPlaceholders(Collection<String> placeholders)
      Registers this feature as one using specified placeholders
      Parameters:
      placeholders - placeholders to add as used in this feature
    • isDisabled

      public boolean isDisabled(String server, String world)
      Returns true if world or server is disabled, false if not
      Parameters:
      server - server to check
      world - world to check
      Returns:
      true if feature should be disabled, false if not
    • contains

      protected boolean contains(String[] list, String element)
      Returns true if list contains the specified element or element ends with "*" and element meeting that requirement is present, false otherwise.
      Parameters:
      list - List to check
      element - Element to find
      Returns:
      true if element was found, false if not
    • getFeatureName

      public String getFeatureName()
      Returns name of the feature displayed in /tab cpu.
      Returns:
      name of the feature displayed in /tab cpu
    • getRefreshDisplayName

      public String getRefreshDisplayName()
      Returns text to display in /tab cpu of this feature refreshing visuals
      Returns:
      Text to display as refreshing of this feature
    • overridesMethod

      public boolean overridesMethod(String method)
      Returns true if method with specified name is overridden in the implementation, false if not
      Parameters:
      method - Method to check
      Returns:
      true if overridden, false if not
    • isDisabledPlayer

      public boolean isDisabledPlayer(TabPlayer p)
      Returns true if player is currently located in a server or world, which is marked as disabled, false if not
      Parameters:
      p - Player to check
      Returns:
      true if player is in disabled server / world, false if not
    • addDisabledPlayer

      public void addDisabledPlayer(TabPlayer p)
      Adds specified player into list of players in disabled servers / worlds.
      Parameters:
      p - Player to add
    • removeDisabledPlayer

      public void removeDisabledPlayer(TabPlayer p)
      Removes specified player from list of players in disabled servers / worlds
      Parameters:
      p - Player to check