感谢所有用户,JsonApi 下载量已突破 10,000 次!这是一个功能强大的 API,让你能够轻松创建和发送包含颜色、粗体/斜体等样式、插入文本,以及最重要的悬停与点击动作的 JSON 消息。
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 还有许多其他方法和技巧,无法在此一一列举。请尽情探索和实验!
使用此库时,请务必注明作者 ColoredCarrot 以及 Spigot 上的资源链接(点击此处)。请勿将此代码标记为你自己的作品。
原始发布帖: https://www.spigotmc.org/threads/api-json-api-with-integrated-send-methods.136140/
友情链接: 网易我的世界 | 泰拉瑞亚 | 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