
JemAnnouncements
带有聊天、通知、标题和声音的预定/自动公告系统。
查看大图一个 Hytale 服务器插件,提供自动公告系统,支持聊天、通知、标题和声音消息。该插件允许你安排和自定义公告,并可按配置的时间间隔自动发送给所有在线玩家。
当前功能
- 多种消息类型:支持聊天消息、操作栏通知、标题和音效
- 灵活调度:可配置自动公告的时间间隔
- 消息排序:选择顺序或随机方式发送消息
- 优先级系统:设置消息优先级以控制显示顺序
- 消息居中:自动居中聊天消息,提升展示效果
- 多消息文件:可将无限数量的公告消息创建为单独的 JSON 文件
- 丰富格式化:支持十六进制、RGB、传统颜色代码(
&代码)和 TinyMsg 标签 - 热重载:使用
/announce-reload命令无需重启服务器即可重载配置和消息 - 手动触发:使用
/announce <message-name>命令手动按名称触发任何公告。对于子文件夹中的消息,请使用相对路径(例如/announce example/example-chat)。 - 文件夹支持:将消息文件组织到子文件夹中,便于管理
- 更新检查:检查 GitHub 版本更新,并在有新版本时通知你
- 示例模板:首次启动时自动生成示例消息模板
消息类型
聊天消息:向所有玩家发送格式化的聊天消息(支持多行、居中显示和丰富格式化)

通知:显示类似物品拾取通知的通知,可自定义图标

标题消息:显示主标题和副标题消息,可自定义淡入/淡出时间,并支持主要标题

