JSON API

JSON API - 轻松创建发送JSON消息

轻松创建和发送JSON消息。
Bukkit / Spigot 作者 Voidev 支持版本 1.8 - 1.17
服务器使用量
未统计
服务玩家数
未统计
下载量
14,403
插件详细介绍

感谢所有用户,JsonApi 下载量已突破 10,000 次!这是一个功能强大的 API,让你能够轻松创建和发送包含颜色、粗体/斜体等样式、插入文本,以及最重要的悬停与点击动作的 JSON 消息。

安装

  • 下载最新版本的 JsonApi。
  • 将其放入服务器的 plugins 文件夹。
  • 重启你的服务器。

命令与权限

  • /jsonapi - 需要权限 jsonapi.command.jsonapi - 显示插件版本信息。

> 更多详细信息,请查阅 Javadocs。

创建消息

让我们从一个经典的 “Hello, World!” 示例开始。创建 JSON 消息的基础类是 JsonMsg

你可以使用文本和颜色来构造它

JsonMsg msg = new JsonMsg("Hello, ", JsonColor.AQUA);

注意,我们使用了 JsonColor 枚举来指定颜色。这里我们只放入了前半部分文本,因为后半部分我们希望是另一种颜色和斜体样式。

接下来创建第二部分,这次使用构造函数 JsonMsg(String, ChatColor...),它可以用指定的所有 ChatColor 样式来装饰消息:

JsonMsg msg2 = new JsonMsg("world!", ChatColor.RED, ChatColor.ITALIC /*, ChatColor.BOLD 等 */);

要将另一个 JsonMsg 附加到现有消息上,请使用 JsonMsg#append(JsonMsg)JsonMsg#append(/ 任何构造函数的参数都有效 /)

msg.append(msg2);

以上所有步骤也可以简化为一行

msg.append("world!", ChatColor.RED, ChatColor.ITALIC);

转换颜色代码消息

还有一种非常简单的方法可以创建 JSON 消息:你可以使用构造函数 JsonMsg(String text, boolean allowStyleFallthrough) 将任何基于颜色代码的消息转换为 JsonMsg

参数 allowStyleFallthrough 指定样式是否应在文本的每个新“片段”处重置,片段由连续的颜色代码组分隔。

示例:

JsonMsg msg = new JsonMsg("§aHello, §o§lworld!", true);
// 由于 `allowStyleFallthrough` 为 true,且“§o§lworld!”自身未指定颜色,因此 §a(绿色)会延续到该部分。

要将 JsonMsg 转换回颜色代码消息,请使用方法 JsonMsg.toConsoleMessage(boolean insertResetCodes)。参数 insertResetCodes 指定是否在消息和每个额外消息前添加重置代码 (§r)。

示例:

String codeBased = msg.toConsoleMessage(true);
// codeBased 现在是 "§r§r§aHello, §r§a§l§oworld!"

样式设置

更改 JsonMsg 的颜色和样式也非常简单:

msg.color(JsonColor.GREEN); // 更改颜色
msg.underlined(true); // 为文本添加下划线
msg.style(ChatColor.GREEN, ChatColor.UNDERLINE); // 设置文本样式

相应的值可以通过同名方法(无参数,#style(ChatColor) 除外)获取。

提示: 所有原本返回 void 的方法都会返回 JsonMsg 对象本身,因此你可以将它们链式调用:

msg.color(JsonColor.GREEN).underlined(true);

点击与悬停事件

要在玩家将鼠标悬停在 msg 上时显示文本,可以使用以下任一方法:

msg.hoverEvent(JsonHoverEvent.showText(msg2));
msg.hoverEvent(JsonHoverEvent.showText("Hey there!", JsonColor.GRAY));
msg.hoverEvent(JsonHoverEvent.showText("Hey there!", ChatColor.GRAY, ChatColor.BOLD));

当然,还有更多用于显示物品、成就等的方法,以及 JsonClickEvent 类。

发送消息

最后,我们可以发送消息

msg.send(player1, player2 /* , player3 等 */);

你也可以使用 JsonMsg#send(Iterable<Player>)JsonMsg#sendTitle(int, int, int, Player...)

> 注意: 本 API 还有许多其他方法和技巧,无法在此一一列举。请尽情探索和实验!

更多资源

  • 前往 Wiki 页面
  • 前往 Javadoc

使用须知

使用此库时,请务必注明作者 ColoredCarrot 以及 Spigot 上的资源链接(点击此处)。请勿将此代码标记为你自己的作品。

原始发布帖: https://www.spigotmc.org/threads/api-json-api-with-integrated-send-methods.136140/

测试支持版本
1.8 1.9 1.10 1.11 1.12 1.17
版本分布
基本信息
插件名称 JSON API
作者 Voidev
平台 Bukkit / Spigot
支持版本 1.8 - 1.17
点赞数 2
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:2,689,243  |  历史访问人次:3,260,698

今日访问人数:8,838  |  今日访问人次:10,102

昨日访问人数:26,372  |  昨日访问人次:31,574

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6