• 注册
  • 服务器&插件 服务器&插件 关注:9 内容:9952

    得分板库 (ScoreboardLib)

  • 查看作者
  • 打赏作者
  • 当前位置: SodaMC > 服务器&插件 > 正文
  • 潮涌核心
    反派

    User prefers detailed plugin introductions in Chinese, covering functions, configurations, usage, and permissions, in HTML format, and requests to filter out promotional content.

    得分板库 (ScoreboardLib)

    Contributors: TigerHix

    得分板库是一个灵活的库,用于为您的插件添加漂亮的、带有动画效果的得分板,而无需您去解决随机闪烁或限制的问题。这个库主要解决了原始 API 和类似库中存在的以下问题:

    • 得分板无法显示超过 16 个字符的文本。已解决。
    • 得分板无法多次显示相同的文本。已解决。
    • 得分板一直闪烁。已解决。
    • 随机消失的行。已解决。

    有截图吗?感受一下这个库的强大之处。

    其他使用得分板库的原因:

    • 使用简单。您只需决定用户界面,得分板库已经处理好了后端。
    • 可以显示高达 48 个字符的文本,而不是 16 个。
    • 通过 ScrollableString 和 HighlightedString 助手,轻松实现动画文本。
    • 设计成可扩展和灵活的。
    • 高性能。得分板库不会在每次更新内容时创建一个得分板。
    • 可以作为独立插件使用,也可以被合并到您的项目中。

    如何将它添加到我的项目中?

    只需将以下内容添加到您的 pom.xml:

    tiger-repohttp:\/\/repo.tigerhix.me\/content\/repositories\/snapshots\/me.tigerhix.libscoreboard1.0.1-SNAPSHOT

    现在,您可以创建自己的漂亮得分板了。

    如何使用它?

    1. 首先,您必须确定您是将得分板库作为独立插件使用,还是将其合并到您自己的插件中。对于后者,您需要在您的 onEnable() 方法中添加以下代码:
    ScoreboardLib.setPluginInstance(this);

    这样,得分板库就能持有对您插件的引用,从而能够安排任务、注册事件等。

    关于得分板本身,这里是一个使用示例:

    for (Player player: getServer().getOnlinePlayers()) {
      Scoreboard scoreboard = ScoreboardLib.createScoreboard(player).setHandler(new ScoreboardHandler() {
        private final ScrollableString scroll = new ScrollableString(Strings.format("&aThis string is scrollable!"), 40, 0);
        private final HighlightedString highlighted = new HighlightedString("This string is highlighted!", "&6", "&e");
        @Override
        public String getTitle(Player player) {
          return null;
        }
        @Override
        public List getEntries(Player player) {
          return new EntryBuilder().next("    " + scroll.next()).next("    " + highlighted.next()).blank().next("    &b&lCURRENT TIME MILLIS").next("    " + System.currentTimeMillis()).blank().next("    &c&lCURRENT NANO TIME").next("    " + System.nanoTime()).blank().next("    &7This line is equivalent to another line").next("    &7This line is equivalent to another line").blank().build();
        }
      }).setUpdateInterval(2l);
      scoreboard.activate();
    }
    

    这将向所有在线玩家显示一个得分板,如上面的 gif 所示。

    要删除得分板,使用:

    scoreboard.deactivate();

    以上就是大部分内容了。如果您想要扩展功能,只需创建一个新类,继承 SimpleScoreboard,并开始覆盖方法、创建构造函数等。

    更多信息...

    源代码根据 GNU LGPL 许可发布。如果您喜欢,请给个星。如果有任何问题,请在讨论区提问。如果得分板库对您有所帮助,请考虑点赞。也欢迎留下您的评价!

    我的其他资源:

    • BossbarLib
    • NoProxy

    得分板库 (ScoreboardLib)

    贡献者:TigerHix

    得分板库是一个灵活的库,用于在插件中添加漂亮的、带有动画效果的得分板,而无需您解决随机闪烁或限制的问题。这个库主要解决了原始 API 和类似库中存在的以下问题:

    • 得分板无法显示超过 16 个字符的文本。已解决。
    • 得分板无法多次显示相同的文本。已解决。
    • 得分板一直闪烁。已解决。
    • 随机消失的行。已解决。

    有截图吗?感受一下这个库的强大之处。

    其他使用得分板库的原因:

    • 使用简单。您只需决定用户界面,得分板库已经处理好了后端。
    • 可以显示高达 48 个字符的文本,而不是 16 个。
    • 通过 ScrollableString 和 HighlightedString 助手,轻松实现动画文本。
    • 设计成可扩展和灵活的。
    • 高性能。得分板库不会在每次更新内容时创建一个得分板。
    • 可以作为独立插件使用,也可以被合并到您的项目中。

    如何将它添加到我的项目中?

    只需将以下内容添加到您的 pom.xml:

    tiger-repohttp:\/\/repo.tigerhix.me\/content\/repositories\/snapshots\/me.tigerhix.libscoreboard1.0.1-SNAPSHOT

    现在,您可以创建自己的漂亮得分板了。

    如何使用它?

    1. 首先,您必须确定您是将得分板库作为独立插件使用,还是将其合并到您自己的插件中。对于后者,您需要在您的 onEnable() 方法中添加以下代码:
    ScoreboardLib.setPluginInstance(this);

    这样,得分板库就能持有对您插件的引用,从而能够安排任务、注册事件等。

    关于得分板本身,这里是一个使用示例:

    for (Player player: getServer().getOnlinePlayers()) {
      Scoreboard scoreboard = ScoreboardLib.createScoreboard(player).setHandler(new ScoreboardHandler() {
        private final ScrollableString scroll = new ScrollableString(Strings.format("&aThis string is scrollable!"), 40, 0);
        private final HighlightedString highlighted = new HighlightedString("This string is highlighted!", "&6", "&e");
        @Override
        public String getTitle(Player player) {
          return null;
        }
        @Override
        public List getEntries(Player player) {
          return new EntryBuilder().next("    " + scroll.next()).next("    " + highlighted.next()).blank().next("    &b&lCURRENT TIME MILLIS").next("    " + System.currentTimeMillis()).blank().next("    &c&lCURRENT NANO TIME").next("    " + System.nanoTime()).blank().next("    &7This line is equivalent to another line").next("    &7This line is equivalent to another line").blank().build();
        }
      }).setUpdateInterval(2l);
      scoreboard.activate();
    }
    

    这将向所有在线玩家显示一个得分板,如上面的 gif 所示。

    要删除得分板,使用:

    scoreboard.deactivate();

    以上就是大部分内容了。如果您想要扩展功能,只需创建一个新类,继承 SimpleScoreboard,并开始覆盖方法、创建构造函数等。

    更多信息...

    源代码根据 GNU LGPL 许可发布。如果您喜欢,请给个星。如果有任何问题,请在讨论区提问。如果得分板库对您有所帮助,请考虑点赞。也欢迎留下您的评价!

    我的其他资源:

    • BossbarLib
    • NoProxy
    得分板库 (ScoreboardLib)

    得分板库 (ScoreboardLib)

    可用版本为:|1.17|1.18

    源站下载
    登录后前往SPIGOT

  • 收录

  • 请登录之后再进行评论

    登录
  • Soda任务 图片
  • 偏好设置
  • 主题
  • 帖子间隔 侧栏位置: