教學/自訂實體
在瀏覽本教學前,請確保你已經可以獨立製作行為包及材質包。如果還未掌握,請先瀏覽教學/製作行為包以及教學/製作材質包這兩個教學再來學習本教學。在瀏覽完本教學之後,你將學會如何建立一個完整的名字為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
如果你想給你的自訂實體賦予一個名字,那麼你就需要在zh_CN.lang中加上一下內容:
entity.[实体子名].name=实体名
item.spawn_egg.entity.[实体子名].name=生物蛋名
ps:若未加入以上內容,將不影響自訂實體的任何功能。
以上即為全部的基礎自訂實體內容。若有任何問題或不足,歡迎各位進行補充。