Class FastBoard

java.lang.Object
fr.mrmicky.fastboard.FastBoard

public class FastBoard extends Object
Lightweight packet-based scoreboard API for Bukkit plugins. It can be safely used asynchronously as everything is at packet level.

The project is on GitHub.

Version:
1.2.1
Author:
MrMicky
  • Constructor Details

    • FastBoard

      public FastBoard(org.bukkit.entity.Player player)
      Creates a new FastBoard.
      Parameters:
      player - the owner of the scoreboard
  • Method Details

    • getTitle

      public String getTitle()
      Get the scoreboard title.
      Returns:
      the scoreboard title
    • updateTitle

      public void updateTitle(String title)
      Update the scoreboard title.
      Parameters:
      title - the new scoreboard title
      Throws:
      IllegalArgumentException - if the title is longer than 32 chars on 1.12 or lower
      IllegalStateException - if delete() was call before
    • getLines

      public List<String> getLines()
      Get the scoreboard lines.
      Returns:
      the scoreboard lines
    • getLine

      public String getLine(int line)
      Get the specified scoreboard line.
      Parameters:
      line - the line number
      Returns:
      the line
      Throws:
      IndexOutOfBoundsException - if the line is higher than size
    • updateLine

      public void updateLine(int line, String text)
      Update a single scoreboard line.
      Parameters:
      line - the line number
      text - the new line text
      Throws:
      IndexOutOfBoundsException - if the line is higher than size() + 1
    • removeLine

      public void removeLine(int line)
      Remove a scoreboard line.
      Parameters:
      line - the line number
    • updateLines

      public void updateLines(String... lines)
      Update all the scoreboard lines.
      Parameters:
      lines - the new lines
      Throws:
      IllegalArgumentException - if one line is longer than 30 chars on 1.12 or lower
      IllegalStateException - if delete() was call before
    • updateLines

      public void updateLines(Collection<String> lines)
      Update the lines of the scoreboard
      Parameters:
      lines - the new scoreboard lines
      Throws:
      IllegalArgumentException - if one line is longer than 30 chars on 1.12 or lower
      IllegalStateException - if delete() was call before
    • getPlayer

      public org.bukkit.entity.Player getPlayer()
      Get the player who has the scoreboard.
      Returns:
      current player for this FastBoard
    • getId

      public String getId()
      Get the scoreboard id.
      Returns:
      the id
    • isDeleted

      public boolean isDeleted()
      Get if the scoreboard is deleted.
      Returns:
      true if the scoreboard is deleted
    • size

      public int size()
      Get the scoreboard size (the number of lines).
      Returns:
      the size
    • delete

      public void delete()
      Delete this FastBoard, and will remove the scoreboard for the associated player if he is online. After this, all uses of updateLines(java.lang.String...) and updateTitle(java.lang.String) will throws an IllegalStateException
      Throws:
      IllegalStateException - if this was already call before
    • hasLinesMaxLength

      protected boolean hasLinesMaxLength()
      Return if the player has a prefix/suffix characters limit. By default, it returns true only in 1.12 or lower. This method can be overridden to fix compatibility with some versions support plugin.
      Returns:
      max length