Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement

<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标签。
    •  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: 每个复合标签都是玩家的末影箱里的一个物品。(提示:当为空时,列表类型可能会出现意外值。)
      • 箱子里的物品。包含Slot标签 - Slot标签的编号在0至26之间。
    •  abilities: 玩家拥有的能力。
      •  walkSpeed: 步行速度,永远是0.1。
      •  flySpeed: 飞行速度,永远是0.05。
      •  mayfly: 1 or 0 (true/false) - 玩家能飞行时为真。
      •  flying: 1 or 0 (true/false) - 当玩家正在飞行时为真。
      •  invulnerable: 1 or 0 (true/false) - 如果玩家能抵消所有伤害和有害的效果时为真,除了虚空伤害。(由/kill命令造成的伤害视为虚空伤害)
      •  mayBuild: 1 or 0 (true/false) - 当玩家可以摧毁及放置方块时为真。
      •  instabuild: 1 or 0 (true/false) - 当玩家可以瞬间摧毁方块时为真。
    •  enteredNetherPosition: 可能不存在。在玩家进入下界时其在主世界的位置,用于进度触发器 minecraft:nether_travel中。在玩家每次从主世界通过下界传送门进入下界时都会设置该标签,通过传送门返回主世界时不会移除或更新标签。不使用传送门进入下界不会更新标签。如果传送门在末地,使用其进入下界将移除标签。
      •  x: X坐标。
      •  y: Y坐标。
      •  z: Z坐标。
    •  RootVehicle: 玩家骑着的根实体。
      •  AttachMost: 玩家骑着的实体的UUID高位。
      •  AttachLeast: 玩家骑着的实体的UUID低位。
      •  Entity: 玩家骑着的实体的NBT数据。
    •  ShoulderEntityLeft: 玩家左肩上的实体。永远显示为一只鹦鹉。
    •  ShoulderEntityRight: 玩家左肩上的实体。永远显示为一只鹦鹉。
    •  seenCredits: 1 or 0 (true/false) - 如果玩家正通过返回传送门前往主世界则为true。
    •  recipeBook: 包含一个JSON对象,说明了玩家已解锁的配方。

物品结构

物品结构可以用于玩家的物品栏和末影箱物品栏、箱子中的实体附加值、掉落物品实体、熔炉方块实体、酿造台方块实体和村民交易内容中。有时Slot标签会被用来指定物品所在的槽位,例如在箱子中;在其他时候也可能会没有Slot标签,例如掉落的物品。

    •  Count:堆叠在当前物品栏中的物品数量。任何物品都能被堆叠,包括工具、盔甲、运输工具。数值为1时不被游戏显示,小于1则在加载区块或生成物品时变更为空气
    •  id物品/方块ID。若未指定,游戏会在加载区块或者生成物品时将其变更为空气。
    •  Slot:当前物品所在的物品槽位。
    •  tag:关于当前物品的额外信息,详细内容请见物品结构章节。此标签对于多数物品来说都是非必须项。

工具标签

一个带有耐久度的物体可以设置为无法破坏并永远不损失任何耐久。同样,通过命令修改的物品可以让冒险模式的玩家放置或破坏指定的方块。

  •  tag: 父标签。

Player.dat格式/工具

方块标签

方块可以被赋予标签指定冒险模式的玩家可以放在哪些方块上面,并且可以指定放置时附加上哪些方块实体标签。

  •  tag: 父标签。
    •  CanPlaceOn冒险模式的玩家可以将方块放置在其表面的方块。
    •  BlockEntityTag:方块放置后应用的方块实体的NBT标签。可以通过在创造模式下按住ctrl(mac上为⌘ Cmd)并按下选取方块键来获取拥有方块实体标签的方块物品。对于告示牌讲台命令方块刷怪笼,由于安全问题,非管理员权限或非创造模式的玩家放置这些方块时此标签数据不会写入方块实体中。
      • 对应方块的方块实体的标签,不包含方块实体共通标签。
    •  BlockStateTag:方块放置后应用的方块属性。
      •  <一项方块属性>:设置方块属性的键值对。例如facing:east

附魔

附魔和物品可以有两种关系——第一种,物品被“真附魔”,即物品拥有了附魔提供的属性;第二种,物品的附魔被标注为附魔书类型,这种附魔仅仅能达到存储附魔的效果,物品的属性并不会因为这种附魔而改变。RepairCost标签则会记录该物品的铁砧使用次数,以实现附魔所需经验等级随使用次数增加而增加的特征。

  •  tag: 父标签。

Player.dat格式/附魔

