
Werchat
一个功能齐全的聊天插件,包含适用于Hytale服务器的聊天频道系统。通过可自定义的频道、私人消息和审核工具来组织玩家交流。
查看大图Werchat
Hytale 服务器的频道聊天系统。 多频道、快速聊天路由、私信、昵称和审核——全部集成于一个插件中。
功能
频道系统 — 支持多个频道,可自定义颜色、昵称,并具有基于距离和世界的消息投递功能。
快速聊天 — 使用前缀符号将消息路由到任意频道,无需手动切换。! 为全局频道,~ 为交易频道。
私信 — /msg 和 /r 命令支持回复追踪、忽略列表和离线检测。
玩家昵称 — 自定义显示名称,最长 20 个字符,支持十六进制颜色和双色渐变。
提及系统 — @玩家名 高亮显示,支持自定义颜色和粗体格式。
审核工具 — 每个频道独立封禁、禁言、管理、词语过滤(审查/拦截模式)和聊天冷却。
权限集成 — 支持 HyperPerms 和 LuckPerms 的前缀/后缀,以及十六进制颜色代码。
PlaceholderAPI 集成 — 支持在频道格式文本中使用外部 %...% 占位符,并内置了 %werchat_*% 扩展。
插件 API — 对外提供轻量级 WerchatAPI,供其他插件查询频道、管理成员关系/焦点,并通过 Werchat 的消息管道提交聊天内容。
消息颜色 — 独立设置消息文本的颜色和渐变,与昵称颜色分开。
持久化存储 — 基于 JSON 的数据存储,带有脏标记 + 延迟保存(20 秒)机制,并在服务器关闭时执行最后的刷新。
快速开始
- 将
Werchat-1.1.9.jar放入mods/文件夹 - 启动服务器 —— 会默认创建四个频道
- 使用
/ch list查看频道,使用/ch join <频道名>加入频道 - 输入
!hello在全局频道快速聊天,或输入~hello在交易频道快速聊天
/ch list # 列出所有频道
/ch global # 切换到全局频道
/ch join trade # 加入交易频道
/msg Steve Hey! # 发送私信
/ch playernick CoolName # 设置昵称
默认频道
| 频道 | 昵称 | 颜色 | 范围 | 自动加入 | 快速聊天符号 |
|---|---|---|---|---|---|
| 全局 | Global | 白色 (#ffffff) |
无限制 | 是 | ! |
| 本地 | Local | 灰色 (#808080) |
100 格 | 是 | — |
| 交易 | Trade | 金色 (#ffd700) |
无限制 | 是 | ~ |
| 支持 | Support | 绿色 (#00ff00) |
无限制 | 是 | — |
命令
玩家命令
| 命令 | 别名 | 描述 |
|---|---|---|
/ch list |
/ch l |
列出所有频道 |
/ch join <频道名> [密码] |
/ch j |
加入频道 |
/ch leave <频道名> |
— | 离开频道 |
/ch <频道名> |
— | 切换活跃频道 |
/ch who <频道名> |
/ch w |
查看频道成员 |
/ch info <频道名> |
— | 查看频道详情 |
/ch create <名称> [昵称] |
— | 创建新频道 |
/ch playernick <名称> [#颜色] [#渐变] |
/ch pnick, /ch nickname |
设置昵称 |
/ch msgcolor <#颜色> [#渐变] |
/ch chatcolor |
设置消息颜色 |
/ch help |
/ch ? |
显示命令帮助 |
消息命令
| 命令 | 别名 | 描述 |
|---|---|---|
/msg <玩家> <消息> |
/whisper, /w, /tell, /pm |
发送私信 |
/r <消息> |
/reply |
回复上一条私信 |
/ignore <玩家> |
— | 切换忽略玩家 |
/ignorelist |
— | 列出已忽略的玩家 |
管理员/管理命令
| 命令 | 别名 | 描述 |
|---|---|---|
/ch color <频道名> <#十六进制> [#十六进制] |
— | 设置频道标签颜色(以及可选的消息颜色) |
/ch nick <频道名> <昵称> |
— | 设置频道快捷名称 |
/ch rename <频道名> <新名称> |
— | 重命名频道 |
/ch password <频道名> [密码] |
/ch pass |
设置或清除频道密码 |
/ch distance <频道名> <方块数> |
/ch range |
设置范围(0 = 无限制) |
| `/ch world <频道名> add | remove <世界>` | — |
/ch mod <频道名> <玩家> |
/ch moderator |
添加频道管理员 |
/ch unmod <频道名> <玩家> |
— | 移除频道管理员 |
/ch ban <频道名> <玩家> |
— | 封禁频道中的玩家 |
/ch unban <频道名> <玩家> |
— | 解封玩家 |
/ch mute <频道名> <玩家> |
— | 禁言频道中的玩家 |
/ch unmute <频道名> <玩家> |
— | 取消禁言 |
/ch remove <频道名> |
/ch delete, /ch del |
删除频道 |
/ch reload |
— | 从磁盘重新加载 Werchat 配置和频道数据 |
频道管理员可以在自己的频道内使用管理命令,无需全局权限节点。
| 权限节点 | 描述 |
|---|---|
werchat.* |
所有 Werchat 权限(通配符) |
werchat.list |
列出频道 |
werchat.join |
加入频道 |
werchat.leave |
离开频道 |
werchat.create |
创建频道 |
werchat.who |
查看频道成员 |
werchat.info |
查看频道信息 |
werchat.switch |
切换活跃频道 |
werchat.color |
设置频道颜色 |
werchat.nick |
设置频道昵称 |
werchat.password |
设置频道密码 |
werchat.rename |
重命名频道 |
werchat.remove |
删除频道 |
werchat.mod |
管理频道管理员 |
werchat.distance |
设置频道范围 |
werchat.ban |
封禁/解封频道的玩家 |
werchat.mute |
禁言/取消禁言频道中的玩家 |
werchat.world |
设置世界限制 |
werchat.reload |
重新加载 Werchat 配置/频道数据 |
werchat.msg |
发送私信 |
werchat.ignore |
忽略玩家 |
werchat.quickchat |
使用快速聊天符号 |
werchat.playernick |
设置自己的昵称 |
werchat.playernick.others |
设置其他玩家的昵称 |
werchat.nickcolor |
设置昵称颜色/渐变 |
werchat.msgcolor |
设置自己的消息颜色 |
werchat.msgcolor.others |
设置其他玩家的消息颜色 |
werchat.cooldown.bypass |
绕过聊天冷却 |
拥有 werchat.* 或 * 权限的玩家也会绕过冷却和词语过滤器。
每个频道的权限节点:
werchat.channel.<频道名>.joinwerchat.channel.<频道名>.speakwerchat.channel.<频道名>.read(主要接收/读取节点)
只有在 channelPermissions.enforce 启用时,这些节点才会在正常的 /ch 和聊天流程中生效。
配置
配置文件:mods/com.werchat_Werchat/config.json
查看完整配置
{
"defaultChannelName": "Global",
"autoJoinDefault": true,
"showJoinLeaveMessages": true,
"allowPrivateMessages": true,
"channelPermissions": {
"enforce": false
},
"banMessage": "You have been banned from {channel}",
"muteMessage": "You have been muted in {channel}",
"wordFilter": {
"enabled": false,
"mode": "censor",
"replacement": "***",
"notifyPlayer": true,
"warningMessage": "Your message contained inappropriate language.",
"words": ["..."]
},
"cooldown": {
"enabled": false,
"seconds": 3,
"message": "Please wait {seconds}s before sending another message.",
"bypassPermission": "werchat.cooldown.bypass"
},
"mentions": {
"enabled": true,
"color": "#FFFF55"
},
"ignoreChatCancellations": false
}
| 键 | 默认值 | 描述 |
|---|---|---|
defaultChannelName |
"Global" |
玩家默认所在的频道 |
autoJoinDefault |
true |
连接时自动加入默认频道 |
showJoinLeaveMessages |
true |
向频道广播加入/离开消息 |
allowPrivateMessages |
true |
是否启用 /msg 命令 |
channelPermissions.enforce |
false |
在正常 /ch 和聊天流程中强制使用每个频道的 join/speak/read 节点 |
banMessage |
"You have been banned from {channel}" |
向被封禁玩家显示的消息 |
muteMessage |
"You have been muted in {channel}" |
向被禁言玩家显示的消息 |
wordFilter.enabled |
false |
启用词语过滤器 |
wordFilter.mode |
"censor" |
censor 替换不良词语,block 拒绝消息 |
wordFilter.replacement |
"***" |
审查模式下的替换字符串 |
wordFilter.notifyPlayer |
true |
触发过滤时警告玩家 |
wordFilter.warningMessage |
"Your message contained..." |
警告消息文本 |
wordFilter.words |
(默认列表) | 要过滤的词语(不区分大小写) |
cooldown.enabled |
false |
启用聊天冷却 |
cooldown.seconds |
3 |
消息间隔秒数 |
cooldown.message |
"Please wait {seconds}s..." |
冷却消息 |
cooldown.bypassPermission |
"werchat.cooldown.bypass" |
绕过冷却的权限 |
mentions.enabled |
true |
启用 @提及 高亮 |
mentions.color |
"#FFFF55" |
提及高亮的十六进制颜色 |
ignoreChatCancellations |
false |
即使被其他插件取消也处理聊天 |
当 channelPermissions.enforce 启用时:
join检查在/ch join和/ch <频道名>自动加入时触发。speak检查在发送消息前触发。read检查在发送者选择和按接收者投递时触发。- 密码检查仍然有效;权限节点不会绕过频道密码。
频道格式占位符
自定义频道消息格式支持以下占位符:
| 占位符 | 描述 |
|---|---|
{name} |
完整频道名称 |
{nick} |
频道昵称/缩写 |
{color} |
频道颜色代码 |
{sender} |
玩家显示名称 |
{msg} |
消息内容 |
{prefix} |
玩家的权限前缀(HyperPerms/LuckPerms) |
{suffix} |
玩家的权限后缀(HyperPerms/LuckPerms) |
默认格式:{nick} {sender}: {msg}
当安装了 PlaceholderAPI 时,格式文本也支持 PlaceholderAPI 占位符。
Werchat 还注册了一个内置的 PlaceholderAPI 扩展,标识符为 werchat。你可以在 Github ReadMe 中找到所有可用的占位符。
链接
HyperSystems 套件的一部分:HyperPerms | HyperHomes | HyperFactions | Werchat
正在加载版本记录…






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