Full Changelog: https://github.com/ApliNi/useTranslatedNames/compare/v2.3.1...v2.3.1-Folia
这个版本可以在 Folia 服务器上运行, 经过测试, 基础的功能均能正常使用
Full Changelog: https://github.com/ApliNi/useTranslatedNames/compare/v2.3.0...v2.3.1
修复部分功能的版本兼容性, 修复默认配置中的错误
Full Changelog: https://github.com/ApliNi/useTranslatedNames/compare/v2.2.0...v2.3.0
配置更新
dev:
# 将玩家消息转换为系统消息
# Convert = 转换消息并进行替换
# ConvertBypass = 转换消息并绕过替换
# NONE = 禁用此功能
convertPlayerMessages: NONE
更新内容
- 支持将玩家消息转换为系统消息
Full Changelog: https://github.com/ApliNi/useTranslatedNames/compare/2.1.0...v2.2.0
配置及功能更新
# 更新插件后, 需要手动修改配置版本号, 才能使用一些具有较大改动的功能
# 更新发布页面会显示版本号和新功能示例
configVersion: 4
dev:
# 选择解析消息的方式, 修改这部分以调整兼容性
# ChatComponents = 支持 1.20.4 和 ProtocolLib 5.2.0
# GetStrings = 支持 1.20.2 及以下版本
parser: ChatComponents
# 是否对输入的 JSON 进行序列化, 修改它可能影响现有的配置
# CreatePacket = 使用 protocolLib 创建新数据包再解析, 这没有意义
# ComponentSerializer = 这会使 JSON 内部的顺序发生变化, 并可能丢失部分原版消息
# NONE = 不进行序列化
serializedInput: NONE
list: # 替换列表
# [示例] 所有可用配置
# [可选] 仅对拥有该权限的玩家处理这条消息, 默认所有玩家
- permission: 'minecraft.command'
# [必选] 检查消息长度是否在此区间内
# [50, 64] = 大于等于50且小于等于64
# [64] = 等于 64
inspectLength: [50, 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: _USE_GET_ # 将 get 匹配到的消息原封不动的搬下来
set: '{"text":"§bIpacEL §f> §b此指令需要至少§a_$1:Words:中文数字_个参数"}'
# [可选] 修改消息显示位置
# ACTION_BAR = 这条消息将会显示在操作栏
displayPlace: ACTION_BAR
# [可选] 修改消息显示对象
# _$1_ = 正则变量, 消息仅发送给匹配到的玩家名称, 其他玩家不会收到消息
# ALL = 将自己收到的消息广播给所有玩家
# EXCLUDE = 将自己收到的消息广播给所有玩家, 但不包括自己
# CONSOLE = 将消息转发到控制台, 自己不会收到
# COPY_TO_CONSOLE = 将消息复制到控制台
displayObject: ''
# [可选] 继承和其他配置. 将多个配置合并为组, 同时处理来提高性能
# LINK = 与下一条配置合并为组, 将此配置处理完毕的内容传递给下一条配置, 请确保存在下一条配置
# LINK_SER = 使 GROUP 传递序列化后的 JSON 文本
# CLOSE = 如果匹配, 则立即退出匹配检查循环, 不再处理任何数据
inherit: ''
其他更新
Full Changelog: https://github.com/ApliNi/useTranslatedNames/compare/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
消息显示, 输出更多内容
Full Changelog: https://github.com/ApliNi/useTranslatedNames/compare/v0.4...v1.0
本次更新需要更新或删除配置文件
更新内容
- 增强匹配功能
- 支持使用正则表达式变量
- 支持指定处理哪些匹配
- 更优雅的默认配置格式
- 支持 MC 1.20.4 版本