第一个实体¶
这一页会创建一个最小机器人实体。它没有复杂AI,只用于确认实体服务端定义、客户端定义、模型、纹理和本地化能正确连起来。
行为包实体¶
创建文件:
demo_BP/entities/robot.json
{
"format_version": "1.20.80",
"minecraft:entity": {
"description": {
"identifier": "demo:robot",
"is_spawnable": true,
"is_summonable": true
},
"components": {
"minecraft:physics": {},
"minecraft:nameable": {},
"minecraft:collision_box": {
"width": 0.9,
"height": 1.8
},
"minecraft:health": {
"value": 20,
"max": 20
}
}
}
}
is_spawnable会让实体有刷怪蛋,is_summonable会让/summon可用。minecraft:physics提供重力和常规碰撞。
资源包客户端实体¶
创建文件:
demo_RP/entity/robot.entity.json
{
"format_version": "1.10.0",
"minecraft:client_entity": {
"description": {
"identifier": "demo:robot",
"materials": {
"default": "entity"
},
"textures": {
"default": "textures/entity/robot"
},
"geometry": {
"default": "geometry.robot"
},
"render_controllers": [
"controller.render.default"
],
"spawn_egg": {
"base_color": "#505152",
"overlay_color": "#3b9dff"
}
}
}
}
接着把robot.geo.json放入demo_RP/models/entity,把robot.png放入demo_RP/textures/entity。模型内部的几何体标识符必须是geometry.robot。
添加名称¶
demo_RP/texts/en_US.lang
entity.demo:robot.name=Robot
item.spawn_egg.entity.demo:robot.name=Spawn Robot
测试¶
进入启用两个包的世界,运行:
如果实体生成但不可见,检查资源包是否激活、客户端实体标识符是否一致、模型几何体标识符是否一致、纹理路径是否没有写.png。如果命令提示实体不存在,先检查行为包实体文件。