Skip to content

配置

语言文件

使用方法

settings.yml

yaml
Options:
  # 是否检查更新并提醒
  Check-Update: true
  # 强制使用跨服类型, 识别错误时可更改(AUTO, NONE, BUNGEE, VELOCITY)
  Proxy: AUTO
  # 记录普通聊天格式到plugins/TrChat/logs目录下的格式
  Log-Normal: '[{0}] {1}: {2}'
  # 记录私聊聊天格式到plugins/TrChat/logs目录下的格式
  Log-Private: '[{0}] {1} -> {2}: {3}'
  # 自动删除多少天前的聊天记录
  Log-Delete-Time: 0
  # 强制变量扩展
  Depend-Expansions: ['player', 'server']
  # 是否禁止玩家使用tab补全命令
  Prevent-Tab-Complete: false
  # 聊天发包最大长度限制
  Component-Max-Length: 32700
  # 是否允许Kether宽容解析
  Kether-Allow-Tolerance-Parser: true
  # 是否总是取消原版聊天事件 (需要配合其他插件使用时开启)
  Always-Cancel-Chat-Event: false
  # 欺骗客户端已开启安全聊天 (阻止右上角弹窗)
  Cheat-Client-Secure-Chat: false
  # 是否启用发包/处理包
  Use-Packets: true
  # 禁用的命令
  Disabled-Commands: []
  # 在这些世界禁用聊天监听器,世界名支持正则(完全匹配)
  # 示例: ['world', 'lobby', 'minigame_.*']
  Disabled-Worlds: []

# 默认频道
Channel:
  Default: 'Normal' # 改为Global即可全局跨服聊天

# 数据库
Database:
  # 数据库类型 (SQLite,SQL,POSTGRESQL)
  Method: SQLite
  SQL:
    # 数据库地址
    host: localhost
    # 数据库端口 (MySQL: 3306, PostgreSQL: 5432)
    port: 3306
    # 数据库用户名
    user: root
    # 数据库密码
    password: root
    # 数据库名
    database: trixey
    # 数据库表名
    table: trchat_user_data

# Redis相关配置
Redis:
  enabled: false
  host: localhost
  port: 6379
  user: ~
  password: ~
  connect: 32
  timeout: 1000

# 聊天功能
Chat:
  # 消息拦截 (2.5.1+)
  Interception:
    # 内容相似度防刷屏
    Anti-Repeat:
      # 相似度阈值 (0-1), 超过则按相似消息处理
      Similarity: 0.85
      # 每个周期内 (Period) 允许发送的相似消息最大条数, 0 表示完全禁止连续发送相似消息
      Max-Per-Period: 0
      # 计数周期
      Period: '1m'
      # 是否检测周期内所有消息的相似度: true 检测周期内所有消息 (更严格); false 仅检测相邻两条消息 (2.5.2+)
      Compare-All: false
    # 消息发送频率限制
    Anti-High-frequency:
      # 每个周期内 (Period) 允许发送的消息最大条数, 0 表示无消息发送频率限制
      Max-Per-Period: 0
      # 计数周期
      Period: '1m'
    # 句内连续重复词组检测
    Anti-Duplicate-Phrase:
      # 句内连续重复词组允许的最大次数, 超过则拦截, 0 表示禁用此检测
      # 例如填2时: 发送"加我微信加我微信"放行, "加我微信加我微信加我微信"拦截
      Max-Repeat: 0
      # 词组白名单, 其中的词组无论连续重复多少次都不拦截
      Whitelist: ['哈', '6', '?', '?', '!', '!']
  # 聊天间隔冷却
  Cooldown: '2.0s'
  # 最大聊天长度
  Length-Limit: 100
  # 没有发言权限时禁止编辑 (true开启 false关闭)
  Permission-Check:
    # 告示牌
    Sign: false
    # 书与笔
    Book: false
    # 铁砧
    Anvil: false

# 颜色转换
Color:
  # 聊天颜色
  Chat: true
  # 告示牌颜色
  Sign: true
  # 铁砧颜色
  Anvil: true
  # 书本颜色
  Book: true

# 是否启用行内复合文本
Simple-Component:
  # 悬浮文字
  Hover: false
  # 铁砧
  Anvil: false
  # 告示牌
  Sign: false

# MiniMessage
MiniMessage:
  # 开启后频道文件中的text将使用MiniMessage解析
  Text: false

消息拦截 (Chat.Interception)

版本要求: 2.5.1+

settings.yml -> Chat.Interception 分组用于防止刷屏, 包含三种独立的消息拦截策略 (2.5.1+):

分组说明相关配置
Anti-Repeat内容相似度防刷屏Similarity Max-Per-Period Period Compare-All
Anti-High-frequency消息发送频率限制Max-Per-Period Period
Anti-Duplicate-Phrase句内连续重复词组检测Max-Repeat Whitelist

TIP

拥有以下权限的玩家可绕过对应的拦截 (其余消息拦截均不生效):

  • trchat.bypass.repeat - 绕过相似度防刷屏
  • trchat.bypass.duplicate - 绕过连续重复词组检测
  • trchat.bypass.highfrequency - 绕过消息发送频率限制
  • trchat.bypass.chatcd - 绕过聊天间隔冷却

MiniMessage

MiniMessage 是 Adventure 提供的富文本格式, 支持更丰富的颜色、渐变、装饰等语法

  • settings.yml -> MiniMessage.Text: true 开启后, 频道文件中的 text 将使用 MiniMessage 解析
  • /trchat tellmini <玩家> <消息> 可单独向玩家发送 MiniMessage 消息 (玩家为*时向所有在线玩家广播)

special-chars.yml

版本要求: 2.4.14+

自定义特定字符 (如 Emoji) 的默认颜色

yaml
SpecialChars: []
  • SpecialChars: 需要固定颜色的字符列表 (支持单个字符与 Emoji 等 Unicode 字符)
  • 配置完成后在对应频道的 msg 段开启 special-char 功能并指定颜色, 详见频道格式
  • 如果服务器使用包含彩色 Emoji 的资源包, 可在频道配置中将 special-char-color 设为 &f, 解决聊天中 Emoji 变色的现象
  • 修改后执行 /trchat reload重载插件 生效 (文件内附带了完整的 Emoji 示例列表可供参考)

filter.yml

yaml
Enable:
  # 聊天内容是否检测
  Chat: true
  # 告示牌是否检测
  Sign: true
  # 铁砧改名是否检测
  Anvil: true
# 云端词库
Cloud-Thesaurus:
  Enabled: true
  # 忽略词库中的内容
  Ignored: ['nt']
  # 词库地址
  Urls:
    - 'https://raw.githubusercontent.com/Yurinann/Filter-Thesaurus-Cloud/main/database.json' # 感谢南城提供的词库
    # 有时导致误判 自行开启
    # - 'https://raw.githubusercontent.com/konsheng/Sensitive-lexicon/main/ThirdPartyCompatibleFormats/TrChat/SensitiveLexicon.json'
# 本地词库
Local:
  - NMSL
  - fuck
  - shit
# 匹配时忽略的标点符号
Ignored-Punctuations: ['!','.',',','#','$','%','&','*','(',')','|','?','/','@','"','\',';','[',']','{','}','+','~','-','_','=','^','<','>',' ',' ','!','。',',','¥','(',')','?','、','“','‘',';','【','】','——','……','《','》','\\', '`']
# 敏感词白名单 (WIP)
WhiteList: ['has been']
# 替换成的内容 (WIP)
Replacement: '*'

Made by ItsFlicker with ❤️