本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情…本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情…中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作Minecraft中文Wiki微博正在更新!或许有兴趣去看看Minecraft中文Wiki微博正在更新!或许有兴趣去看看翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。

Player.dat格式

来自Minecraft Wiki
跳转至: 导航搜索

<player>.dat 文件被用于服务器和存档以保存玩家信息。这种格式也在level.dat文件中使用以储存单机游戏的状态,它的优先级高于<player>.dat 文件。这些文件都采用了NBT 格式。

NBT内容[编辑 | 编辑源代码]


  • 根标签。在level.dat文件里,它叫“Player”。
    • 实体里面除了“id”、“CustomName”和“CustomNameVisible”以外的所有标签。
    • 生物里面除了“HandItems”、“ArmorItems”、“DropChances”、“CanPickUpLoot”、“PersistenceRequired”、“Leashed”和“Leash”以外的所有标签。

    •  Dimension: 这个数据写明了玩家现在在哪个世界。-1表示下界,0表示主世界,1表示末路之地。其他数值被解释为0。

    •  playerGameType: 这个数据指明了玩家的游戏模式。0表示生存模式,1指创造模式,2指冒险模式,3指旁观模式极限模式属于生存模式。

    •  Score: 在死亡画面中显示的分数。

    •  SelectedItemSlot: 玩家正在选择的快捷栏。

    •  SelectedItem: 玩家正在选择的快捷栏物品,不包含Slot标签。

    •  SpawnX: 可能不存在。玩家的床的X座标。如果玩家重生在一个无效的床时此标签将被移除。

    •  SpawnY: 可能不存在。玩家的床的Y座标。如果玩家重生在一个无效的床时此标签将被移除。

    •  SpawnZ: 可能不存在。玩家的床的Z座标。如果玩家重生在一个无效的床时此标签将被移除。

    •  SpawnForced: 1或0 (true/false) - 若没有床且此处为1,则玩家将被强制复活在上面的坐标。

    •  Sleeping: 1或0 (true/false) - 若玩家正在睡觉则为真(1),不会影响到玩家是否在床上登录。

    •  SleepTimer: 自玩家睡觉开始之后的Tick直至文件保存为止。无效果。

    •  foodLevel: 这个数据指明了饥饿值,最大为20。详见饥饿条目。

    •  foodExhaustionLevel: 详见饥饿条目。

    •  foodSaturationLevel: 详见饥饿条目。

    •  foodTickTimer: 详见饥饿条目。

    •  XpLevel: 显示玩家的经验值

    •  XpP: 需增长多少经验(百分数)才可升到下一级.

    •  XpTotal: 玩家所获得的经验总数,用于计算积分.

    •  XpSeed: 这个种子用于附魔台下次附魔。

    •  Inventory: 每个 compound tag 都是玩家物品栏里的一个物品。

    •  EnderItems: 如果玩家的末影箱里面没有物品,这将会是一个包含0的Byte tags的清单,如果有物品,这将会是一个包含Compound tags的清单。

      • 箱子里的物品。包括物品栏标记,物品栏被标记为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) - 当玩家可以瞬间摧毁方块时为真。

    •  RootVehicle: 玩家骑着的根实体。

      •  AttachLeast: 该实体的UUIDLeast

      •  AttachMost: 该实体的UUIDMost

      •  Entity: 该实体的NBT数据

物品格式[编辑 | 编辑源代码]

物品是同时用于玩家的物品栏和Ender物品栏当中,和箱子中的实体附加值,掉落物品实体,熔炉tile实体,酿造台tile实体,和村民交易内容。有时Slot标签会被用来指定物品所在的储存格,例如在箱子;在其他时候可能会没有Slot标签,例如掉落的物品。

物品标签[编辑 | 编辑源代码]

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


  •  tag: tag 标签。

    •  Unbreakable: 1 或 0 (true/false) - 如果是true,物品无论使用多少次都不会损失耐久。

    •  CanDestroy: 冒险模式的玩家可以使用这个工具破坏的方块。

      • : 方块ID。

方块标签[编辑 | 编辑源代码]

方块可以被赋予标签指定冒险模式的玩家可以放在那些方块上面,还可以限定方块实体格式。


  •  tag: tag标签.

    •  CanPlaceOn: 冒险模式的玩家可以把方块放在那些方块上面。

      • : 方块ID,必须贴着方块的面放。

    •  BlockEntityTag: 方块放置后应用的方块实体NBT标签。用于储存旗帜或在创造模式中按下ctrl捡起方块键的包含一个方块实体方块。

  • 物品的根标签。有时有些例子它会有名字,其他的都是没有名字的因为它是一个列表。

    •  Slot: 可能不存在。物品所在的储存格。

    •  id: 物品ID和方块ID,只存在于1.8之前。

    •  id: 物品或方块的名称,只存在于1.8之后。

    •  Damage: 物品的ID。"Damage"的由来是当时只有工具使用这个值,现在很多其他的物品为其他目的使用这个值。

    •  Count: 在该格内物品的堆叠数目。任何物品都可以堆叠,包括工具、盔甲以及交通工具。范围是-128到127,低于2的数值不会在游戏中显示。

    •  tag: 物品的附加数据,将会在以下的章节中详细讨论。这个标签对于大多数物品是选择性的。

