You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并多份MC服务器玩家进度JSON文件以恢复进度状态?

合并MC玩家进度JSON文件,保留所有True值的实操方案

核心逻辑

MC玩家进度存储在world/playerdata/[玩家UUID].json的Advancements字段中,每个进度项以done: true/false标记完成状态。我们的目标是:只要某个进度在任意一份备份文件中是done: true,就保留这个完成状态;所有文件中均为false的进度,保留最新备份的状态。


方法一:零代码在线合并(适合纯新手)

  1. 提取进度片段:打开每个玩家的4份文件,找到"Advancements"对应的完整大括号内容(从{到}),复制出来分别保存为adv1.json、adv2.json、adv3.json、adv4.json(文件名自行区分即可)。
  2. 选择合并工具:找支持「布尔值优先保留true」「深度合并」的JSON合并工具(优先选本地运行的工具,避免泄露玩家数据)。
  3. 执行合并:
    • 依次导入4个进度JSON文件;
    • 设置合并规则:布尔类型值优先保留true,其他字段(如进度完成时间)保留最新文件的内容;
    • 导出合并后的JSON,复制回原玩家文件的Advancements字段位置,覆盖原有内容。

方法二:Python脚本合并(适合学习入门)

如果想借这个机会学些基础编程,用Python脚本是最灵活的方式:

  1. 安装Python:从官网下载并默认安装(勾选"Add Python to PATH"选项)。
  2. 准备文件:把4个进度JSON文件和新建的脚本放在同一个文件夹里。
  3. 编写脚本:新建文本文件,重命名为merge_adv.py,粘贴以下代码:
import json

# 替换成你的4个进度文件的文件名
file_list = [
    "adv_damaged.json",
    "adv_day_before.json",
    "adv_pre_crash.json",
    "adv_post_crash.json"
]

final_advancements = {}

for file_name in file_list:
    with open(file_name, 'r', encoding='utf-8') as f:
        current_adv = json.load(f)
        for adv_id, adv_details in current_adv.items():
            # 如果该进度已经标记为完成,跳过后续文件的同进度
            if adv_id in final_advancements and final_advancements[adv_id].get("done") is True:
                continue
            # 否则更新为当前文件的进度信息
            final_advancements[adv_id] = adv_details

# 保存合并结果
with open("merged_advancements.json", 'w', encoding='utf-8') as f:
    json.dump(final_advancements, f, indent=4)

print("合并完成!结果已保存到merged_advancements.json")
  1. 运行脚本:双击脚本文件,或者打开命令行进入文件夹,输入python merge_adv.py。
  2. 替换内容:打开生成的merged_advancements.json,把里面的内容复制回原玩家文件的Advancements字段。

关键注意事项

  • 先备份:操作前一定要复制所有原文件到安全位置,避免操作失误导致数据彻底丢失。
  • 测试验证:合并后可以先在单人模式导入玩家文件,确认进度显示正常再放到服务器上。
  • 字段冲突处理:如果进度项还有progress这类其他字段,脚本会保留最后读取的文件内容;如果需要调整规则,可以修改脚本中final_advancements[adv_id] = adv_details的逻辑(比如优先保留有progress字段的版本)。

内容的提问来源于stack exchange,提问作者ComicAdam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 02:45:13