牛变种定义格式
跳转到导航
跳转到搜索
本文章所述内容仅适用于Java版。
本页面包含会在下一次更新中出现的内容。
这些特性在Java版1.21.5的开发版本中加入。
定义格式[编辑 | 编辑源代码]
牛变种在游戏内使用COW_VARIANT
注册表,数据包路径为cow_variant
,即所有牛变种自定义文件都需要在data/<命名空间>/cow_variant
目录中定义。
牛变种定义文件使用JSON格式,并具有下列结构:
- 根标签
- *asset_id: (命名空间ID)牛的纹理。
- model: (默认为
normal
)牛的模型,需为normal
、cold
和warm
之一。在原版内依次对应温带牛、寒带牛和热带牛的模型。 - *spawn_conditions:变种生成选择器,控制变种的生成条件与优先级。
- :一个变种生成选择器。
- condition:此生成选择器可以生效的条件。默认为任何条件下都可以选择此生成选择器。
- *type:生成选择器条件类型。
- 如果*type为
biome
,则检查当前生成点的生物群系。
- 如果*type为
- *biomes:(一个或多个生物群系(可以用 字符串指定一个生物群系的命名空间ID;若要指定多个生物群系,可以用 字符串指定一个带有
#
前缀的标签,或指定一个 数组,数组中的元素应为 命名空间ID字符串))检查生成点是否为给定的生物群系,是则选择器有效。- 如果*type为
moon_brightness
,则检查当前月亮亮度。
- 如果*type为
- *range:月亮亮度的范围,当前亮度在给定范围内时选择器有效。亮度值按照满月-下弦月-新月-上弦月的月相顺序从1降到0再回升,具体值见月亮 § 月亮亮度。
- 如果*type为
structure
,则检查当前生成点是否在指定的结构片段内。
- 如果*type为
- *structures:(一个或多个生成结构(可以用 字符串指定一个生成结构的命名空间ID;若要指定多个生成结构,可以用 字符串指定一个带有
#
前缀的标签,或指定一个 数组,数组中的元素应为 命名空间ID字符串))检查生成点是否在指定结构的结构片段内,是则选择器有效。
- *type:生成选择器条件类型。
- *priority:选择此生成选择器的优先级。游戏会挑选所有变种中所有有效的生成选择器,在优先级并列最高的选择器中随机挑选其一并使用对应的变种进行生成。
- condition:此生成选择器可以生效的条件。默认为任何条件下都可以选择此生成选择器。
- :一个变种生成选择器。
定义行为[编辑 | 编辑源代码]
牛变种定义数据仅在服务端启动时被加载一次,使用/reload
命令不可以使牛变种定义被重新加载,而必须重启服务端。
变种样式[编辑 | 编辑源代码]
游戏根据牛的变种选择其纹理与模型。
变种纹理由asset_id指定。该字段形如<命名空间>:<路径>
,将指向至资源包中的assets/<命名空间>/textures/<路径>.png
纹理文件。
变种模型由model指定。该字段只能取normal
、cold
和warm
之一,在原版内依次对应温带牛、寒带牛和热带牛的模型。
变种生成[编辑 | 编辑源代码]
参见:牛 § 生成
生成牛时,游戏根据spawn_conditions指定的通用变种选择器选择生成何种变种。
通用变种选择器包含了生成变种的各种条件,以及条件满足时的生成优先级。尝试生成时,游戏会在所有变种的选择器中找出条件成立且优先级最大的选择器,并生成拥有该选择器的变种;如有多个选择器的优先级同为最大,则会随机选取一个选择器,并生成其对应的变种。
历史[编辑 | 编辑源代码]
Java版(即将到来) | |||||||
---|---|---|---|---|---|---|---|
1.21.5 | 25w05a | 加入了COW_VARIANT 可写注册表和牛变种定义格式。 |
导航[编辑 | 编辑源代码]
[隐藏] | |||||||||
---|---|---|---|---|---|---|---|---|---|
基本概念 | |||||||||
数据包 |
| ||||||||
资源包 | |||||||||
相关条目 | |||||||||
相关教程 | |||||||||
参考实例 |
|