Class ScoreboardLine

java.lang.Object
me.neznamy.tab.api.TabFeature
me.neznamy.tab.shared.features.scoreboard.lines.ScoreboardLine
All Implemented Interfaces:
me.neznamy.tab.api.scoreboard.Line
Direct Known Subclasses:
CustomLine, LongLine, StableDynamicLine, StaticLine

public abstract class ScoreboardLine extends me.neznamy.tab.api.TabFeature implements me.neznamy.tab.api.scoreboard.Line
Abstract class representing a line of scoreboard
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final int
     
    protected final ScoreboardImpl
     
    protected final String
     
    protected final String
     
    protected String
     

    Fields inherited from class me.neznamy.tab.api.TabFeature

    disabledServers, disabledWorlds
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    ScoreboardLine(ScoreboardImpl parent, int lineNumber)
    Constructs new instance with given parameters
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    addLine(me.neznamy.tab.api.TabPlayer p, String fakePlayer, String prefix, String suffix)
    Sends this line to player
    int
    getNumber(me.neznamy.tab.api.TabPlayer p)
    Returns number that should be displayed as score for specified player
    Returns forced name start of this line
    protected String
    getPlayerName(int lineNumber)
    Builds forced name start based on line number
    getPlayerName(me.neznamy.tab.api.TabPlayer viewer)
    Returns forced name start of this line to specified viewer
     
     
    abstract void
    register(me.neznamy.tab.api.TabPlayer p)
    Registers this line to the player
    protected void
    removeLine(me.neznamy.tab.api.TabPlayer p, String fakePlayer)
    Removes this line from player
    protected String[]
    split(String string, int firstElementMaxLength)
    Splits the text into 2 with given max length of first string
    protected String[]
    splitText(String playerNameStart, String text, int maxNameLength)
    Splits entered text into 3 parts - prefix, name and suffix respecting all limits.
    abstract void
    unregister(me.neznamy.tab.api.TabPlayer p)
    Unregisters this line to the player

    Methods inherited from class me.neznamy.tab.api.TabFeature

    addDisabledPlayer, addUsedPlaceholders, contains, getFeatureName, getRefreshDisplayName, isDisabled, isDisabledPlayer, load, onCommand, onDisplayObjective, onJoin, onLoginPacket, onObjective, onPacketReceive, onPacketSend, onPlayerInfo, onQuit, onServerChange, onVanishStatusChange, onWorldChange, overridesMethod, refresh, removeDisabledPlayer, unload

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface me.neznamy.tab.api.scoreboard.Line

    setText
  • Field Details

    • lineNumber

      protected final int lineNumber
    • text

      protected String text
    • parent

      protected final ScoreboardImpl parent
    • teamName

      protected final String teamName
    • playerName

      protected final String playerName
  • Constructor Details

    • ScoreboardLine

      protected ScoreboardLine(ScoreboardImpl parent, int lineNumber)
      Constructs new instance with given parameters
      Parameters:
      parent - scoreboard this line belongs to
      lineNumber - ID of this line
  • Method Details

    • register

      public abstract void register(me.neznamy.tab.api.TabPlayer p)
      Registers this line to the player
      Parameters:
      p - player to register line to
    • unregister

      public abstract void unregister(me.neznamy.tab.api.TabPlayer p)
      Unregisters this line to the player
      Parameters:
      p - player to unregister line to
    • getPlayerName

      public String getPlayerName(me.neznamy.tab.api.TabPlayer viewer)
      Returns forced name start of this line to specified viewer
      Returns:
      forced name start of this line to specified viewer
    • getPlayerName

      public String getPlayerName()
      Returns forced name start of this line
      Returns:
      forced name start of this line
    • split

      protected String[] split(String string, int firstElementMaxLength)
      Splits the text into 2 with given max length of first string
      Parameters:
      string - string to split
      firstElementMaxLength - max length of first string
      Returns:
      array of 2 strings where second one might be empty
    • getPlayerName

      protected String getPlayerName(int lineNumber)
      Builds forced name start based on line number
      Parameters:
      lineNumber - ID of line
      Returns:
      forced name start
    • addLine

      protected void addLine(me.neznamy.tab.api.TabPlayer p, String fakePlayer, String prefix, String suffix)
      Sends this line to player
      Parameters:
      p - player to send line to
      fakePlayer - player name
      prefix - prefix
      suffix - suffix
    • removeLine

      protected void removeLine(me.neznamy.tab.api.TabPlayer p, String fakePlayer)
      Removes this line from player
      Parameters:
      p - player to remove line from
      fakePlayer - player name
    • getText

      public String getText()
      Specified by:
      getText in interface me.neznamy.tab.api.scoreboard.Line
    • getNumber

      public int getNumber(me.neznamy.tab.api.TabPlayer p)
      Returns number that should be displayed as score for specified player
      Parameters:
      p - player to get number for
      Returns:
      number displayed
    • getTeamName

      public String getTeamName()
    • splitText

      protected String[] splitText(String playerNameStart, String text, int maxNameLength)
      Splits entered text into 3 parts - prefix, name and suffix respecting all limits. Returns the values as an array of 3 elements.
      Parameters:
      playerNameStart - forced start of name field (used to secure unique names and line order)
      text - text to display
      maxNameLength - maximum length of name field, used values are 16 characters for <1.8 and 40 for 1.8+
      Returns:
      Split text as an array of 3 elements