-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME_MCBBS.txt
151 lines (121 loc) · 5.63 KB
/
README_MCBBS.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
[postbg]bg5.png[/postbg][markdown]
https://github.com/ApliNi/useTranslatedNames
---
## useTranslatedNames
内置获取翻译名功能的JSON字符串替换插件, 可用于消息替换和翻译 CoreProtect 等插件的消息
![](https://github.com/ApliNi/useTranslatedNames/blob/main/_img/%E6%95%88%E6%9E%9C%E5%9B%BE.png)
下载: https://modrinth.com/plugin/usetranslatednames
---
## useTranslatedNames
内置获取翻译名功能的JSON字符串替换插件, 可用于消息替换和翻译 CoreProtect 等插件的消息
![](https://github.com/ApliNi/useTranslatedNames/blob/main/_img/%E6%95%88%E6%9E%9C%E5%9B%BE.png)
下载: https://modrinth.com/plugin/usetranslatednames
---
## 功能和指令
- `/utn` 显示插件信息和统计数据
- `/utn json <JSON>` - 测试 JSON 字符串
- `/utn reload` - 重新加载配置
- `/utn debug [Level]` - 调试模式
插件会根据配置捕获对应的服务端消息, 然后替换其中的物品名称并重新发送消息. 详细信息参考"配置"部分.
### 配置
```yaml
# 更新插件后, 需要手动修改配置版本号, 才能使用一些具有较大改动的功能
# 更新发布页面会显示版本号和新功能示例
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
# 将玩家消息转换为系统消息
# Convert = 转换消息并进行替换
# ConvertBypass = 转换消息并绕过替换
# NONE = 禁用此功能
convertPlayerMessages: NONE
list: # 替换列表
# 翻译实体名 :: 24.03/m 前 #**苦力怕** 破坏 草方块
- inspectLength: [240, 1024]
get: '\{"text":"#([a-z0-9_]+)§f([^"]+)","color":"#31B0E8"\}'
set: >-
{"text":"§8#"},
{"translate":"_$1:TranslatedName_","color":"#31b0e8"},
{"text":"§f_$2_","color":"#31B0E8"}
inherit: LINK
# 翻译物品 :: 24.03/m 前 #苦力怕 破坏 **草方块**
- inspectLength: [350, 1024]
get: '\{"text":"([a-z0-9_]+)(?:§f.{0,3})?","color":"#31B0E8"\}'
set: >-
{"extra":[
{"translate":"_$1:TranslatedName_"},
{"text":" §8_$1_",
"hoverEvent":{
"action":"show_text",
"contents":{"text":"§7点击复制ID\n§8minecraft:_$1_"}
},
"clickEvent":{"action":"copy_to_clipboard","value":"_$1_"}
}
],"color":"#31b0e8","text":""}
# [示例] 所有可用配置
# [可选] 仅对拥有该权限的玩家处理这条消息, 默认所有玩家
- 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 = 使 LINK 传递序列化后的 JSON 文本, 需要开启序列化功能
# CLOSE = 如果匹配, 则停止处理这条消息, 可用于排除一些被高频发送的消息
inherit: ''
```
```yaml
# 词替换配置文件
words:
# 创建一个组, 组名不应包含下划线 "_"
中文数字:
# 添加一个词替换
# 如果多个词的配置重复, 将会被忽略
- get: '1' # [必选] 需要匹配的词
set: '一' # [必选] 替换为
lang: 'zh_cn' # [可选, 默认直接替换] 当客户端语言与其匹配时进行替换
- get: '2'
set: '二'
lang: 'zh_cn'
- get: '3'
set: '三'
lang: 'zh_cn'
```
### 依赖
- ProtocolLib
---
### MCBBS
本插件所用所有代码均为原创,不存在借用/抄袭等行为
本插件为非盈利性插件,免费发布,严禁销售和转卖
[/markdown]