本站文本内容除另有声明外,转载时均必须注明出处。(详情…本站文本内容除另有声明外,转载时均必须注明出处。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。

教程/自定义实体

来自Minecraft Wiki
跳转至: 导航搜索
Information icon.svg
此特性为基岩版独有。
该页面仍需完善。
请您帮助我们扩充内容

在浏览本教程前,请确保你已经可以独立制作行为包及材质包。如果还未掌握,请先浏览教程/制作行为包以及教程/制作材质包这两个教程再来学习本教程。在浏览完本教程之后,你将学会如何创建一个完整的名字为npc的自定义实体,并学会如何更改该自定义实体的部分属性。

行为包[编辑 | 编辑源代码]

下列是一个完全可用的示例manifest.json,然后在与manifest.json同层的地方,新建一个entities的文件夹,在文件夹中放入你新增的实体的json。这个json的名字为[实体子名].json,其中实体子名为identifier中冒号后面的部分。

{
	"format_version": "1.8.0",
	"minecraft:entity": {
		"description": {
			"identifier": "test:npc",
			"runtime_identifier": "test:npc",
			"is_spawnable": true,
			"is_summonable": true,
			"is_experimental": false
		},
		"components": {
			"minecraft:fire_immune": true,
			"minecraft:type_family": {
				"family": [ "test", "npc"]
			}
		}
	}
}

自定义的实体json与其他生物实体json的写法相同,具体可参照行为包教程

材质包[编辑 | 编辑源代码]

下面同样是一个可用的示例manifest.json。在与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则分别确定了生成这个实体的刷怪蛋的斑点的颜色与底色,格式为十六进制。

materials[编辑 | 编辑源代码]

接着你需要在与manifest.json同一个夹层的地方,再创建一个名字为materials的文件夹,在里面放置实体的材料entity.material.例:

{
	"materials": {
		"version": "1.0.0",
		"npc:entity_alphatest": {}
	}
}

在materials中,"npc"需要与之前的identifier中的子名相统一。

render_controllers[编辑 | 编辑源代码]

依然是在与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=生物蛋名

(注:未加入以上内容也不影响自定义实体的任何功能。)

完成以上步骤,你将会得到一个完整的自定义实体。若想为该实体添加其他模块,请参考教程/制作行为包

以上即为全部的基础自定义实体内容。若有任何问题或不足,欢迎各位进行补充。