• 【问卷调查奖励发放公告】

    感谢大家积极参与本次 MineBBS 社区问卷调查。200 金粒的参与奖励已完成发放。部分用户发放失败,请【点击此处】 查看详情。

问题 能不能把一个服务器存档里的玩家背包、LLmoney,与另一个服务器的存档合并?

h4chPE_Network

【Lv:4】

开发者
正式会员
注册
2022/04/08
消息
188
金粒
2,677金粒
如题,如果这个方法研究出来必有重谢!
 
如题,如果这个方法研究出来必有重谢!
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`);

        }

    })

}
 
最后编辑:
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`);

        }

    })

}
是合并(就是目标服务器原有的不变)还有请问有没有详细的运行方法(本人是傻子
 
是合并(就是目标服务器原有的不变)还有请问有没有详细的运行方法(本人是傻子
都已经获取到NBT了 方案不是很多吗 举例:可以把nbt以邮件形式,让玩家清空背包后手动领取 至于 LLmoney 直接累加即可
 

在线管理成员

在线会员

  • a24406
  • 我来诠释手法
  • xinghe0635
  • 关晓智vip
  • XiaoFu_
  • Small_bried
  • LUOMIAOCHU
  • blblsdw
  • 夜茉子
  • xiyulai
  • Kaitohka
  • 世闲
  • haoge66666
  • 13301464670
  • 上课时间
  • 落叶飘零
  • 艾斯比士劳滋
  • 王 欢兴
  • Xulai
  • SteelyLink
  • polang
  • Angel_group
...和 69 更多。
后退
顶部 底部