
广播系统
一个轻量级的Hytale插件,可发送可配置的自动和手动聊天与标题公告,以及加入消息,支持传统和颜色代码以及占位符。
查看大图1.1 版本将是目前的最终版本。我更倾向于拥有一个可靠且无错误的插件,而不是一个包含多种方法但存在错误或卡顿的插件。
正在寻找一种简单的方式来展示服务器提示、规则、Discord 链接或公告吗?BroadcastSystem 提供了 两个独立的自动公告系统(聊天 + 标题),此外还有加入消息、手动命令、& 颜色代码、占位符和一个清晰的 JSON 配置文件。
功能特性:
- ✅ 聊天公告(支持多行)
- ✅ 标题公告(事件标题 / 屏幕中央的“大标题”)
它还包含:
- ✅ 手动公告命令
- ✅ 加入消息(对加入者的私密消息 + 对全体的公开消息)
- ✅ Minecraft 风格的
&颜色代码 - ✅ 占位符,如
%player%和%joiner% - ✅ 简单的 JSON 配置文件(
config.json)
功能特性
1) 两个独立的公告系统
每个系统都有自己的设置:
- 启用/禁用
- 间隔(秒)
- 随机模式(洗牌)或轮询顺序
因此你可以设置:
- 聊天公告每 120秒 一次
- 标题公告每 300秒 一次
- 或者完全禁用一个系统。
2) 共享公告池,每条公告可配置目标
你可以在 "announcements" 中定义公告,并通过以下方式选择它们发送的目标:
"targets": ["CHAT"]"targets": ["TITLE"]
每条公告可以包含:
"chat"内容(多行文本块)"title"内容"subtitle"内容(可选)
3) 加入消息(可选)
两个专用的加入消息部分:
- joinSelf:仅发送给加入的玩家
- joinServer:广播给所有在线玩家
两者都支持:
- 聊天和/或标题目标
- 多行文本块
- 占位符
- 可选禁用原版加入消息
4) 文本格式化
传统颜色代码
支持类似 Minecraft 的代码:
- 颜色:
&0到&9,&a到&f - 格式:
&l(粗体),&o(斜体),&r(重置) - 同时支持
&和§
多行文本块
对于聊天消息(以及加入聊天),你可以使用:
"chat": "----\nLine 1\nLine 2\n----"
或者简单地使用 \n 换行符。
5) 占位符
%player%
替换为接收消息的玩家名称。%joiner%
替换为加入服务器的玩家名称(仅对加入消息有效)。%world%
替换为接收消息玩家当前所在的世界(尽力而为:根据 API 可用性显示名称/ID/UUID)。%players_online%
替换为当前在线的玩家数量。%online%(%players_online%的别名)
同上,更短的名称。%server_uptime%
替换为服务器/插件运行时间(自插件启动以来的时间),格式如下:12m 05s,3h 12m 09s,2d 04h 01m 33s%time%
当前服务器本地时间:HH:mm:ss
示例:21:43:10%date%
当前服务器本地日期:yyyy-MM-dd
示例:2026-01-15%datetime%
当前服务器本地日期 + 时间:yyyy-MM-dd HH:mm:ss
示例:2026-01-15 21:43:10%day%
当前星期几(大写):MONDAY,TUESDAY等。%timezone%
当前服务器系统时区 ID(示例:Europe/Paris)
随机整数
%random_int:min:max%
生成一个介于min和max之间(包含边界)的随机整数。
示例:%random_int:1:100%→42%random_int:-5:5%→-1%random_int:10:10%→10
随机选择
%random_choice:a|b|c%
从一个由|分隔的列表中随机选择一项。
示例:%random_choice:阅读 /rules|加入 Discord|使用 /help%%random_choice:你好|嗨|嘿%
✅ 支持在选项内使用占位符,例如:
%random_choice:在线人数: %online%|世界: %world%|时间: %time%%
命令
主命令:/hb
/bs reload
重新加载 config.json 并重启公告调度器。
/bs status
显示当前状态:
- 聊天/标题系统是否启用
- 间隔时间
- 公告池大小
- 配置文件路径
/bs now [chat|title|both]
立即从配置的公告池中发送一条公告。
示例:
/bs now/bs now chat/bs now title
/bs start [chat|title|both]
开始广播。
示例:
/bs start/bs start chat
/bs stop [chat|title|both]
停止广播。
示例:
/bs stop/bs stop title
/bs send chat <message...>
向所有玩家发送一条手动聊天公告。
示例:
/bs send chat &aHello world!
/bs send title <message...>
向所有玩家发送一条手动标题公告。
支持使用 \n 强制换行显示多行标题。
示例:
/bs send title &e服务器重启\n&7倒计时 5 分钟
权限
管理员权限(完全控制)
- broadcast_system.admin
允许:
- reload
- status
- start/stop
- now
发送权限(仅限手动广播)
- broadcast_system.send
允许:
/hb send chat .../hb send title ...
管理员回退
如果你的服务器使用角色权限,插件也允许:
role.operator
配置
插件会创建:
mods/Yanisssch_BroadcastSystem/config.json
关键部分:
chattitlejoinSelfjoinServerannouncements
重要提示
- 如果
"showSubtitle": false,即使提供了副标题也会被隐藏。 - 如果副标题为空,则会使用
title.defaultSubtitle(当启用时)。 - 如果加入配置中的
disableDefaultJoinMessage为 true,原版加入广播将被禁用。 - 不要为标题使用颜色代码,这不起作用……
- 不要为公告使用 BOTH 目标(正在修复与此目标相关的问题)
- 编辑配置文件时要小心,请保留备份以防出错,逗号和花括号非常重要,不要在聊天或标题内容中使用双引号,这可能会破坏配置文件本身 ;)
- 花时间测试插件并阅读整个配置文件
- 另外,这个插件是我为 Hytale 制作的第一个插件,我仍在学习 API,所以如果你发现任何错误,请随时在 Discord 上告诉我 "Yanisssch_Sori"
示例配置
{
"_comment": "BroadcastSystem config.json - 示例。颜色代码(仅适用于聊天 - 不适用于标题!):&a, &6, &l, &r... 占位符:%player% = 接收者,%joiner% = 加入的玩家。'\n' 块仅允许聊天使用多行文本,标题不行!",
"_help_targets": "JoinSelf 和 JoinServer 的目标可以是:[\"CHAT\"], [\"TITLE\"],公告的目标可以是 [\"BOTH\"](或 [\"CHAT\",\"TITLE\"])。",
"chat": {
"_comment": "聊天中的自动公告。",
"enabled": true,
"intervalSeconds": 120,
"shuffle": false,
"prefix": "&6&l[信息]&r "
},
"title": {
"_comment": "作为中心标题(EventTitle)的自动公告。",
"enabled": true,
"intervalSeconds": 300,
"shuffle": false,
"showSubtitle": true,
"defaultSubtitle": "&e公告",
"animate": true
},
"joinSelf": {
"_comment": "仅发送给加入玩家的消息(私密)。",
"enabled": true,
"disableDefaultJoinMessage": true,
"targets": ["BOTH"],
"chat": "----\n&a嗨 &f%player%&a!\n&7欢迎!请阅读 &f/rules&7 :)\n----",
"title": "欢迎 %player% 来到服务器名称!",
"subtitle": "玩得开心 ;)",
"_example_title": {
"_comment": "替代示例:显示标题而不是聊天",
"enabled": false,
"disableDefaultJoinMessage": true,
"targets": ["TITLE"],
"title": "欢迎",
"subtitle": "&7规则:&f/rules"
},
"_example_chat": {
"_comment": "替代示例:显示聊天而不是标题",
"enabled": false,
"disableDefaultJoinMessage": true,
"targets": ["CHAT"],
"chat": "----\n&a嗨 &f%player%&a!\n&7欢迎!请阅读 &f/rules&7 :)\n----"
}
},
"joinServer": {
"_comment": "当有人加入时发送给所有人的消息。",
"enabled": true,
"disableDefaultJoinMessage": true,
"targets": ["CHAT"],
"chat": "----\n&6&l[JOIN]&r &e%joiner% &a加入了服务器!\n----",
"_example_both": {
"_comment": "替代示例:同时发送聊天 + 标题。",
"enabled": false,
"disableDefaultJoinMessage": true,
"targets": ["BOTH"],
"chat": "----\n&6&l[JOIN]&r &e%joiner% &a加入了服务器!\n----",
"title": "&a新玩家!",
"subtitle": "&e%joiner%"
}
},
"_comment": "对于公告,目标不要使用 BOTH(目前正在修复此部分的问题)",
"announcements": [
{
"_comment": "示例 1:聊天多行公告(使用 ----\n 块)。",
"targets": ["CHAT"],
"chat": "----\n&b欢迎 &f%player%&b!\n&7请务必阅读 &f/rules&7 :)\n----"
},
{
"_comment": "示例 2:标题公告。",
"targets": ["TITLE"],
"title": "欢迎",
"subtitle": "玩得开心!"
},
{
"_comment": "示例 3:无副标题的标题公告。",
"targets": ["TITLE"],
"title": "需要帮助?",
"subtitle": ""
},
{
"_comment": "示例 4:聊天 Discord 公告。",
"targets": ["CHAT"],
"chat": "----\n&bDiscord:&ddiscord.gg/....\n&7快来打招呼吧!\n----"
}
]
}
使用场景
- 服务器提示 / 规则提醒
- Discord 链接轮播
- 活动公告
- 欢迎消息
安装步骤
- 下载 .jar 文件
- 将其放入服务器文件中的 mods 文件夹
- 重启服务器
- 检查位于 /mods/Yanisssch_BroadcastSystem 的配置文件
- 重启服务器或执行 /hbs reload 命令
- 查看效果
- 搞定 ;)
支持
你只能通过 Discord 联系我:Yanisssch_Sori(我可能需要 6 到 12 小时才能回复)
正在加载版本记录…






正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。