## 证言/推荐:



ChatControl 是一个用于 Bukkit、Spigot 和 Paper 的聊天管理和格式化插件,可以显著减少服务器上的垃圾信息、广告、脏话和机器人的数量!
自 2013 年以来,它已获得超过 600,000+ 次下载,并已更新为适用于最新版本的 Minecraft。
## [问题追踪器](https://github.com/kangarko/chatcontrol-free/issues) | [Wiki](https://github.com/kangarko/chatcontrol-free/wiki)
创建自定义规则和处理程序,以完全控制您的聊天。 ChatControl 还具有许多其他独特的功能,请参阅以下列表!
### Koz4Christ 制作的非官方评论视频
注意:在命令中,没有“username”这样的参数。
[](https://www.youtube.com/watch?v=tPAge3NiA-4)
## 功能
### 规则和处理程序
- 规则可用于:
- **有效的诅咒/脏话过滤**。默认情况下,阻止了超过 48 个脏话!
- **强大的 IP / URL 广告拦截**
- **过滤垃圾信息**和**重复字符**
- **阻止 Unicode / 非英文消息**
- **拼写错误 / 口语纠正**
- **命令别名**
- 实用命令 / 消息
- 有趣的消息替换
- ...它们完全取决于您,可能性是无限的!
- 定义您自己的规则,这些规则匹配某些**正则表达式**并应用于:聊天、命令、告示牌或数据包
- 数据包规则**允许您编辑服务器本身的消息,甚至其他插件的消息**(或隐藏它们)。支持使用rewritein操作符针对不同世界替换消息
- 例如,将未知命令消息更改为生存世界中的无权限消息,但在地狱世界中显示其他内容
- 处理程序可让您轻松管理大量的规则,而无需产生“意大利面代码”
- 自定义语法和解析器,修复了许多 YAML 的限制
- 灵感来自流行的但已过时的 PwnFilter
### 聊天格式化
- 格式化聊天消息,使用变量:{player_prefix} 和 {player_suffix}
- {world} (提示:如果您想自定义世界名称,请使用 Multiverse-Core 并编辑 worlds.yml 中的世界别名)
- {health
- {player} (玩家姓名)
- {town} 和 {nation} (如果启用了 Towny 插件)
- {clan} (如果启用了 SimpleClans 插件)
- {country_name} 和 {country_code}
- {region_name} 和 {isp} (玩家的互联网服务提供商)
- 支持 PlaceholderAPI。
- 支持**全球聊天**(以“!”开头)和**本地聊天**(范围模式)
- 使用 _chatcontrol.chat.overiranged_ 权限获取世界中的所有消息
- 使用 _chatcontrol.chat.spy_ 权限获取所有世界中的所有消息 - 监视模式
### 反垃圾信息
- 阻止相同或相似的消息和命令
- 移除特殊和重复字符以防止绕过(可切换)
- 忽略命令中的第一个参数以避免过于严格的检查
- 可自定义百分比
- 设置消息和命令之间的延迟
- 降低冗长且不易读的消息垃圾信息
- 从延迟和相似性检查中排除命令
### 反过度使用大写
- 高效且智能的过度使用大写的预防
- 自定义最小消息长度,大写百分比、行中的大写字母数和忽略的单词白名单
- 忽略玩家姓名
### 反机器人
- 设置再次登录之间的延迟
- 阻止相同的文本的告示牌(提醒工作人员 + 删除告示牌)(对抗“AutoSign”作弊很有用)
- 在加入时阻止聊天,直到玩家移动(防止机器人加入并发送垃圾信息)
### 聊天清除
- 清除游戏聊天。支持原因和参数:
- -anonymous (-a)(隐藏清理者的名称)
- -silent (-s)(隐藏清理后的整个广播消息)
- -console(清除控制台)
- 对于具有权限的玩家,不要清除聊天
### 聊天静音
- 全局防止聊天和执行某些命令处于静音状态。
- 还会隐藏加入/退出/踢出和死亡消息
- 支持原因和参数
- -anonymous (-a)(隐藏清理者的名称)
- -silent (-s)(隐藏清理后的整个消息)
- -console(清除控制台)
### 消息自定义 & 广播器
- 自定义或隐藏加入/退出和踢出消息。支持变量:{player}、{player_suffix} 和 {player_prefix}(查看聊天格式化程序中的更多变量)
- 发送虚假的加入或离开消息(/chc fake)
- 在指定的间隔内广播消息
- 3 种模式 - 按顺序、随机和随机缓存(防止消息在所有消息广播之前重复)
- 设置前缀和后缀
- 支持变量 %player 和 %world
- 每个世界的不同消息
- 世界消息默认继承全局消息,可以通过在第一行插入 - excludeGlobal 来禁用此功能。
### 数据包功能
- 如果没有给定参数,则禁用标签补全,从而泄露服务器信息。
- 注意:如果使用 spigot,建议禁用此功能并在 spigot.yml 中进行配置!
- 更改其他插件或服务器的消息(参见 rules/packet.txt 文件)
### 控制台功能
- 从控制台中删除不需要的消息
### 声音通知
- 当有人在聊天中提到您或您收到 '/tell'、'/r'(或任何指定的消息)时,获得通知
- 自定义声音、音量和音调。
- 尊重 MC 1.9 及更高版本中声音名称的区别
- 可以指定一个必要的通知前缀(例如 @kangarko)
- 仅在离线状态时通知玩家(可切换,需要 Essentials)
### 语法
- 自动大写句子
- 在末尾插入点
- 尊重域名和 IP 地址
- 定义大小写和标点符号的最小消息长度
### 聊天对话存储器
- 将整个聊天对话保存到文件中。与控制台输出不同,它只会保存玩家消息和指定的命令
- 忽略某些玩家
### 本地化
- 当前可用位置:
- 英语 (en)
- 斯洛伐克语 (sk)
- 捷克语 (cz)
- 西班牙语 (es)
- 德语 (de)
- 法语 (fr)
- 荷兰语 (nl)
- 瑞典语 (se)
- 匈牙利语 (hu)
- 保加利亚语 (bg)
- 要自定义本地化,请在 plugins/ChatControl/localization/messages_LOCALE.yml 中创建一个文件(将 LOCALE 替换为本地化的简称 - 上述括号中的那个)
- 重新加载后,它将用所有值填充,并与更新的版本保持同步。
- 如果您制作了本地化,如果您通过 PM 将其发送给我,将会非常感激。谢谢!
### 群组(权限特定的设置)
- 使用具有特定权限的每个群组(或玩家)应用不同的设置
- 例如:允许值得信赖的玩家快速输入,但将任务的延迟消息设置为,例如,5 秒。
- 示例 2:为某些玩家/组设置不同的加入/离开/踢出消息。
### 轻量级 & 安全
- 极其高效且 CPU / RAM 使用率低
- 异步更新和非阻塞功能
- 安全性检查器,可防止格式错误的正则表达式运行到无限循环并使服务器冻结
- 自定义语法解析器
#### 您可以关闭所有功能并更改每条消息!
### 兼容性
- 最小 Minecraft 版本:Craftbukkit 1.2.5(正确!)到最新的 Spigot / Paper
- 最小 Java 版本:Java 8
- 该插件不使用 NMS 访问,因此在接下来的版本(1.10.x 等)中很可能不会中断
- Cauldron 和 PaperSpigot 兼容
**Minecraft 1.7.10 及更低版本的重要提示:** 请务必在 ChatControl 旁边安装 [BungeeChatAPI](https://bitbucket.org/kangarko/bungeechatapi/downloads/)。
### 命令
请参阅 "/chc list" 以显示插件的所有可用命令。

### 支持的插件
- **ProtocolLib** 用于数据包文件中的自定义规则以及防止标签补全。
- **Essentials** 或 **EssentialsX** 用于检测离线玩家。
- **Vault** 用于聊天格式化程序以及在自定义规则中的“then fine”操作符中取出玩家的资金。
- **Multiverse-Core** 用于聊天格式化程序中的彩色世界别名。
- **Towny** 用于聊天格式化程序中的 {nation} 和 {town} 变量。
- **SimpleClans** 用于聊天格式化程序中的 {clan} 变量。
- **AuthMe** 用于改进加入/踢出/退出消息。
- **PlaceholderAPI** 用于额外的变量。
### 需要帮助? 提出问题?
### [点击这里向我们发送消息。](https://github.com/kangarko/ChatControl-Free/issues)
### 我们将在 1-5 个工作日内回复所有客户。