StoredEnchantments如果附加到附魔书以外的物品上,则不会显示其中的附魔。但是,存储在Enchantments中的附魔将始终显示其拥有的附魔并且会使物品发光,即使它们无法产生任何实际效果。

属性修饰符

所有的物品都可以被赋予修饰符,令玩家/实体当穿着或者手持物品时赋予其属性。请注意,如果一个物品在原版就拥有AttributeModifiers标签,那么物品属性将会被新增的标签覆盖(比如说如果给一把钻石剑附加了一个空的AttributeModifiers列表,它将无法增加攻击伤害)。另请注意,默认的AttributeModifiers并没有实际使用这个标签,因此它不会出现在自然物品上。

  •  tag: 父标签。

Player.dat格式/属性修饰符

药水效果

药水喷溅药水滞留药水药箭可以通过CustmPotionEffects标签拥有多个自定义效果。如果存在,这些效果将添加到Potion标签内的默认效果中。此外,可以使用CustomPotionColor标记设置药水颜色。

  •  tag: 父标签。
    •  custom_potion_effects:当前药水或药箭所含有的自定义状态效果。从此标签获得效果的药水或药箭会分别被命名为“水瓶”或“喷溅之箭”。
      • :一项效果
        • 状态效果
    •  Potion药水效果
    •  CustomPotionColor:当前物品使用这项自定义颜色,范围效果云、箭、喷溅与滞留药水会使用该值作为其粒子效果颜色。但是,此颜色不会延伸到最终受到该效果作用的实体放出的粒子颜色。数字颜色代码由红绿蓝组分通过下列算式计算:<<16 + 绿<<8 + 。对于大于0x00FFFFFF的正值,最高字节会被略去。所有的负值都表示白色。

使用NBT标签保存弩中装载的物品。

  •  tag: 父标签。
    •  Charged:表示弩是否已被装填。
    •  ChargedProjectiles:弩装填的物品。每个物品的堆叠数量会被忽略,在弩发射时会全部被清除。
      • :装填的物品。
        • 物品共通标签

显示属性

皮革盔甲可以被染色,并且所有物品都可以拥有自定义名称和说明。工具提示也可以被隐藏。

  •  tag: 父标签。

Player.dat格式/显示属性

成书

书与笔成书的内容信息都储存在tag标签里。只有成书拥有title标签、author标签和generation标签;pages标签两者都有。

  •  tag: 父标签。
    •  author:成书的作者。
    •  filtered_pages:已过滤的页面信息。
      •  <页数>:代表某页的字符串过滤后的结果。如果玩家开启了过滤,则此字符串优先于 pages内的字符串。
    •  filtered_title:已过滤的标题。无实际作用。
    •  generation:决定成书是否为副本。0 = 原作,1 = 原作的副本,2 = 副本的副本,3 = 破烂不堪。默认成书为“原作”。
    •  pages:成书的各个页面。
    •  resolved:表示这本成书是否是第一次被打开,决定是否要进行成书内文本的解析。
    •  title:成书的标题,不能超过32个字符。

玩家的头颅

玩家的头颅可以被一名指定用户名的玩家的皮肤头颅取代。仅在手持该物品时会随着这名玩家的皮肤改变而改变。在此部分中,一个头颅的“所有者”表示被获取其头颅的玩家,“持有者”表示在物品栏内拥有头颅的玩家。

  •  tag: 父标签。
    •  SkullOwner:玩家名称或一个玩家配置信息标签。当存储时,玩家名称会自动解析为玩家配置信息标签。
      •  Id:(可选)拥有者的UUID
      •  Name:(可选)拥有者的用户名。
      •  Properties:玩家配置属性。
        •  textures:玩家纹理属性。
          • :一个独立的纹理。
            •  Signature Value使用“Yggdrasil”私钥的签名后得到的Base64字符串。可能不存在。
            •  Value:Base64字符串,其中包含玩家所有的纹理(皮肤和披风)。在解密之后,能获得下面的JSON对象:
              • 纹理对象。
                •  profileId:玩家的UUID,不带连字符。
                •  profileName:玩家名称。
                •  signatureRequired:如果 Signature存在,此项也存在。代表是否已被签名。
                •  textures:纹理。
                  •  SKIN皮肤纹理。如果这名玩家没有自定义皮肤,这项不存在。
                    •  metadata:皮肤的元数据。可能不存在。
                      •  model:固定值“slim”。当皮肤模型为“Alex”时这一项才存在,模型为“Steve”则无该元数据。
                    •  url:皮肤纹理的URL链接。
                  •  CAPE披风纹理。如果这名玩家没有披风,这项不存在。
                    •  url:披风纹理的URL链接。默认没有披风,仅当Mojang在玩家的帐户数据中输入了披风时,才会显示披风。
                •  timestampUnix时间戳,以毫秒为单位,时间为请求玩家配置数据的时间。