附魔[编辑 | 编辑源代码]

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


  •  tag: tag标签。

    •  Enchantments: 包含会改变该物品属性的附魔

      • 一个魔咒。

        •  id: 魔咒的ID。

        •  lvl: 魔咒等级,此值为1时即是1级。(注意是L的小写而不是i的大写)

    •  StoredEnchantments: 包含标注为附魔书类型的魔咒。

      • : 一个仅有储存效果的魔咒,结构与Enchantments中的单个魔咒相同。

    •  RepairCost: 用铁砧修复/合并/重命名此物品时需要的额外经验等级。

修饰属性[编辑 | 编辑源代码]

所有的物品都可以被赋予修饰当拥有修饰的物品被穿着或者手持时将赋予其属性. 请注意,如果一个物品拥有普通且默认的修饰属性,如果这个修饰属性被额外添加,那么默认的将不会生效(比如说如果给一把钻石剑附加了一个数值为0的攻击伤害,那么这把钻石剑将没有额外的攻击属性,而不是默认的7)。需要注意的是默认的修饰属性是不会显示的。


  •  tag: tag 标签。

    •  AttributeModifiers: 包含了物品的修饰属性,如果这个物品既没有穿着也没有拿在手上则不会生效。

      • : 一个独立的修饰属性。

        •  AttributeName: 所使用的修饰属性

        •  Name: 修饰符的名称(可自定义)

        •  Slot: (自1.9开始)物品需要放在指定的储存格以修改属性。 “mainhand”(主手)、 “offhand”(副手)、 “feet”(脚)、 “legs”(腿)、 “chest”(胸部) 或 “head”(头部)。

        •  Operation: 0、 1 或 2。 这个值将会决定修饰符对属性的基础数值的计算方式. 若该值为0:将X的增量设为Amount的值;若该值为1:将Y的增量设为X×Amount的值; 若该值为2: 则计算Y = Y × (1 + Amount的值) (等同于将Y的增量设为 Y × Amount的值)。 Minecraft会先设 X = 基础数值,然后执行所有Operation的值为0的修饰符,紧接着设 Y = X,之后再执行所有Operation值为1的修饰符,最后才执行所有Operation的值为2的修饰符。

        •  Amount: 这个修饰符对基础值的修改值。

        •  UUIDMost: 这个修饰符的通用唯一识别码最高有效位。

        •  UUIDLeast: 这个修饰符的通用唯一识别码最低有效位。

药水效果[编辑 | 编辑源代码]

药水喷溅药水滞留药水药箭可以通过tag标签来绕过物品本身的参数,来达到多个自定义的药水效果。这些参数只在以下标签全部存在的情况下才会起作用。


  •  tag: tag标签。

    •  CustomPotionEffects: 此药水所包含的自定义药水效果

      • 一个效果。

        •  Id: 效果的ID。

        •  Amplifier: 效果的等级,此值为0时则是1级。

        •  Duration: 效果的持续时间,单位为

        •  Ambient: 1 或 0 (是/否) - 是否减少玩家被药水效果影响时在身体周围出现的颗粒效果的透明度,用于区分效果是否来自于信标。此标签可选,而且暂时没有效果。

        •  ShowParticles: 1 或 0 (是/否) - 是否在玩家被药水效果影响时在身体周围出现颗粒效果. 这个标签是可选的,默认为 1.

    •  Potion: 默认的药水效果。这不同于药水效果名,例如"Instant Health II"药水对应的是"minecraft:strong_healing"。

显示属性[编辑 | 编辑源代码]

皮革盔甲(因为可以染色)可以多一个color标签;所有其他的物品则都可以拥有自定义名称和自定义消息。


  •  tag: tag标签。

    •  display: 显示属性。

      •  color: 皮革盔甲的颜色。颜色值可以用以下公式计算:
        红色值×65536 + 绿色值×256 + 蓝色值×1
        (由于Java语言的特殊规定,Java里颜色值的计算公式与多数其他语言的公式“R+256×G+65536×B”相反。)

      •  Name: 物品显示的名称,要求使用JSON文本

      •  Lore: 物品显示的信息[1]

        • : 单行物品信息。

    •  HideFlags: 决定隐藏显示物品的哪些信息。1 对应"ench",2 对应"AttributeModifiers",4 对应"Unbreakable",8 对应 "CanDestroy", 16 对应 "CanPlaceOn", 32 对应其他信息 (包括药水效果, "StoredEnchantments", 成书的 "generation" 和 "author", "Explosion", "Fireworks", 和地图提示). 例如,设置为 3 时,"ench" 和 "AttributeModifiers" 标签会不显示,设置为 63 时所有信息都不显示。

