数据迁移
数据迁移模块用于从旧绑定插件的 lore 中读取物主信息,并转换为 SakuraBind 的 NBT 绑定。
启用后会定时扫描在线玩家背包和打开的容器。建议迁移完成后关闭该模块。
配置文件
modules/migration.yml
# 数据迁移模块, 从其他lore类型的绑定插件中读取数据重新绑定
# 启用将会定时扫描玩家背包和打开的容器
readme: {}
# 是否启用
enable: false
# 扫描的周期, 单位tick
scanning-period: 10
# 是否在主线程扫描, 如果你的服务端在扫描时报错请开启此选项
is-sync-scanning: false
# 从物品中读取lore,将其转换为SakuraBind的物品, 正则表达式
# 默认为: '\[绑定]: (.*)' 可以匹配lore: '[绑定]: Iseason', 如果lore中有符号请在前面加上'\' 请将代表玩家名的地方使用()包围
# 在这测试你的正则表达式: https://www.bejson.com/othertools/regex/
match-lore:
- '\[绑定]: (.*)'
# 匹配lore前先将颜色代码删除,这样 match-lore 里的正则表达式不用考虑颜色代码的影响
remove-color: false
# lore中不是玩家名,而是玩家的uuid
lore-is-uuid: false
# 如果检测不到这个玩家的数据, 强行绑定物品
# 如果安装了AuthMe将尝试通过AuthMe获取UUID
# 如果没有则使用该名字对应的离线UUID
force-bind: false
# 删除匹配到的lore
remove-lore: true
# 不绑定,如果打开了,且上面也是打开的,那么就是删除旧的绑定lore的效果
dont-bind: false
# 匹配到的设置(settings.yml),留空或者填写错误都会使用常规匹配
bind-setting: ''
# 物品读取设置的缓存个数,建议值是 玩家背包格子数量*玩家数量, 重启生效
cache-size: 2000
示例
旧 lore 为 [绑定]: Iseason,迁移到 SakuraBind 并删除旧 lore:
modules/migration.yml
enable: true
match-lore:
- '\[绑定]: (.*)'
remove-color: false
lore-is-uuid: false
remove-lore: true
dont-bind: false
bind-setting: ''
如果旧 lore 带有颜色代码,建议开启:
remove-color: true
开启后,插件会在执行 match-lore 正则匹配前先去掉颜色代码。这样正则只需要按玩家实际看到的文字写,例如仍然使用 '\[绑定]: (.*)',不需要把颜色代码写进正则。
如果旧 lore 中保存的是 UUID:
lore-is-uuid: true
如果只想删除旧 lore,不写入 SakuraBind 绑定:
remove-lore: true
dont-bind: true
bind-setting 填写 settings.yml 的匹配器键。留空或填写错误时,插件会按目标物品自动匹配设置。
升级旧配置
remove-color 是新配置项。旧版本已经生成的 modules/migration.yml 可能没有这一行,需要手动补到 match-lore 后面。