如题,如果这个方法研究出来必有重谢!
【Lv:2】
LLSE 可以操作离线玩家NBT 首先根据xuid库 获取所有玩家NBT 将获取到的NBT转为SNBT存到JSON文件(可选)里 ,将JSON文件放到新服务器 , 在新服务器使用插件将玩家NBT覆盖即可 (LLmoney 有db文件 或者直接同上操作读取保存覆盖.)如题,如果这个方法研究出来必有重谢!
// 背包示例
// 写入配置文件 (在旧服务器执行)
function writeToConfig() {
data.getAllPlayerInfo().forEach(player => {
let snbt = mc.getPlayerNbt(player.uuid).toSNBT(1);
File.writeTo(`.\\plugins\\test\\${player.name}.json`, snbt);
})
}
// 读取并写入 (在新服务器执行)
function readFromConfig() {
data.getAllPlayerInfo().forEach(player => {
let oldSnbtJson = File.readFrom(`.\\plugins\\test\\${player.name}.json`)
if (oldSnbtJson) {
let oldSnbt = NBT.parseSNBT(oldSnbtJson);
mc.setPlayerNbtTags(player.uuid, oldSnbt, ["Offhand", "Inventory", "Armor", "EnderChestInventory"])
File.delete(`.\\plugins\\test\\${player.name}.json`);
}
})
}
是合并(就是目标服务器原有的不变)还有请问有没有详细的运行方法(本人是傻子LLSE 可以操作离线玩家NBT 首先根据xuid库 获取所有玩家NBT 将获取到的NBT转为SNBT存到JSON文件(可选)里 ,将JSON文件放到新服务器 , 在新服务器使用插件将玩家NBT覆盖即可 (LLmoney 有db文件 或者直接同上操作读取保存覆盖.)
JavaScript:// 背包示例 // 写入配置文件 (在旧服务器执行) function writeToConfig() { data.getAllPlayerInfo().forEach(player => { let snbt = mc.getPlayerNbt(player.uuid).toSNBT(1); File.writeTo(`.\\plugins\\test\\${player.name}.json`, snbt); }) } // 读取并写入 (在新服务器执行) function readFromConfig() { data.getAllPlayerInfo().forEach(player => { let oldSnbtJson = File.readFrom(`.\\plugins\\test\\${player.name}.json`) if (oldSnbtJson) { let oldSnbt = NBT.parseSNBT(oldSnbtJson); mc.setPlayerNbtTags(player.uuid, oldSnbt, ["Offhand", "Inventory", "Armor", "EnderChestInventory"]) File.delete(`.\\plugins\\test\\${player.name}.json`); } }) }