成书[编辑 | 编辑源代码]

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


  •  tag: tag标签。

    •  resolved:可选的。当书在签名后第一次打开为1。用于决定是否解析JSON目标选择器(包括通过记分板选择玩家),因为他们的选择可以被修复

    •  generation:书的副本级别。0表示原作,1表示原作的副本,2表示副本的副本,3表示破烂不堪。如果值大于1,书就不可以被复制。原始的书不存在该标签。如果该标签不存在,书将视为原作。'Tattered' is unused in normal gameplay, and functions identically to the 'copy of copy' tier.

    •  author:成书的作者。

    •  title:成书的标题。

    •  pages:成书的各个页面。

      • 成书的一个单页。如果是通过书与笔完成的成书,每一页都会是用双引号括起来的文字,文字内的双引号转义为\",换行用\n转义,反斜杠用\\转义。如果是通过命令或第三方工具创建的,那么可以是一个JSON文本组合,或者是没有转义的字符串。

玩家的头颅[编辑 | 编辑源代码]

玩家的头颅可以被一名指定用户名的玩家的皮肤头颅取代,并且会随着这名玩家的皮肤改变而改变。在本小节中,一个头颅的“owner”意味着头是玩家的副本,“holder”意味着玩家物品栏内的头。


  •  tag: tag标签。

    •  SkullOwner: 版本 1.8 前头颅对应的玩家的用户名。

    •  SkullOwner: 版本 1.8 后定义头颅对应的玩家。

      •  Id: 头颅对应的玩家的 UUID 。可选的。用于头颅对应的玩家名变动时区块重新加载后的更新。

      •  Name: 头颅对应的玩家名。如果留空,则默认为 Steve 的头颅。否则尝试加载对应的玩家的头颅。并不要求一定是合法的用户名,但是不能全是空格。

      •  Properties

        •  textures

          • : 个人材质。

            •  Signature: 可选。

            •  Value: 1个Base64编码的JSON object. </ref>

              •  timestamp: 可选的:毫秒内的Unix时间

              •  profileId: 可选的:无连字符的玩家UUID。

              •  profileName: 可选的 :玩家的ID.

              •  isPublic: Optional.

              •  textures

                •  SKIN

                  •  url: textures.minecraft.net里玩家皮肤的URL。[2]

                •  CAPE: 可选。

                  •  url: 玩家披风的URL(64x32的PNG格式)。

烟花火箭[编辑 | 编辑源代码]

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


  •  tag: tag 标签

    •  Explosion:其中的一个将会出现在烟火之星

      •  Flicker: 1或0 (true/false) - 若为真则会出现闪烁效果(荧石粉),可能缺失。

      •  Trail: 1或0 (true/false) - 若为真则有拖曳痕迹(钻石),可能缺失。

      •  Type: 爆炸时的形态. 0 = 小球, 1 = 大球 ,2 = 星星, 3 =爬行者的头,4 = 爆裂。其他值将会被认定为未知,均为小型球状。

      •  Colors: 一个整数数组以表达爆炸时的颜色。若普通设置被使用, 游戏将会对其进行普通的着色(在物品名里), 不过爆炸时会产生正确的颜色。一般的颜色取决于 颜色 标签 从 显示设置

      •  FadeColors: 数组表示爆炸后掉落的颜色 相同的值代表相同的颜色, 可能缺失。

    •  Fireworks: 其中的一个会出现在 烟花火箭

      •  Flight: 飞行时间(从1-3)不等(与制作时所需的火药量相同)。这个值可能会在爆炸时减小之后或永久,数值小于-2则永远不会爆炸。

      •  Explosions: 产生爆炸的合成物的列表。

        • 与“爆炸”所表达的值相同,上面已经介绍过了。

盔甲架和刷怪蛋[编辑 | 编辑源代码]

盔甲架刷怪蛋会包含潜在的实体数据。

地图[编辑 | 编辑源代码]

地图可能是被缩放的。


  •  tag: tag标签。

    •  map_is_scaling:1或0(true/false)- 如果被缩放则为true。如果没有被缩放那么值可能不存在。地图数字以Damage储存,缩放值储存于地图物品格式

    •  Decorations:附加值列表。它会显示在地图上。

      • 附加值

        •  id:图片的定义

        •  type:图片类型(查看texture/map/map_icons.png)

        •  x:X坐标

        •  z:Z坐标

        •  rot:旋转的角度

物品栏方格号码[编辑 | 编辑源代码]

This shows the numbers used to specify the slot in the inventory while editing with an NBT editor.

副手格子的号码是#-106。

历史[编辑 | 编辑源代码]

Java版
1.8 14w06a 增加了CanDestroy
增加了HideFlags
14w07a 增加了BlockEntityTag
14w10a 加入了一个隐藏药水效果的第5位(值为32)的HideFlags
14w33a 增加了SelectedItem

参考[编辑 | 编辑源代码]