Package fr.mrmicky.fastboard
Class FastBoardBase<T>
java.lang.Object
fr.mrmicky.fastboard.FastBoardBase<T>
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:
- 2.0.2
- Author:
- MrMicky
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumstatic enumstatic enum -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedFastBoardBase(org.bukkit.entity.Player player) Creates a new FastBoard. -
Method Summary
Modifier and TypeMethodDescriptionvoiddelete()Delete this FastBoard, and will remove the scoreboard for the associated player if he is online.protected abstract TgetId()Get the scoreboard id.getLine(int line) Get the specified scoreboard line.protected TgetLineByScore(int score) protected TgetLineByScore(List<T> lines, int score) getLines()Get the scoreboard lines.org.bukkit.entity.PlayerGet the player who has the scoreboard.protected intgetScoreByLine(int line) getTitle()Get the scoreboard title.booleanGet if the scoreboard is deleted.voidremoveLine(int line) Remove a scoreboard line.protected voidprotected abstract voidsendLineChange(int score) protected voidprotected voidsendScorePacket(int score, FastBoardBase.ScoreboardAction action) protected voidsendTeamPacket(int score, FastBoardBase.TeamMode mode) protected voidsendTeamPacket(int score, FastBoardBase.TeamMode mode, T prefix, T suffix) protected abstract StringserializeLine(T value) intsize()Get the scoreboard size (the number of lines).protected abstract ObjecttoMinecraftComponent(T value) voidupdateLine(int line, T text) Update a single scoreboard line.voidupdateLines(Collection<T> lines) Update the lines of the scoreboardvoidupdateLines(T... lines) Update all the scoreboard lines.voidupdateTitle(T title) Update the scoreboard title.
-
Field Details
-
COLOR_CODES
-
-
Constructor Details
-
FastBoardBase
protected FastBoardBase(org.bukkit.entity.Player player) Creates a new FastBoard.- Parameters:
player- the owner of the scoreboard
-
-
Method Details
-
getTitle
Get the scoreboard title.- Returns:
- the scoreboard title
-
updateTitle
Update the scoreboard title.- Parameters:
title- the new scoreboard title- Throws:
IllegalArgumentException- if the title is longer than 32 chars on 1.12 or lowerIllegalStateException- ifdelete()was call before
-
getLines
Get the scoreboard lines.- Returns:
- the scoreboard lines
-
getLine
Get the specified scoreboard line.- Parameters:
line- the line number- Returns:
- the line
- Throws:
IndexOutOfBoundsException- if the line is higher thansize
-
updateLine
Update a single scoreboard line.- Parameters:
line- the line numbertext- the new line text- Throws:
IndexOutOfBoundsException- if the line is higher thansize() + 1
-
removeLine
public void removeLine(int line) Remove a scoreboard line.- Parameters:
line- the line number
-
updateLines
Update all the scoreboard lines.- Parameters:
lines- the new lines- Throws:
IllegalArgumentException- if one line is longer than 30 chars on 1.12 or lowerIllegalStateException- ifdelete()was call before
-
updateLines
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 lowerIllegalStateException- ifdelete()was call before
-
getPlayer
public org.bukkit.entity.Player getPlayer()Get the player who has the scoreboard.- Returns:
- current player for this FastBoard
-
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 ofupdateLines(T...)andupdateTitle(T)will throw anIllegalStateException- Throws:
IllegalStateException- if this was already call before
-
sendLineChange
- Throws:
Throwable
-
toMinecraftComponent
- Throws:
Throwable
-
serializeLine
-
emptyLine
-
getScoreByLine
protected int getScoreByLine(int line) -
getLineByScore
-
getLineByScore
-
sendObjectivePacket
- Throws:
Throwable
-
sendDisplayObjectivePacket
- Throws:
Throwable
-
sendScorePacket
- Throws:
Throwable
-
sendTeamPacket
- Throws:
Throwable
-
sendTeamPacket
protected void sendTeamPacket(int score, FastBoardBase.TeamMode mode, T prefix, T suffix) throws Throwable - Throws:
Throwable
-