MessageFilter

MessageFilter - 消息过滤与翻译插件

移除、修改或翻译来自任何来源的任何消息
Bukkit / Spigot 作者 fromgate 支持版本 未标注
服务器使用量
未统计
服务玩家数
未统计
下载量
10,926
插件详细介绍

简介

MessageFilter 是一款强大的聊天信息控制插件,它允许你管理服务器聊天中来自任何来源的信息。你可以永久隐藏烦人的插件消息,或为其设置冷却时间以限制显示频率,甚至可以将任意信息替换为其他内容。此外,MessageFilter 还能作为翻译工具,为那些本身不提供翻译功能的插件实现信息本地化。

为什么需要这个插件?

  • 你想隐藏服务器上某些插件不断刷屏的烦人信息。
  • 你想将某条信息替换成另一条。
  • 你想翻译某个插件的消息,但该插件没有提供可编辑的语言文件。

功能特性

  • 隐藏信息:彻底屏蔽特定消息。
  • 替换信息:将一条信息的内容替换为另一条。
  • 信息冷却:为重复信息设置冷却时间。例如,你可以设置一分钟内只显示一次相同的消息。
  • 支持多种匹配模式:包括正则表达式(Regex)和其他字符串比较方式。

工作原理

所有规则都存储在 MessageFilter/rules 文件夹下的文件中。你可以通过命令或直接编辑文件来添加、修改或删除规则。

每条规则都基于以下几个参数

  • Type (类型):定义用于匹配原始信息文本的方法。共有五种类型:
  • EQUAL:不区分大小写的完全匹配。(例如:"Aaaa Bbbb" 与 "aaaa bbbb" 匹配)
  • CONTAINS:在信息中查找包含的子字符串。
  • START:检查信息是否以指定文本开头。
  • END:检查信息是否以指定文本结尾。
  • REGEX:使用正则表达式进行匹配。
  • message-mask (信息掩码):定义用于在原始信息中查找匹配项的输入掩码。
  • replace-to (替换为):定义替换后的内容。替换文本支持占位符 %word1% ... %wordN%,它们将被原始信息中对应的单词替换。
  • cooldown-time (冷却时间):以类似 ReActions 插件的格式定义时间。用于为烦人信息设置显示时间限制。例如,如果冷却时间设为 5 秒,且“替换为”掩码为空,那么该烦人信息每 5 秒只会显示一次。

当插件(或其他来源)发送信息时,MessageFilter 会控制此信息,并根据定义的规则进行更改。玩家将看到替换后的信息,而非原始信息。此方法甚至可以用来翻译那些没有内置翻译功能的插件,你只需找到信息并创建替换规则即可。

**规则文件示例**

> http://dev.bukkit.org/bukkit-plugins/message-filter/pages/main/rule-file-example/

命令

插件的主命令是 msgfilter(别名:mfilter, filter)。

  • /msgfilter help — 显示帮助信息。
  • /msgfilter add <RuleId> [GroupId] — 创建新规则。
  • /msgfilter set <RuleId> type|input|output|cooldown|group <Value> — 将规则参数(类型、输入掩码、输出掩码、冷却时间或分组)设置为 <Value>
  • /msgfilter remove <RuleId> — 删除规则。
  • /msgfilter list [Mask] [PageNumber] — 显示规则列表。
  • /msgfilter info <RuleId> — 显示规则参数详情。
  • /msgfilter save <GroupId> [<Number>|<Time>] — 将接下来的信息保存到文件 <GroupId>.yml 中。
  • /msgfilter reload — 重新加载所有规则。
  • /msgfilter test — 测试 MessageFilter 是否正常工作。

创建规则

你可以通过三种方式创建新规则:使用命令、保存接收到的聊天信息,或手动编辑文件。

使用命令

/msgfilter add newrule
/msgfilter set newrule type EQUAL
/msgfilter set newrule input this is the input message
/msgfilter set newrule output &6this is the output message

保存接收到的聊天信息

  • /msgfilter save test1 — 将下一条(仅一条)接收到的信息保存到 test1.yml 文件。
  • /msgfilter save test2 15 — 将接下来的 15 条信息保存到 test2.yml 文件。
  • /msgfilter save test2 10m — 将接下来 10 分钟内收到的所有信息保存到 test2.yml 文件。

手动配置

MessageFilter 支持多个规则定义文件。它们是位于 rules 文件夹中的 YAML 文件(*.yml)。你可以手动编辑或创建这些文件。

**示例**

roadprotector: # 规则 ID
  type: EQUAL  # 规则类型
  message-mask: '&3[RP] &cThis place is protected!' # 输入信息(含颜色代码)
  replace-to: '&6Здесь нельзя ломать и строить!'  # 输出(翻译后)信息
  cooldown-time: '' # 冷却时间
  use-formating: true # 使用格式(颜色)
removejoing: # 规则 ID
  type: REGEX # 规则类型
  message-mask: '\w+ joined the server\.'   # 输入信息,我打算隐藏它
  replace-to: '' # 空行
  cooldown-time: ''
  use-formating: false # 忽略格式
annoying:
  type: EQUAL
  message-mask: 'You can\'t build here!'
  replace-to: '' # 空行
  cooldown-time: '5s' # 此信息在五秒内只会显示一次
  use-formating: false # 忽略格式

MessageFilter 自检

你可以使用命令 /msgfilter test 来确保 MessageFilter 工作正常。只需在聊天中输入此命令。如果你收到“MessageFilter test failed!”信息,通常需要安装或更新 ProtocolLib。

权限

  • messagefilter.config — 唯一用于访问插件命令的权限。
  • messagefilter.test — 允许在玩家加入服务器时执行 MessageFilter 测试。

依赖

此插件需要在你的服务器上安装 ProtocolLib

更新检查器

MessageFilter 包含一个更新检查器,它会使用你的服务器网络连接。更新检查器会每小时检查一次 dev.bukkit.org,以查找插件的新发布版本。你可以轻松禁用它:只需在 config.yml 中将参数 version-check 设置为 false

版本分布
基本信息
插件名称 MessageFilter
作者 fromgate
平台 Bukkit / Spigot
支持版本 未标注
点赞数 2
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:2,673,753  |  历史访问人次:3,241,664

今日访问人数:19,332  |  今日访问人次:22,642

昨日访问人数:30,655  |  昨日访问人次:36,381

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6