Interface IScoreboardManager

All Known Implementing Classes:
ScoreboardManager

@PowerNukkitXOnly @Since("1.19.30-r1") public interface IScoreboardManager
管理,储存一批计分板
此接口面向/scoreboard命令,若只是想要显示信息,请直接操作scoreboard对象
  • Method Details

    • addScoreboard

      boolean addScoreboard(IScoreboard scoreboard)
      添加一个计分板
      Parameters:
      scoreboard - 目标计分板
      Returns:
      是否添加成功(返回false若计分板已存在或者事件被撤销)
    • removeScoreboard

      boolean removeScoreboard(IScoreboard scoreboard)
      删除一个计分板
      Parameters:
      scoreboard - 目标计分板
      Returns:
      是否删除成功(返回false若计分板已存在或者事件被撤销)
    • removeScoreboard

      boolean removeScoreboard(String objectiveName)
      删除一个计分板
      Parameters:
      objectiveName - 目标计分板标识名称
      Returns:
      是否删除成功(返回false若计分板已存在或者事件被撤销)
    • getScoreboard

      @Nullable IScoreboard getScoreboard(String objectiveName)
      获取计分板对象(若存在)
      Parameters:
      objectiveName - 目标计分板标识名称
      Returns:
      计分板对象
    • getScoreboards

      Map<String,IScoreboard> getScoreboards()
      获取所有计分板对象
      Returns:
      所有计分板对象
    • containScoreboard

      boolean containScoreboard(IScoreboard scoreboard)
      检查是否存在指定计分板
      Parameters:
      scoreboard - 指定计分板
      Returns:
      是否存在
    • containScoreboard

      boolean containScoreboard(String name)
      检查是否存在指定计分板
      Parameters:
      name - 指定计分板标识名称
      Returns:
      是否存在
    • getDisplay

      Map<DisplaySlot,IScoreboard> getDisplay()
      获取显示槽位信息
      Returns:
      显示槽位信息
    • getDisplaySlot

      @Nullable IScoreboard getDisplaySlot(DisplaySlot slot)
      获取指定显示槽位的计分板(若存在)
      Parameters:
      slot - 指定槽位
      Returns:
      计分板对象
    • setDisplay

      void setDisplay(DisplaySlot slot, @Nullable IScoreboard scoreboard)
      设置指定槽位显示计分板 若形参scoreboard为null,则清除指定槽位内容
      Parameters:
      slot - 指定槽位
      scoreboard - 计分板对象
    • getViewers

      Set<IScoreboardViewer> getViewers()
      获取所有观察者
      Returns:
      所有观察者
    • addViewer

      boolean addViewer(IScoreboardViewer viewer)
      添加一个观察者
      Parameters:
      viewer - 目标观察者
      Returns:
      是否添加成功
    • removeViewer

      boolean removeViewer(IScoreboardViewer viewer)
      删除一个观察者(若存在)
      Parameters:
      viewer - 目标观察者
      Returns:
      是否删除成功
    • onPlayerJoin

      void onPlayerJoin(Player player)
      服务端内部方法
    • beforePlayerQuit

      void beforePlayerQuit(Player player)
      服务端内部方法
    • onEntityDead

      void onEntityDead(EntityLiving entity)
      服务端内部方法
    • getStorage

      IScoreboardStorage getStorage()
      获取计分板存储器实例
      Returns:
      存储器实例
    • save

      void save()
      通过存储器保存计分板信息
    • read

      void read()
      从存储器重新读取计分板信息