FlowChat

FlowChat

基于模式的聊天自动化——通过正则表达式匹配消息,以命令回复。支持颜色感知匹配、JSON匹配、多命令响应和进度通知。

发现 bug 或有功能请求?在 GitHub 上提交 Issue

FlowChat

基于正则表达式的 Minecraft 聊天处理器。可对聊天消息进行替换、过滤、通知、自动回复和播放声音——适用于客户端和服务端,支持所有主流平台。当前版本:2.1.2。

支持平台

平台 类型 版本
Fabric 客户端模组 1.14.4 - 1.21.11
Forge 客户端模组 1.7.10 - 1.21.11
NeoForge 客户端模组 1.20.4 - 1.21.11
Spigot/Paper 服务端插件 1.7.10 - 1.21.11
BungeeCord 代理插件 最新版
Velocity 代理插件 最新版

功能特性

  • 正则替换 -- 使用正则匹配收到的聊天消息,并替换为格式化文本
  • 外发消息规则 -- 拦截并改写你发送的消息(命令别名、颜色前缀)
  • 颜色感知匹配 -- colorAware: true 可匹配保留颜色代码的文本;替换支持 &a、&l 等格式代码
  • Toast 通知 -- 将匹配的消息从聊天栏重定向到覆盖层显示("toast": true)
  • 通知样式 -- "notifyStyle":"actionbar"(默认)、"toast"(系统通知)或 "advancement"(成就弹窗)
  • 声音提醒 -- 匹配时播放声音:"sound": true(默认声音)、"sound": "bell"(特定声音)或 "sound": "note_pling"
  • 自动回复 -- 当模式匹配时发送命令/消息:"respond": "/cmd"(单个)或 "respond": ["/cmd1", "/cmd2"](多个)
  • JSON 匹配 -- matchJson: true 匹配原始 JSON 聊天组件而非显示的文本
  • 数值累计 -- 将快速连续消息中的数字捕获组聚合为累计总数
  • 标签选择器 -- {player}、{time}、{biome}、{item_name} 以及更多标签(共 389 个)可在替换中展开
  • 服务器过滤 -- "server": "^mc\\.example\\.com" 可将规则限制为仅匹配指定服务器
  • 消息取消 -- 将替换值设为 pleasecancelthismessage 可从聊天栏中完全隐藏消息
  • 热重载 -- 无需重启游戏或服务器即可编辑规则文件
  • 旧字段支持 -- 旧字段名(search、toastMe、respondMsg、serversearch、msgsearch、msgreplacement)仍可通过别名使用

规则格式

{
  "incoming": [
    { "pattern": "hello", "replacement": "world" },
    { "pattern": "alert_me", "toast": true, "sound": "bell", "notifyStyle": "advancement" },
    { "pattern": "greet", "respond": ["/say Hi!", "/say Welcome!"] }
  ],
  "outgoing": [
    { "pattern": "/b", "replacement": "/bottle get 64" }
  ]
}

数值累计

将快速连续消息中的数字捕获组聚合为累计总数。当商店快速发送多行消息时(例如批量出售物品),数值累计会将它们合并为累计总数。

标记 含义
$1, $2, ... 标准正则组引用(仅当前匹配)
$^1, $^2, ... 累计值(累加后的总数)
$^i 迭代次数(累计的消息条数)

安装方法

客户端: 从 Releases 下载对应 MC 版本和加载器的 JAR 文件。将其放入你的 mods/ 文件夹。FlowChat 首次启动时会在 .minecraft/config/flowchat.json 创建默认配置。

服务端: 从 Releases 下载服务端 JAR(Spigot、Bungee、Velocity 或 Unified)。将其放入 plugins/。对于 1.14.4+ 的服务端,安装 PacketEvents 可启用数据包级别的聊天拦截(可选——若无则回退到 Bukkit 事件)。

重载: 编辑 flowchat.json,然后在游戏中运行 /flowchat reload。无需重启。

相关链接