《BungeeCord插件开发》中文翻译
首页
捐助译者 (opens new window)
原文链接 (opens new window)
GitHub (opens new window)
首页
捐助译者 (opens new window)
原文链接 (opens new window)
GitHub (opens new window)
  • 教程

    • 首页
    • 第一个插件
    • 常见问题
    • 创建指令
    • 事件API
    • 配置API
    • 聊天组件API
    • 插件消息频道
    • 传送玩家
    • 记分板API
      • 记分板是如何工作的?
      • 创建一个变量
      • 创建或删除一个分数
      • 显示记分板
      • 附注
  • 资源

    • BungeeCord API (Github) (opens new window)
    • BungeeCord API (JavaDoc) (opens new window)
    • BungeeCord API (Chat JavaDoc) (opens new window)

BungeeCord 记分板 (无 API)

# BungeeCord 记分板 (无 API)

@md_5 和 @Thinkofdeath 创建 Bungeecord 记分板 API (net.md_5.bungee.api.score.*) 很长时间了。但它还没有准备好使用。不过他们已经实现了一些包装。所以我们可以用它们来创建记分板。在下面的代码示例中 p 表示 ProxiedPlayer 对象。

# 记分板是如何工作的?

通过 BungeeCord 创建记分板,了解其如何工作是非常重要的。最好的方式是在这里 (opens new window)。

# 创建一个变量

现在我们知道记分板是如何工作了。首先我们需要创建一个变量(译者注:objective没有准确的翻译,另有译作"目标")

ScoreboardObjective objective = new ScoreboardObjective("test", "Test", "integer", (byte) 0);
p.unsafe().sendPacket(objective);
1
2

解释:

  • "test" 是记分板的唯一名称
  • "Test" 是记分板显示的名称
  • "integer" 或者使用 "hearts" - 更多信息 (opens new window)
  • 0 - 0 表示创建记分板。1 表示移除记分板。2 表示更新显示文本。

# 创建或删除一个分数

ScoreboardScore score = new ScoreboardScore("Hallo", (byte) 0, "test", 0);
p.unsafe().sendPacket(score);
1
2

解释:

  • "Hallo" 是要更新或删除的分数的名称
  • 0 - 0表示创建或更新一个分数。1表示移除一个分数。
  • "test" 是分数所属的变量的名称
  • 0 - 是显示在条目旁边的分数

# 显示记分板

现在客户端知道这个记分板的所有信息了,但是我们必须告诉客户端显示这个记分板。

ScoreboardDisplay display = new ScoreboardDisplay((byte) 1, "test");
p.unsafe().sendPacket(display);
1
2

解释:

  • 1 - 记分板的位置。0: 列表,1: 侧边栏,2: 名字下方。
  • "test" - 要显示的记分板的唯一名称。

就是这样,看起来非常简单。如果所有的代码都能正常运作,那么结果如下所示:

记分板

# 附注

客户端只在游戏中接收这些数据包。这意味着,如果你想在某个玩家加入游戏时向他们发送记分板,你最早可以在ServerSwitchEvent事件(该事件也在你第一次加入服务器时发布)将记分板发送给他们。所有更早的事件(比如PostLogin或ServerConnected)都是在客户端准备就绪前发布的。

编辑此页面 (opens new window)
传送玩家
BungeeCord API (Github)

← 传送玩家 BungeeCord API (Github)→

Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式