本站文本内容除另有声明外,转载时均必须注明出处,并遵守CC BY-NC-SA 3.0协议。(转载须知)
本站是中文Minecraft Wiki的镜像站,与Mojang Studios、Weird Gloop没有从属关系。(免责声明)

全站通知:

猪变种定义格式

刷 历
编

阅读

    

2026-08-26更新

    

最新编辑:中文mcwiki机器人

阅读:

  

更新日期:2026-08-26

  

最新编辑:中文mcwiki机器人

来自Minecraft WIKI
跳到导航 跳到搜索
页面贡献者 :
中文Minecraft_Wiki
Information icon.svg
本条目所述内容仅适用于Java版。

猪变种定义文件是用于定义猪变种及其生成规则的数据驱动定义文件。

定义格式

猪变种在游戏内使用PIG_VARIANT注册表,数据包路径为pig_variant,即所有猪变种自定义文件都需要在data/<命名空间>/pig_variant目录中定义。

猪变种定义文件使用JSON格式,并具有下列结构:

  • NBT复合标签/JSON对象 JSON文件根对象
    • 字符串*asset_id:(命名空间ID)猪的纹理。游戏在渲染时将此值解析为assets/<命名空间>/textures/<路径>.png。
    • 字符串*baby_asset_id:(命名空间ID)幼年猪的纹理。游戏在渲染时将此值解析为assets/<命名空间>/textures/<路径>.png。
    • 字符串model:(默认为normal)猪的模型。取值可以为normal和cold,在原版游戏中前者用于温带猪与热带猪的模型,后者用于寒带猪的模型。
    • NBT列表/JSON数组*spawn_conditions:变种生成选择器,控制变种的生成条件与优先级。
      • NBT复合标签/JSON对象:一个变种生成选择器。
        • NBT复合标签/JSON对象condition:此生成选择器可以生效的条件。不指定时默认为任何条件下都可以选择此生成选择器。
          • 字符串*type:生成选择器条件类型。
          • 如果字符串*type为biome,则检查当前生成点的生物群系。
          • 字符串NBT列表/JSON数组*biomes:检查生成点是否为给定的生物群系,是则选择器有效。可以为以#开头的生物群系标签、一个生物群系ID的字符串、或以多个生物群系ID组成的字符串列表。
          • 如果字符串*type为moon_brightness,则检查当前月亮亮度。
          • 双精度浮点数NBT复合标签/JSON对象*range:月亮亮度的范围,当前亮度在给定范围内时选择器有效。满月时为1而新月时为0,具体值见月亮 § 月亮亮度。
          • 如果字符串*type为structure,则检查当前生成点是否在指定的结构片段内。
          • 字符串NBT列表/JSON数组*structures:检查生成点是否在指定结构的结构片段内,是则选择器有效。可以为以#开头的结构标签、一个结构ID的字符串、或以多个结构ID组成的字符串列表。
        • 整型*priority:选择此生成选择器的优先级。游戏会挑选所有变种中所有有效的生成选择器,在优先级并列最高的选择器中随机挑选其一并使用对应的变种进行生成。

定义行为

猪变种定义数据仅在服务端启动时被加载一次,使用/reload命令不可以使猪变种定义被重新加载,而必须重启服务端。

PIG_VARIANT注册表中必须至少有一个元素,否则游戏会在同步时报错并阻止世界加载。

变种生成

参见:猪 § 生成

生成猪时,游戏根据NBT列表/JSON数组spawn_conditions指定的通用变种选择器选择生成何种变种。

通用变种选择器包含了生成变种的各种条件,以及条件满足时的生成优先级。尝试生成时,游戏会在所有变种的选择器中找出条件成立且优先级最大的选择器,并生成拥有该选择器的变种;如有多个选择器的优先级同为最大,则会随机选取一个选择器,并生成其对应的变种。

历史

Java版
1.21.525w02a加入了猪变种定义格式,以及相应的PIG_VARIANT可写注册表。
25w04a修改了猪变种定义格式,以统一不同生物变种的格式。
  • NBT复合标签/JSON对象 JSON文件根对象
    • 字符串*texture: (命名空间ID)猪的纹理。
    • 字符串model: (默认为normal)猪的模型。需为normal和​cold之一。
    • 字符串NBT列表/JSON数组biomes: 一个或多个生物群系(可以用 字符串字符串指定一个生物群系的命名空间ID;若要指定多个生物群系,可以用 字符串字符串指定一个带有#前缀的标签,或指定一个 NBT列表/JSON数组数组,数组中的元素应为 字符串 命名空间ID字符串),表示可生成该变种的生物群系。如果未指定生物群系,那么这种变种只会在没有其他符合生物群系要求的变种时生成。
26.1snapshot-2加入了字符串baby_asset_id以单独指定幼年猪的纹理。

导航