Files
netease-modsdk-wiki/docs/mconline/10-addon教程/第07章:自定义生物/课程02.生物定义文件.md
boybook 760c2dd9ad 2.6
2025-12-01 20:59:16 +08:00

133 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
front:
hard: 进阶
time: 15分钟
---
# 生物定义文件
#### 作者:境界
生物资源定义是在客户端中完成的在这一类文件里开发者可以定义生物的纹理、动画、模型、音效、粒子的短名称在有需要的时候还能控制动画的播放时序。这种类型的文件称为生物定义文件它位于RP/entity中格式后缀为.json
```
{
"format_version":"1.10.0",
"minecraft:client_entity":{
"description":{
"identifier":"minecraft:pig",
"materials":{
"default":"pig"
},
"textures":{
"default":"textures/entity/pig/pig",
"saddled":"textures/entity/pig/pig_saddle"
},
"geometry":{
"default":"geometry.pig"
},
"animations":{
"setup":"animation.pig.setup.v1.0",
"walk":"animation.quadruped.walk",
"look_at_target":"animation.common.look_at_target",
"baby_transform":"animation.pig.baby_transform"
},
"scripts":{
"animate":[
"setup",
{
"walk":"query.modified_move_speed"
},
"look_at_target",
{
"baby_transform":"query.is_baby"
}
]
},
"render_controllers":[
"controller.render.pig"
],
"spawn_egg":{
"texture":"spawn_egg",
"texture_index":2
}
}
}
}
```
#### format_version
format_version是指代定义内容的版本号目前有1.8.0和1.10.0两个选择。1.8.0和1.10.0是自定义生物功能实现的两个重大改变版本在基岩版1.8.0首次实装了自定义生物的功能而在1.10.0的版本里基岩版再次重新整理了自定义生物的写法格式。一般情况下使用最新的1.10.0的格式,是现在自定义生物的通用规范。
#### identifier
identifier意为生物的标识符。它由命名空间和名称组成。在游戏中使用/summon召唤实体指令时以minecraft:为开头的原版生物可以直接用它们的名称作为实体召唤的对象。而自定义生物就需要在名字前再添加一个命名空间可以帮助游戏区分例如两个组件都加入了一种名为duck的鸭子生物区分它们来自哪个组件就是命名空间的工作。
#### material
material意为材质是控制实体的呈现方式。游戏中的一些生物带有发光、透明的纹理部分需要指定贴图纹理的材质才能正常生效。
#### texture
texture意为贴图纹理它控制实体的纹理。例如木头的木纹理鸡身上的羽毛等。
#### geometry
geometry意为模型几何体。它控制实体长什么样子。
#### animations
animations意为动画这里会放置一系列的动画资源和控制动画播放时机的动画控制器。
#### scripts/animate
scripts/animate意为播放根动画。动画或动画控制器会放置在这里。
#### render_controller
render_controller意为渲染控制器。它是一种由开发者定义生物该如何渲染的方法。通过渲染控制器可以设置生物的几何体、材质、贴图、和部位隐藏显示等。注意这里的几何体、材质、贴图等词代表渲染生物需要哪些关键信息。如原版猪需要展示两种形态根据放鞍或者不放鞍的状态显示带有鞍或者不带鞍的贴图则可以在渲染控制器中进行切换并由开发者定义入口再由生物定义文件中指向完整的资源路径。
#### particle_effects
particle_effects意为粒子效果。这里会放置一系列需要用到的粒子资源开发者可以使用原版粒子亦或是自定义粒子。
#### sound_effects
sound_effects意为音效效果。这里会放置一系列需要用到的音效资源开发者可以使用原版音效亦或是自定义音效。
#### spawn_egg
spawn_egg意为生物蛋是我的世界召唤生物的一种方式。开发者可以定义生物蛋引用的贴图资源。
#### enable_attachable
enable_attachable意为显示身上穿戴物。在玩家、部分凋零生物身上都有这个属性。