Skip to content

v2.0 插件重构, 性能优化, 兼容性修复

Compare
Choose a tag to compare
@ApliNi ApliNi released this 21 Jan 06:17
· 19 commits to main since this release

Full Changelog: v1.0...v2.0

本次更新需要更新或删除配置文件

configVersion: 3

dev:
  # true  = 适用于 1.20.4 版本的方法 (需要 ProtocolLib 5.2.0
  # false = 适用于更低版本的旧方法
  listeningMode: true

list: # 替换列表
  # [示例] 所有可用配置
    # [可选, 默认所有玩家] 对拥有该权限的玩家处理这条消息
  - permission: 'minecraft.command'
    # [必选] 检查消息长度是否小于此值
    inspectLength: 64
    # [必选] 使用正则表达式匹配
    get: '^\{"text":"","extra":\["Missing required argument (\d+)"\]\}$'
    # [必选] 将消息替换为
    # _$1_    = 正则匹配到的变量 1, 也可以是 `_$2_` (第 2 个变量)...
    # _$1:ItemType_   = 将 _$1_ 用于获取物品类型, 提供给 JSON hoverEvent 使用的物品类型 show_entity, show_item(block)
    # _$1:TranslatedName_   = 将 _$1_ 用于名称翻译, 返回与语言路径对应的 KEY, 例如 `entity.minecraft.allay`
    # _$1:Words:组名_   = 将 _$1_ 用于词替换, 需要配置 words.yml
    # 其他示例:
    # set: >- # YAML 语法中使用 `>-` 可以编写换行的文本, 效果如上
    # set: '' # 如果为空, 则取消发送这条消息
    set: '{"text":"§bIpacEL §f> §b此指令需要至少§a_$1:Words:中文数字_个参数"}'
    # [可选, 默认聊天栏] 将消息显示在操作栏 (物品栏上面)
    displayPlace: 'ACTION_BAR'
# 词替换配置文件
words:

  # 创建一个组, 组名不应包含下划线 "_"
  中文数字:
    # 添加一个词替换
    # 如果多个词的配置重复, 将会被忽略
    - get: '1' # [必选] 需要匹配的词
      set: '' # [必选] 替换为
      lang: 'zh_cn' # [可选, 默认直接替换] 当客户端语言与其匹配时进行替换

更新内容

  • 添加 displayPlace 配置: [可选, 默认聊天栏] 将消息显示在操作栏 (物品栏上面)
  • 添加 permission 配置: [可选, 默认所有玩家] 对拥有该权限的玩家处理这条消息
  • 添加词替换功能: _$1:Words:组名_ = 将 _$1_ 用于词替换, 需要配置 words.yml
  • 支持删除消息
  • 添加 dev.listeningMode 配置, 用于调整版本兼容性
  • 修复部分消息重复发送的 bug
  • 显著的性能优化
  • 改进 /utn debug 消息显示, 输出更多内容