player.dat格式
<player>.dat文件被用于服务器以保存玩家信息。这种格式也在level.dat文件中使用以储存单人模式的状态,它的优先级高于<player>.dat文件。这些文件都采用了NBT格式。
目录
NBT结构[编辑 | 编辑源代码]
- 根标签。在level.dat文件里,它叫作“Player”。
- 实体里面除了“id”、“CustomName”和“CustomNameVisible”以外的所有标签。
- 生物里面除了“HandItems”、“ArmorItems”、“DropChances”、“CanPickUpLoot”、“PersistenceRequired”、“Leashed”和“Leash”以外的所有标签。
- DataVersion: NBT结构的版本。每个新快照和正式版都会增加数值。
- Dimension: 这个数据写明了玩家现在在哪个世界。-1表示下界,0表示主世界,1表示末路之地。其他数值被解释为0。
- playerGameType: 这个数据指明了玩家的游戏模式。0表示生存模式,1指创造模式,2指冒险模式,3指旁观模式。
- Score: 在死亡画面中显示的分数。
- SelectedItemSlot: 玩家正在选择的快捷栏。
- SelectedItem: 玩家正在选择的快捷栏物品,不包含Slot标签。
- 详见物品内容。
- SpawnDimension: 可能不存在。玩家的床或重生锚所处的维度。该标签仅在玩家尝试重生但没有有效的床或重生锚时移除。它并不会因为玩家破坏了床或重生锚而被影响,也不会因为玩家的死亡而被影响。
- SpawnX: 见下文。
- SpawnY: 可能不存在。玩家的床的坐标。如果玩家重生在一个无效的床时此标签将被移除。床被破坏不影响这些坐标,玩家死亡也不影响。
- SpawnZ: 见上文。
- SpawnForced: 1或0 (true/false) - 可能不存在。若没有床且此处为1,则玩家将被强制复活在上面的坐标。
- Sleeping: 1或0(true/false) - 若玩家正在睡觉则为真(1),不会影响到玩家是否在床上登录。
- SleepTimer: 自玩家开始睡觉之后经过的刻。无效果。
- foodLevel: 这个数据指明了饥饿值,最大为20。详见饥饿条目。
- foodExhaustionLevel: 详见饥饿条目。
- foodSaturationLevel: 详见饥饿条目。
- foodTickTimer: 详见饥饿条目。
- XpLevel: 显示玩家的经验值。
- XpP: 需增长多少经验(百分数)才可升到下一级。
- XpTotal: 玩家所获得的经验总数,用于计算积分。
- XpSeed: 这个种子用于附魔台下次附魔。
- Inventory: 每个复合标签都是玩家物品栏里的一个物品。(提示:当为空时,列表类型可能会出现意外值。)
- EnderItems: 每个复合标签都是玩家的末影箱里的一个物品。(提示:当为空时,列表类型可能会出现意外值。)
- abilities: 玩家拥有的能力。
- enteredNetherPosition: 可能不存在。在玩家进入下界时其在主世界的位置,用于进度触发器
minecraft:nether_travel
中。在玩家每次从主世界通过下界传送门进入下界时都会设置该标签,通过传送门返回主世界时不会移除或更新标签。不使用传送门进入下界不会更新标签。如果传送门在末地,使用其进入下界将移除标签。- x: X坐标。
- y: Y坐标。
- z: Z坐标。
- RootVehicle: 玩家骑着的根实体。
- ShoulderEntityLeft: 玩家左肩上的实体。永远显示为一只鹦鹉。
- 详见实体格式。
- ShoulderEntityRight: 玩家右肩上的实体。永远显示为一只鹦鹉。
- 详见实体格式。
- seenCredits: 1 or 0 (true/false) - 如果玩家正通过返回传送门前往主世界则为true。
- recipeBook: 包含一个JSON对象,说明了玩家已解锁的配方。
- 详见配方书#数据值。
物品结构[编辑 | 编辑源代码]
物品结构可以用于玩家的物品栏和末影箱物品栏、箱子中的实体附加值、掉落物品实体、熔炉方块实体、酿造台方块实体和村民交易内容中。有时Slot标签会被用来指定物品所在的槽位,例如在箱子中;在其他时候也可能会没有Slot标签,例如掉落的物品。
通用标签[编辑 | 编辑源代码]
一个带有耐久度的物体可以设置为无法破坏并永远不损失任何耐久。同样,通过命令修改的物品可以让冒险模式的玩家放置或破坏指定的方块。
- tag: 父标签。
方块标签[编辑 | 编辑源代码]
方块可以被赋予标签指定冒险模式的玩家可以放在哪些方块上面,并且可以指定放置时附加上哪些方块实体标签。
- tag: 父标签。
附魔[编辑 | 编辑源代码]
附魔和物品可以有两种关系——第一种,物品被“真附魔”,即物品拥有了附魔提供的属性;第二种,物品的附魔被标注为附魔书类型,这种附魔仅仅能达到存储附魔的效果,物品的属性并不会因为这种附魔而改变。RepairCost标签则会记录该物品的铁砧使用次数,以实现附魔所需经验等级随使用次数增加而增加的特征。
- tag: 父标签。
StoredEnchantments如果附加到附魔书以外的物品上,则不会显示其中的附魔。但是,存储在StoredEnchantments中的附魔将始终显示其拥有的附魔并且会使物品发光,即使它们无法产生任何实际效果。
属性修饰符[编辑 | 编辑源代码]
所有的物品都可以被赋予修饰符,令玩家/实体当穿着或者手持物品时赋予其属性。请注意,如果一个物品在原版就拥有AttributeModifiers标签,那么物品属性将会被新增的标签覆盖(比如说如果给一把钻石剑附加了一个空的AttributeModifiers列表,它将无法增加攻击伤害)。另请注意,默认的AttributeModifiers并没有实际使用这个标签,因此它不会出现在自然物品上。
- tag: 父标签。
药水效果[编辑 | 编辑源代码]
药水、喷溅药水、滞留药水和药箭可以通过CustmPotionEffects标签拥有多个自定义效果。如果存在,这些效果将添加到Potion标签内的默认效果中。此外,可以使用CustomPotionColor标记设置药水颜色。
- tag: 父标签。
- CustomPotionEffects:当前药水或药箭所含有的自定义状态效果。从此标签获得效果的药水或药箭会分别被命名为“水瓶”或“喷溅之箭”。
- :一项效果
- Id:效果的数字ID.
- Amplifier:效果的倍率,等级1的值为0。负值的效果见这里。非必须项,默认为等级1。
- Duration:效果的持续时长刻数。值小于等于0时被作为1处理。非必须项,默认为1刻。
- Ambient:1或0(true/false),如果效果由信标施加,那么为true,使效果在屏幕上不会那么显眼。非必须项,默认为false。有项漏洞使其对喷溅药水无效。
- ShowParticles:1或0(true/false),如果显示粒子效果,那么为true。非必须项,默认为true。有项漏洞使其对喷溅药水无效。
- ShowIcon:1或0(true/false),如果效果图标显示,那么为true。不显示效果图标则为false。
- :一项效果
- Potion:默认药水效果的名称。此项与状态效果的名称不同,例如“瞬间治疗II”药水的值为“minecraft:strong_healing”。从此标签获得效果的药水或药箭会根据合适效果获得名称。
- CustomPotionColor:当前物品使用这项自定义颜色,范围效果云、箭、喷溅与滞留药水会使用该值作为其粒子效果颜色。但是,此颜色不会延伸到最终受到该效果作用的实体放出的粒子颜色。数字颜色代码由红绿蓝组分通过下列算式计算:红<<16 + 绿<<8 + 蓝。对于大于0x00FFFFFF的正值,最高字节会被略去。所有的负值都表示白色。
- CustomPotionEffects:当前药水或药箭所含有的自定义状态效果。从此标签获得效果的药水或药箭会分别被命名为“水瓶”或“喷溅之箭”。
弩[编辑 | 编辑源代码]
弩使用NBT标签保存弩中装载的物品。
- tag: 父标签。
- Charged: 弩是否已装填。
- ChargedProjectiles: 弩装填的物品。每个物品的堆叠数量会被忽略,且至多只能添加三个物品,超出的部分会被忽略。在弩发射时会全部被清除。
- : 装填的物品。
- 物品共通标签 see Template:Nbt inherit/itemnoslot/template
- : 装填的物品。
显示属性[编辑 | 编辑源代码]
皮革盔甲可以被染色,并且所有物品都可以拥有自定义名称和说明。工具提示也可以被隐藏。
- tag: 父标签。
- display: 显示属性。
- HideFlags: 决定隐藏显示物品的哪些信息。1对应"Enchantments"、2对应"AttributeModifiers"、4对应"Unbreakable"、8对应 "CanDestroy"、16对应 "CanPlaceOn"、32对应其他信息(包括药水效果、"StoredEnchantments"、成书的 "generation" 和 "author"、烟花火箭的"Explosion"和"Fireworks",以及地图提示)。例如,设置为3时,"Enchantments"和"AttributeModifiers"标签不会显示,设置为63时所有信息都不显示。
成书[编辑 | 编辑源代码]
书与笔和成书的内容信息都储存在tag标签里。只有成书拥有title标签、author标签和generation标签;pages标签两者都有。
- tag: 父标签。
玩家的头颅[编辑 | 编辑源代码]
玩家的头颅可以被一名指定用户名的玩家的皮肤头颅取代。仅在手持该物品时会随着这名玩家的皮肤改变而改变。在此部分中,一个头颅的“所有者”表示被获取其头颅的玩家,“持有者”表示在物品栏内拥有头颅的玩家。
- tag: 父标签。
- SkullOwner: 头颅对应的玩家的用户名。其将会转换为复合标签的版本。
- SkullOwner: 对头颅所有者不同的定义。
- Id:拥有者的UUID,可选。用来在区块载入或拥有者登录时更新其他标签。
- Name:拥有者的用户名。
- Properties
烟火之星[编辑 | 编辑源代码]
烟火之星使用tag标签存储有关其效果的信息。
- tag: 父标签。
- Explosion: 一个烟火样式,来自烟火之星。
- Flicker: 1或0 (true/false) - 若为真则会出现闪烁效果(荧石粉),可能不存在。
- Trail: 1或0 (true/false) - 若为真则有拖曳痕迹(钻石),可能不存在。
- Type: 爆炸时的形态. 0 = 小球, 1 = 大球 ,2 = 星星,3 = 苦力怕的头,4 = 爆裂。其他值将会被认定为未知,均为小型球状。
- Colors: 一个整数数组以表达爆炸时的颜色。如果自定义颜色代码被使用,游戏将在工具提示中显示为“自定义”,不过爆炸时会产生正确的颜色。
- FadeColors: 数组表示爆炸后的淡化颜色。可能不存在。
- Explosion: 一个烟火样式,来自烟火之星。
烟花火箭[编辑 | 编辑源代码]
烟花火箭使用tag标签存储有关其效果的信息。
- tag: 父标签。
- Fireworks: 烟花火箭的参数。
- Flight: 烟花火箭飞行的持续时间(与制作时使用的火药量相同)。可以为-128至127的任意值。
- Explosions: 包含烟花火箭包含的每个爆炸的复合标签列表。
- Explosion: 一个烟火样式,来自烟火之星。
- Flicker: 1或0 (true/false) - 若为真则会出现闪烁效果(荧石粉),可能不存在。
- Trail: 1或0 (true/false) - 若为真则有拖曳痕迹(钻石),可能不存在。
- Type: 爆炸时的形态. 0 = 小球, 1 = 大球 ,2 = 星星,3 = 苦力怕的头,4 = 爆裂。其他值将会被认定为未知,均为小型球状。
- Colors: 一个整数数组以表达爆炸时的颜色。如果自定义颜色代码被使用,游戏将在工具提示中显示为“自定义”,不过爆炸时会产生正确的颜色。
- FadeColors: 数组表示爆炸后的淡化颜色。可能不存在。
- Explosion: 一个烟火样式,来自烟火之星。
- Fireworks: 烟花火箭的参数。
盔甲架和刷怪蛋[编辑 | 编辑源代码]
- tag: 父标签。
- EntityTag: 存储了创建实体时应用于实体上的实体数据。
- 参见实体格式。
- EntityTag: 存储了创建实体时应用于实体上的实体数据。
鱼桶[编辑 | 编辑源代码]
鱼桶可能包含内部实体的数据。
- tag: 父标签。
地图[编辑 | 编辑源代码]
地图可能会被缩放。
- tag: 父标签。
- map: 地图编号。
- map_scale_direction: 仅在缩放地图时由内部使用,之后直接删除:在合成时增加当前地图比例的量。总是为1。
- Decorations: 地图上显示的图标。在重新加载世界之前,删除或修改的图标不会被更新。
- 一个符号。
- id: 识别符号的随机唯一字符串。
- type: 要显示的地图图标的ID。
- x: 符号在世界上所在的X坐标。
- z: 符号在世界上所在的Z坐标。
- rot: 符号的旋转角度,范围从0.0到360.0,方向为顺时针。与图标材质中的外观相比,旋转角度为0.0所显示的图标上下颠倒。
- 一个符号。
- display: display标签。
- MapColor: 物品材质里标记的颜色。
迷之炖菜[编辑 | 编辑源代码]
- tag: 父标签。
调试棒[编辑 | 编辑源代码]
调试棒使用NBT格式储存对每个方块编辑的方块状态。
- tag: 父标签。
- DebugProperty: 调试棒编辑的方块和其状态的列表。
- 方块ID: 要编辑的方块状态名。例如:
"minecraft:oak_fence": "east"
。
- 方块ID: 要编辑的方块状态名。例如:
- DebugProperty: 调试棒编辑的方块和其状态的列表。
指南针[编辑 | 编辑源代码]
指南针使用NBT格式储存可能存在的磁石指针相关的数据。
- tag: 父标签。
- LodestoneTracked:可选。1或0 (true/false) - 若为true,则指南针绑定到一个磁石。为false时,当磁石被破坏后
LodestoneDimension
和LodestonePos
不会被自动移除,指南针仍然指向该位置。 - LodestoneDimension:可选。磁石指针指向的坐标的所在维度。
- LodestonePos:可选。磁石指针指向的坐标。
- X:x坐标。
- Y:y坐标。
- Z:z坐标。
- LodestoneTracked:可选。1或0 (true/false) - 若为true,则指南针绑定到一个磁石。为false时,当磁石被破坏后
收纳袋[编辑 | 编辑源代码]
收纳袋使用NBT标签保存收纳袋中收纳的物品。
- tag: 父标签。
- Items: 收纳袋内物品的列表。
- : 一个物品。
- 物品共通标签 see Template:Nbt inherit/itemnoslot/template
- : 一个物品。
- Items: 收纳袋内物品的列表。
物品栏槽位号码[编辑 | 编辑源代码]
历史[编辑 | 编辑源代码]
Java版 | |||||
---|---|---|---|---|---|
1.7.2 | ? | 对工具加入了Unbreakable 。 | |||
1.8 | 14w06a | 对工具加入了CanDestroy 。
| |||
对物品加入了HideFlags 。 | |||||
14w07a | 对所有方块加入了BlockEntityTag . | ||||
14w10a | 加入了一个隐藏药水效果的第5位(值为32)的HideFlags 。 | ||||
14w33a | 对所有物品加入了SelectedItem 。 | ||||
1.12 | pre1 | 对玩家加入了enteredNetherPosition ,用于进度触发器minecraft:nether_travel 。 | |||
1.13 | 18w01a | Name 标签现在是JSON文本。
| |||
移除LocName 标签。使用Name:"{\"translate\":\"gui.toTitle\"}" 代替LocName:"gui.toTitle" 。 | |||||
18w21a | ench 标签重命名为Enchantments 。 | ||||
1.14 | 18w43a | Lore 标签现在是JSON文本。 | |||
19w06a | 对方块的物品形式加入了BlockStateTag 。 |
参考[编辑 | 编辑源代码]
版本 | |||||||
---|---|---|---|---|---|---|---|
开发周期 |
| ||||||
技术 |
| ||||||
多人游戏 | |||||||
游戏订制 |