烟花火箭

烟花火箭使用tag标签存储有关其效果的信息。

  •  tag: 父标签。
    •  Fireworks烟花火箭的参数。
      •  Flight:烟花火箭的飞行的时间,单位为“火药”(即表现为和在工作台上合成烟花火箭时所用的火药数相等),默认为0b。注意:这个标签的取值范围比工作台大得多,最大是127b,更大的值将会变为-128 + 其与128的差,结果大于-1的将强制变为-1,比如128变为-128,200变为-56,512变为-1。如果值为-2b或更小(包括上文提到的,“转换”过后的值),烟花火箭看上去基本不会飞行。
      •  Explosions:包含烟花火箭包含的每个爆裂的复合标签列表。
        • :一个烟火样式,来自烟火之星
          •  Colors:表示爆裂时的粒子颜色。如果自定义颜色代码被使用,游戏将在提示框中显示为“自定义”,不过爆裂时会产生正确的颜色。
          •  FadeColors:表示爆裂后的淡化粒子颜色。
          •  Flicker:表示烟火是否出现闪烁效果(使用荧石粉合成时)。
          •  Trail:表示烟火是否有拖曳痕迹(使用钻石合成时)。
          •  Type:爆裂时的形态。0 = 小型球状、1 = 大型球状、2 = 星形、3 = 苦力怕状、4 = 喷发状。其他值将会被认定为未知,均为小型球状。

盔甲架和刷怪蛋

盔甲架刷怪蛋可能包含内部实体的数据。

  •  tag: 父标签。

鱼桶

鱼桶可能包含内部实体的数据。

  •  tag: 父标签。
    •  BucketVariantTag:桶中热带鱼的种类数据。仅用于热带鱼桶。
    •  Glowing:表示桶中鱼是否发光。
    •  Health:桶中鱼的生命值。
    •  Invulnerable:表示桶中鱼是否对除虚空伤害外的伤害免疫。
    •  NoAI:表示桶中鱼的AI是否被禁用。
    •  NoGravity:表示桶中鱼是否不受重力影响。
    •  Silent:表示桶中鱼是否不会发出任何声音。

地图

地图可能会被缩放。

  •  tag: 父标签。
    •  Decorations:地图上显示的图标。在重新加载世界之前,删除或修改的图标不会被更新。
      • :一个图标。
        •  id:识别图标的随机唯一字符串。
        •  type:要显示的地图图标的ID。
        •  x:图标在世界上所在的X坐标。
        •  z:图标在世界上所在的Z坐标。
        •  rot:图标的旋转角度,范围从0.0到360.0,方向为顺时针。与图标纹理中的外观相比,旋转角度为0.0所显示的图标上下颠倒。
    •  display:物品显示属性。
      •  MapColor:物品栏内地图纹理上的颜色。
    •  map:地图编号。
    •  map_scale_direction:地图缩放等级,仅在缩放地图时由内部使用,之后直接删除。如果强制设置此值,将改变工具提示中的比例尺和等级信息。
    •  map_to_lock:表示此地图是否已经锁定,仅在锁定地图时由内部使用,之后直接删除。如果强制设置此值,将改变工具提示中的锁定信息。

迷之炖菜

迷之炖菜储存了它们的状态效果

  •  tag: 父标签。

Player.dat格式/迷之炖菜

调试棒

调试棒使用NBT格式储存对每个方块编辑的方块状态。

  •  tag: 父标签。
    •  DebugProperty:调试棒编辑的方块和其状态的列表。
      •  <方块的命名空间ID>:方块和此方块将要修改的属性的键值对。例如"minecraft:grass_block":"snowy"

物品栏槽位号码

这展示了使用NBT编辑器编辑时用于指定物品栏中槽位的编号。

历史

Java版
1.7.2?对工具加入了Unbreakable
1.814w06a对工具加入了CanDestroy
对物品加入了HideFlags
14w07a对所有方块加入了BlockEntityTag.
14w10a加入了一个隐藏药水效果的第5位(值为32)的HideFlags
14w33a对所有物品加入了SelectedItem
1.12pre1对玩家加入了enteredNetherPosition,用于进度触发器minecraft:nether_travel
1.1318w01aName标签现在是JSON文本。
移除LocName标签。使用Name:"{\"translate\":\"gui.toTitle\"}"代替LocName:"gui.toTitle"
18w21aench标签重命名为Enchantments
1.1418w43aLore标签现在是JSON文本。
19w06a对方块的物品形式加入了BlockStateTag

参考


Advertisement