音效:向所有玩家播放自定义声音,可配置音量和音调
安装
- 从 发布页面 下载最新版本
- 将
JemAnnouncements-x.x.x.jar文件放入 Hytale 服务器的mods文件夹中 - 启动服务器以生成配置文件
- 编辑
Jemsire_JemAnnouncements/AnnouncementConfig.json文件,配置时间间隔和排序方式 - (可选)自定义
Jemsire_JemAnnouncements/messages/文件夹中的消息文件 - 在游戏中输入
/announce-reload以热重载配置并启动插件
注意: 示例消息模板在首次启动时自动创建。你可以对它们进行自定义,或创建自己的消息文件。
配置
首次启动后,配置文件将在你的 mods 文件夹中创建。该插件使用双层配置系统:
- AnnouncementConfig.json:包含时间和排序设置的主配置文件
- messages/:各个消息的配置文件
主配置文件 (AnnouncementConfig.json)
主配置文件位于 Jemsire_JemAnnouncements/AnnouncementConfig.json:
{
"IntervalSeconds": 300,
"EnableRandomization": false,
"CreateExampleMessages": true,
"LogLevel": "INFO",
"Version": 1
}
配置选项:
IntervalSeconds:公告之间的时间间隔(秒)(默认值:300,即 5 分钟)EnableRandomization:设置为true表示随机消息顺序,false表示顺序发送(默认值:false)CreateExampleMessages:如果设置为true,插件将在没有示例消息文件时自动创建(默认值:true)。LogLevel:控制控制台中插件日志的详细程度。"INFO"(默认):显示标准的插件信息和错误。"DEBUG":显示详细的内部跟踪,有助于排查消息解析和投递问题。"NONE":除严重错误外,禁用所有日志。
Version:配置版本(当前为 1)
消息配置文件
每个公告消息在 Jemsire_JemAnnouncements/messages/ 中都有自己的配置文件。插件会递归扫描此文件夹,因此你可以根据需要将消息组织到子文件夹中。
示例模板在首次启动时自动创建在 messages/example/ 子文件夹中:
example/example.json- 包含所有消息类型的完整示例example/example-chat.json- 仅包含聊天消息example/example-notification.json- 仅包含操作栏通知example/example-title.json- 仅包含标题消息example/example-sound.json- 仅包含音效example/example-all.json- 结合了所有消息类型example/example-no-center.json- 无消息居中的示例
消息配置结构
{
"Enabled": true,
"Center": true,
"Priority": 0,
"ChatMessages": [
"<aqua><bold>---[Announcement]---</bold></aqua>",
"<yellow>This is an announcement message!</yellow>"
],
"Notification": {
"Title": "<yellow><bold>公告</bold></yellow>",
"Subtitle": "<gray>这是一条通知</gray>",
"Icon": "Weapon_Sword_Mithril"
},
"Title": {
"Title": "<green><bold>公告</bold></green>",
"Subtitle": "<gray>这是一条标题</gray>",
"IsMajor": false,
"FadeIn": 0.25,
"Stay": 5.0,
"FadeOut": 0.25
},
"Sound": {
"SoundName": "SFX_Unbreakable_Block",
"Volume": 1.0,
"Pitch": 1.0
}
}
配置选项:
Enabled:启用或禁用此消息(true/false)Center:在聊天窗口中居中聊天消息(true/false,默认值:true)Priority:排序时,优先级较高的消息会先显示(默认值:0)ChatMessages:聊天消息字符串数组(按顺序发送)Notification:通知配置(可选)Title:标题/副标题配置(可选)Sound:音效配置(可选)
消息格式示例
仅聊天消息:
{
"Enabled": true,
"Center": true,
"ChatMessages": [
"<aqua><b>---[服务器规则]---</b></aqua>",
"<e>1. 请尊重其他玩家</e>",
"<e>2. 禁止破坏或作弊</e>",
"<e>3. 玩得开心!</e>"
]
}
带偏移的居中(每行微调居中):
{
"Enabled": true,
"Center": true,
"ChatMessages": [
"<offset:-3><6>向左偏移 3 个空格</6>",
"<aqua>正常居中行</aqua>",
"<offset:5><green>向右偏移 5 个空格</green>"
]
}
通知:
{
"Enabled": true,
"Notification": {
"Title": "<yellow><bold>服务器活动开始!</bold></yellow>",
"Subtitle": "<gray>请在 5 分钟内加入我们</gray>",
"Icon": "Weapon_Sword_Mithril"
}
}
标题消息:
{
"Enabled": true,
"Title": {
"Title": "<green><bold>欢迎来到服务器!</bold></green>",
"Subtitle": "<gray>祝您游玩愉快</gray>",
"IsMajor": true,
"FadeIn": 0.5,
"Stay": 7.0,
"FadeOut": 0.5
}
}
音效:
{
"Enabled": true,
"Sound": {
"SoundName": "SFX_Unbreakable_Block",
"Volume": 1.0,
"Pitch": 1.0
}
}
组合(所有类型):
{
"Enabled": true,
"Center": true,
"ChatMessages": [
"<aqua><bold>---[完整示例]---</bold></aqua>",
"<yellow>这包含了所有消息类型!</yellow>"
],
"Notification": {
"Title": "<yellow><bold>完整示例</bold></yellow>",
"Subtitle": "<gray>所有消息类型组合</gray>",
"Icon": "Weapon_Sword_Mithril"
},
"Title": {
"Title": "<green><bold>完整公告</bold></green>",
"Subtitle": "<gray>聊天、通知、标题和声音</gray>",
"IsMajor": true,
"FadeIn": 0.5,
"Stay": 7.0,
"FadeOut": 0.5
},
"Sound": {
"SoundName": "SFX_Unbreakable_Block",
"Volume": 1.0,
"Pitch": 1.0
},
"Priority": 0
}
格式化支持
该插件支持 TinyMsg 标签、传统 & 颜色代码和居中偏移。
TinyMsg 标签(类似 HTML):
| 标签 | 别名 | 示例 | 描述 |
|---|---|---|---|
<color:X> |
<c:X>, <colour:X> |
<color:red>文本</color> |
命名颜色或十六进制颜色 |
<gradient:X:Y> |
<grnt:X:Y> |
<gradient:gold:red>文本</gradient> |
颜色渐变 |
<bold> |
<b> |
<b>文本</b> |
加粗 |
<italic> |
<i>, <em> |
<i>文本</i> |
斜体 |
<underline> |
<u> |
<u>文本</u> |
下划线 |
<monospace> |
<mono> |
<mono>文本</mono> |
等宽字体 |
<link:URL> |
<url:URL> |
<link:https://example.com>点击</link> |
可点击链接 |
<reset> |
<r> |
<b>加粗<reset>正常 |
重置格式 |
命名颜色: black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, gold, gray, dark_gray, blue, green, aqua, red, light_purple, yellow, white
Minecraft 风格的传统标签: 使用 <0>–<9> 以及 <a>, <b>, <d>, <e>, <f> 表示与 &0–&f 相同的颜色(例如 <e>yellow</e>, <6>gold</6>)。对红色使用 <red> 或 <color:red>,这样 <c:#FF0000> 仍可用于十六进制颜色。
十六进制颜色: <color:#FF0000>红色</color> 或 <c:#FF00FF>品红</color>
传统 & 颜色代码(解析前转换为 TinyMsg):
&0–&f– 颜色(例如&a绿色,&c红色)&l加粗,&o斜体,&n下划线,&r重置&#RRGGBB和&x&R&R&G&G&B&B– 十六进制颜色
居中偏移(启用 Center 时每行使用一个):
<offset:N>– 调整前导空格:正数 = 向右偏移,负数 = 向左偏移(例如<offset:-2>,<offset:5>)。该标签会被剥离,不会显示。
注意: 传统 & 代码在解析前会转换为 TinyMsg 标签。你可以在同一条消息中混合使用标签和 & 代码。
命令
/announce-reload- 无需重启服务器即可重载插件配置和消息- 权限:
jemsire.announcements.reload - 用法:重载主配置和所有消息文件;如果间隔或排序发生变化,则重新启动调度器
- 权限:
/announce <message-name>- 按消息名称手动触发公告- 权限:
jemsire.announcements.announce - 用法:
/announce example(消息名称不带 .json 扩展名) - 示例:
/announce example触发来自example.json的消息
- 权限:
本项目是开源的:
欢迎贡献或将其改造为你自己的系统!查看 Github
想要获取我所有项目的更新吗?
加入 Discord!立即加入!
正在加载版本记录…





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