# 生物定义文件
# 作者:境界
生物资源定义是在客户端中完成的,在这一类文件里,开发者可以定义生物的纹理、动画、模型、音效、粒子的短名称,在有需要的时候还能控制动画的播放时序。这种类型的文件称为生物定义文件,它位于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意为显示身上穿戴物。在玩家、部分凋零生物身上都有这个属性。