本站文本内容除另有声明外,转载时均必须注明出处,并遵守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版。

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

定义格式

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

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

  • NBT复合标签/JSON对象 JSON文件根对象
    • 字符串*asset_id:(命名空间ID)牛的纹理。游戏在渲染时将此值解析为assets/<命名空间>/textures/<路径>.png。
    • 字符串*baby_asset_id:(命名空间ID)幼年牛的纹理。游戏在渲染时将此值解析为assets/<命名空间>/textures/<路径>.png。
    • 字符串model:(默认为normal)牛的模型。取值可以为normal、cold和warm,在原版游戏中依次对应温带牛、寒带牛和热带牛的模型。
    • 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命令不可以使牛变种定义被重新加载,而必须重启服务端。

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

变种生成

参见:牛 § 生成

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

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

历史

Java版
1.21.525w05a加入了COW_VARIANT可写注册表和牛变种定义格式。
26.1snapshot-2加入了字符串baby_asset_id以单独指定幼年牛的纹理。

导航