Package cn.nukkit.scoreboard.manager
Class ScoreboardManager
java.lang.Object
cn.nukkit.scoreboard.manager.ScoreboardManager
- All Implemented Interfaces:
IScoreboardManager
@PowerNukkitXOnly
@Since("1.19.30-r1")
public class ScoreboardManager
extends Object
implements IScoreboardManager
-
Field Summary
Modifier and TypeFieldDescriptionprotected Map<DisplaySlot,
IScoreboard> protected Map<String,
IScoreboard> protected IScoreboardStorage
protected Set<IScoreboardViewer>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addScoreboard
(IScoreboard scoreboard) boolean
addViewer
(IScoreboardViewer viewer) void
beforePlayerQuit
(Player player) boolean
containScoreboard
(IScoreboard scoreboard) boolean
containScoreboard
(String name) getDisplaySlot
(DisplaySlot slot) getScoreboard
(String objectiveName) void
onPlayerJoin
(Player player) 你可能会对这里的代码感到疑惑 这里其实是为了规避玩家下线导致的“玩家离线”计分项 我们在玩家下线时,删除其他在线玩家显示槽位中的“玩家离线” 并在其重新连接上服务器时加回去void
read()
boolean
removeScoreboard
(IScoreboard scoreboard) boolean
removeScoreboard
(String objectiveName) boolean
removeViewer
(IScoreboardViewer viewer) void
save()
void
setDisplay
(DisplaySlot slot, IScoreboard scoreboard)
-
Field Details
-
scoreboards
-
display
-
viewers
-
storage
-
-
Constructor Details
-
ScoreboardManager
-
-
Method Details
-
addScoreboard
- Specified by:
addScoreboard
in interfaceIScoreboardManager
-
removeScoreboard
- Specified by:
removeScoreboard
in interfaceIScoreboardManager
-
removeScoreboard
- Specified by:
removeScoreboard
in interfaceIScoreboardManager
-
getScoreboard
- Specified by:
getScoreboard
in interfaceIScoreboardManager
-
containScoreboard
- Specified by:
containScoreboard
in interfaceIScoreboardManager
-
containScoreboard
- Specified by:
containScoreboard
in interfaceIScoreboardManager
-
getDisplaySlot
- Specified by:
getDisplaySlot
in interfaceIScoreboardManager
-
setDisplay
- Specified by:
setDisplay
in interfaceIScoreboardManager
-
addViewer
- Specified by:
addViewer
in interfaceIScoreboardManager
-
removeViewer
- Specified by:
removeViewer
in interfaceIScoreboardManager
-
onPlayerJoin
你可能会对这里的代码感到疑惑 这里其实是为了规避玩家下线导致的“玩家离线”计分项 我们在玩家下线时,删除其他在线玩家显示槽位中的“玩家离线” 并在其重新连接上服务器时加回去- Specified by:
onPlayerJoin
in interfaceIScoreboardManager
-
beforePlayerQuit
- Specified by:
beforePlayerQuit
in interfaceIScoreboardManager
-
save
public void save()- Specified by:
save
in interfaceIScoreboardManager
-
read
public void read()- Specified by:
read
in interfaceIScoreboardManager
-
getScoreboards
- Specified by:
getScoreboards
in interfaceIScoreboardManager
-
getDisplay
- Specified by:
getDisplay
in interfaceIScoreboardManager
-
getViewers
- Specified by:
getViewers
in interfaceIScoreboardManager
-
getStorage
- Specified by:
getStorage
in interfaceIScoreboardManager
-