此特性为基岩版独有。
此条目仍需完善。
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的庄河网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
你可以帮助我们扩充关于该主题的更多信息。
原因:这是一篇中文原创教程,与英文页面有较大差异
本教程适用于基岩版1.14.0及以上版本。
在阅读本教程前,请先确保自身已有一定的附加包基础。如果还未掌握,请先浏览教程/制作行为包与教程/制作资源附加包页面后再来学习本教程。
在浏览完本教程之后,你将学会如何创建一个全新的自定义实体。
在与manifest.json
同层的地方,新建一个名为entities
的文件夹,在文件夹中放入你新增的实体的json。 这个json的名字为[实体子名].json
在文件中填入以下示例。
这里的示例中:命名空间为test
,新建实体名为npc
。
{ "format_version": "1.8.0", "Minecraft:entity": { "description": { "identifier": "test:npc", //实体识别符 "runtime_identifier": "test:npc", "is_spawnable": true, //是否自然生成 "is_summonable": true, //是否可用/summon生成 "is_experimental": false //是否为实验性生物,如开启,则需开启实验性玩法才可生成 }, "components": { //组件 "minecraft:type_family": { "family": [ "test", "npc"] }, "minecraft:health": { //生命值 "value": 10, //初始值 "max": 10 //最大值 }, "minecraft:movement": { //移动速度 "value": 0.25 //值 } } } }
自定义的实体json与其他实体json的写法相同,具体可参照教程/制作行为包。
这是一个可选参数。
如需要,则在components
中,添加minecraft:loot设置物品掉落;添加minecraft:equipment设置自然装备掉落,示例如下:
... "components": { "minecraft:type_family": { "family": [ "test", "npc" ] }, "minecraft:loot": { "table": "loot_tables/entities/npc.json" }, "minecraft:equipment": { "table": "loot_tables/entities/npc_equipment.json" } } ...
这里将掉落物表设置为[行为包]/loot_tables/entities/
目录下的npc.json
文件,将装备掉落设置为[行为包]/loot_tables/entities/
目录下的npc_equipment.json
文件。
下面是两文件的简单示例:
npc.json:
{ "pools": [ { "rolls": 1, "entries": [ { "type": "item", "name": "minecraft:grass", "weight": 1, "functions": [ { "function": "set_count", "count": { "min": 0, "max": 15 } } ] } ] } ] }
npc_equipment.json:
{ "pools": [ { "rolls": 1, "entries": [ { "type": "item", "name": "minecraft:stone_sword", "weight": 1 } ] } ] }
这是一个可选参数。 生成规则用于使你的自定义实体在特定生物群系中的自然生成。 如果你的实体仅需使用命令生成,或仅从其他实体生成,则不需要此设置。
在行为包根目录下创建一个名为spawn_rules
的文件夹。 新建一个以自定义生物命名的JSON文件。下面是一个简单的示例:
{ "format_version": "1.8.0", "minecraft:spawn_rules": { "description": { "identifier": "test:npc", //实体识别符 "population_control": "animal" //实体数量控制标签 }, "conditions": [ //组件 { "minecraft:spawns_on_surface": {}, //添加此组件即允许该实体在地面上生成,若删除则不允许 "minecraft:brightness_filter": { //设置实体生成的光照等级范围 "min": 7, "max": 15, "adjust_for_weather": false //设置是否允许在天气影响后的光照等级下生成(如:设置为true,则敌对生物在下雨天会生成) }, "minecraft:weight": { //优先生成权重值 "default": 10 }, "minecraft:herd": { //设置一次生成实体群的大小(如:绵羊一次生成2到3只) "min_size":1, "max_size":3 }, "minecraft:biome_filter": { "test": "has_biome_tag", "operator":"==", "value": "animal" } } ] } }
这只是一个简单的示例,具体见基岩版实体文档#Spawn_Rules。
下列同样是一个可用的示例
在与manifest.json同层的地方,创建一个名为entity的文件夹,并将实体的属性json写进去,名字同样为[实体子名].json
。如:
{ "format_version": "1.8.0", "minecraft:client_entity": { "description": { "identifier": "test:npc", "materials": { "default": "npc" }, "textures": { "default": "textures/entity/npc" }, "geometry": { "default":"geometry.npc" }, "render_controllers": [ "controller.render.npc" ], "spawn_egg": { "base_color": "#99e550", "overlay_color": "#99e550" } } } }
identifier
与之前行为包中所写ID需统一,materials
决定了将被这个实体所调用的材料。textures
后面为实体贴图纹理路径,geometry
则确定实体所调用的的建模的文件路径,render_controllers
决定了这个实体所拥有的动作。两个color分别确定了生成这个实体的刷怪蛋的斑点的颜色与蛋的底色,格式为十六进制。
接着你需要在与manifest.json
同层的地方,再创建一个名为materials的文件夹,在里面放置实体的材料,名为entity.material
。例:
{ "materials": { "version": "1.0.0", "npc:entity_alphatest": {} } }
不同的materials材料将会让实体调用不同的渲染效果,具体可参照原版纹理包中的materials/entity.material。 注:在materials中,"npc"需要与之前的identifier中的子名相统一。
依然是在与manifest.json
同层的地方创建一个名为render_controllers
的文件夹,在里面放入这个实体的动画文件,名字为[实体子名].json
。
{ "format_version": "1.8.0", "render_controllers": { "controller.render.npc": { "geometry": "Geometry.default", "materials": [ { "*": "Material.default" } ], "textures": [ "Texture.default" ] } } }
其中"controller.render.npc"
,npc为实体子名,其他部分为基础内容。
最后就是纹理,建模,与语言文件的部分。你可以选择直接调用原版的纹理内容,也可调用自己所新增的纹理内容。 新增纹理需要根据在之前entity中所写的路径对应,在对应的路径放入名字为实体子名的贴图即可。建模也是同样的,在指定的路径中放入名字为实体子名的json建模文件,建模的实体名为"geometry.[实体子名]"
。具体可参照教程/修改实体模型。语言文件需要在与manifest同层的地方,新建一个texts的文件夹,在里面放入名为zh_CN.lang
的文件。其他语言则将文件名改成对应的语言代码即可。在里面写上以下内容:
entity.npc.name=npc item.spawn_egg.entity.npc.name=npc
每有一个自定义实体都要在需要语言文件中加上以下内容:
entity.[实体子名].name=实体名
item.spawn_egg.entity.[实体子名].name=生物蛋名
(注:在语言文件中的定义不影响自定义实体的任何功能。)
完成以上步骤,你将会得到一个完整的自定义实体。若想为该实体添加其他模块,请参考教程/制作行为包。 以上即为自定义实体的基础内容。若有任何问题或不足,欢迎各位进行补充。
教程(作下划线标记的教程为中文独有教程) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
网页名称:创新互联MinecraftWiki教程:行为包[]
网站链接:http://www.mswzjz.cn/qtweb/news9/486009.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能