playerdata 编辑器|Minecraft 玩家 .dat 文件

支持 Minecraft 基岩版和 Java 版,也支持两者所有常见或少见的服务端核心:Vanilla、Paper、Spigot、Purpur、Folia、Fabric、Forge、NeoForge、Mohist、Sponge、Bedrock Dedicated Server、PocketMine-MP、Nukkit、PowerNukkitX、Cloudburst、Dragonfly、Endstone、LeviLamina 等。完整列表。

Java 版为每个玩家写入一个 gzip 大端序 NBT 文件,路径为 world/playerdata/<uuid>.dat,其中包含物品栏、末影箱、位置、维度、生命值、饥饿值、经验和属性。将文件拖入下方,可修复卡在地形中的玩家、删除导致崩溃的物品或重置统计数据。操作时应停止服务器,至少要让该玩家离线。

Java 玩家数据末影箱物品栏位置属性进度相关

将playerdata .dat 文件拖放到这里

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · 区块转储数据

玩家文件中的标签

标签类型含义
PosDouble 列表X、Y、Z;用于修复卡在墙内或基岩下方的玩家。
RotationFloat 列表偏航角和俯仰角。
DimensionString / Int玩家登录时所在的维度。
InventoryCompound 列表每组物品一个项目:id、Count、Slot、components 或 tag。
EnderItemsCompound 列表末影箱内容,结构相同。
Health, foodLevel, XpLevel, XpTotalFloat / Int生存状态和经验。
playerGameTypeInt玩家个人游戏模式。
abilitiesCompound飞行、无敌、行走和飞行速度。
AttributesCompound 列表最大生命值、移动速度和其他修饰符。
SpawnX/SpawnY/SpawnZ 或 respawnInt / Compound个人重生点,具体形式取决于版本。
UUIDInt[4]现代版本中以四个 int 保存的玩家 UUID。

1.20.5 中物品组结构发生变化:自定义数据从单个 tag 复合标签移到独立的 components。两种结构都能在此打开;请编辑当前版本实际写入的形式。

常见修复

  • 玩家卡在地形中或不断下落。将 Pos 设为安全坐标,依次填写 X、Y、Z 三个 double;如果 Motion 中有极大值,也将其清除。
  • 客户端登录时崩溃。通常由格式错误的物品导致。请从 Inventory 删除问题项目,不必清空整个列表。
  • 传送门故障后维度错误。将 Dimension 改回 minecraft:overworld,并为 Pos 设置对应坐标。
  • 卡在旁观模式。将 playerGameType 设为 0 表示生存,1 表示创造。
  • 已移除插件留下属性修饰符。删除 Attributes 中过期的项目。

让玩家离线后操作

服务器会把玩家状态保存在内存中,并在退出和自动保存时写入文件。玩家在线时编辑,修改必然会被覆盖;保存过程中编辑还可能截断文件。让玩家离线或停止服务器,复制、编辑并放回文件,再允许其连接。在登录成功前保留原文件。

基岩版服务器不使用此布局:玩家数据位于世界 LevelDB 中,例如键 player_<uuid>,其值为小端序 NBT。提取值后,可在此以基岩版原始格式打开。

常见问题

哪个文件属于我的玩家?

文件以 UUID 命名。可通过 Mojang API 查询工具查找玩家 UUID,或按修改时间排序 playerdata/,再与最后登录时间对应。

可以编辑 playerdata 给自己物品吗?

在自己的服务器上可以:向 Inventory 列表添加包含 id、Count 和 Slot 的项目。在他人服务器上这样做属于入侵,而且运行中的服务器会重写文件。

为什么修改消失了?

编辑时服务器或玩家仍在线。下一次保存时,内存中的玩家状态会覆盖文件。

基岩版的 playerdata 相同吗?

不同。基岩版把玩家保存在世界 LevelDB 中,而不是按 UUID 分文件。提取其中的小端序 NBT 值后可在此打开。

相关工具