新聞中心
此特性為基巖版獨(dú)有。
此條目仍需完善。

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的莊河網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
你可以幫助我們擴(kuò)充關(guān)于該主題的更多信息。
原因:這是一篇中文原創(chuàng)教程,與英文頁面有較大差異
目錄
- 1 行為包
- 1.1 創(chuàng)建實(shí)體
- 1.2 添加戰(zhàn)利品表
- 1.3 設(shè)置生成規(guī)則
- 2 資源包
- 2.1 materials
- 2.2 render_controllers
- 3 參見
- 4 外部鏈接
本教程適用于基巖版1.14.0及以上版本。
在閱讀本教程前,請先確保自身已有一定的附加包基礎(chǔ)。如果還未掌握,請先瀏覽教程/制作行為包與教程/制作資源附加包頁面后再來學(xué)習(xí)本教程。
在瀏覽完本教程之后,你將學(xué)會如何創(chuàng)建一個全新的自定義實(shí)體。
行為包[ ]
創(chuàng)建實(shí)體[ ]
在與manifest.json同層的地方,新建一個名為entities的文件夾,在文件夾中放入你新增的實(shí)體的json。 這個json的名字為[實(shí)體子名].json 在文件中填入以下示例。
這里的示例中:命名空間為test,新建實(shí)體名為npc。
{
"format_version": "1.8.0",
"Minecraft:entity": {
"description": {
"identifier": "test:npc",
//實(shí)體識別符
"runtime_identifier": "test:npc",
"is_spawnable": true,
//是否自然生成
"is_summonable": true,
//是否可用/summon生成
"is_experimental": false
//是否為實(shí)驗(yàn)性生物,如開啟,則需開啟實(shí)驗(yàn)性玩法才可生成
},
"components": {
//組件
"minecraft:type_family": {
"family": [ "test", "npc"]
},
"minecraft:health": {
//生命值
"value": 10,
//初始值
"max": 10
//最大值
},
"minecraft:movement": {
//移動速度
"value": 0.25
//值
}
}
}
}
自定義的實(shí)體json與其他實(shí)體json的寫法相同,具體可參照教程/制作行為包。
添加戰(zhàn)利品表[ ]
這是一個可選參數(shù)。
如需要,則在components中,添加minecraft:loot設(shè)置物品掉落;添加minecraft:equipment設(shè)置自然裝備掉落,示例如下:
...
"components": {
"minecraft:type_family": {
"family": [
"test",
"npc"
]
},
"minecraft:loot": {
"table": "loot_tables/entities/npc.json"
},
"minecraft:equipment": {
"table": "loot_tables/entities/npc_equipment.json"
}
}
...
這里將掉落物表設(shè)置為[行為包]/loot_tables/entities/目錄下的npc.json文件,將裝備掉落設(shè)置為[行為包]/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
}
]
}
]
}
設(shè)置生成規(guī)則[ ]
這是一個可選參數(shù)。 生成規(guī)則用于使你的自定義實(shí)體在特定生物群系中的自然生成。 如果你的實(shí)體僅需使用命令生成,或僅從其他實(shí)體生成,則不需要此設(shè)置。
在行為包根目錄下創(chuàng)建一個名為spawn_rules的文件夾。 新建一個以自定義生物命名的JSON文件。下面是一個簡單的示例:
{
"format_version": "1.8.0",
"minecraft:spawn_rules": {
"description": {
"identifier": "test:npc",
//實(shí)體識別符
"population_control": "animal"
//實(shí)體數(shù)量控制標(biāo)簽
},
"conditions": [
//組件
{
"minecraft:spawns_on_surface": {},
//添加此組件即允許該實(shí)體在地面上生成,若刪除則不允許
"minecraft:brightness_filter": {
//設(shè)置實(shí)體生成的光照等級范圍
"min": 7,
"max": 15,
"adjust_for_weather": false
//設(shè)置是否允許在天氣影響后的光照等級下生成(如:設(shè)置為true,則敵對生物在下雨天會生成)
},
"minecraft:weight": {
//優(yōu)先生成權(quán)重值
"default": 10
},
"minecraft:herd": {
//設(shè)置一次生成實(shí)體群的大?。ㄈ纾壕d羊一次生成2到3只)
"min_size":1,
"max_size":3
},
"minecraft:biome_filter": {
"test": "has_biome_tag", "operator":"==", "value": "animal"
}
}
]
}
}
這只是一個簡單的示例,具體見基巖版實(shí)體文檔#Spawn_Rules。
資源包[ ]
下列同樣是一個可用的示例
在與manifest.json同層的地方,創(chuàng)建一個名為entity的文件夾,并將實(shí)體的屬性json寫進(jìn)去,名字同樣為[實(shí)體子名].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需統(tǒng)一,materials決定了將被這個實(shí)體所調(diào)用的材料。textures后面為實(shí)體貼圖紋理路徑,geometry則確定實(shí)體所調(diào)用的的建模的文件路徑,render_controllers決定了這個實(shí)體所擁有的動作。兩個color分別確定了生成這個實(shí)體的刷怪蛋的斑點(diǎn)的顏色與蛋的底色,格式為十六進(jìn)制。
materials[ ]
接著你需要在與manifest.json同層的地方,再創(chuàng)建一個名為materials的文件夾,在里面放置實(shí)體的材料,名為entity.material。例:
{
"materials": {
"version": "1.0.0", "npc:entity_alphatest": {}
}
}
不同的materials材料將會讓實(shí)體調(diào)用不同的渲染效果,具體可參照原版紋理包中的materials/entity.material。 注:在materials中,"npc"需要與之前的identifier中的子名相統(tǒng)一。
render_controllers[ ]
依然是在與manifest.json同層的地方創(chuàng)建一個名為render_controllers的文件夾,在里面放入這個實(shí)體的動畫文件,名字為[實(shí)體子名].json。
{
"format_version": "1.8.0",
"render_controllers": {
"controller.render.npc": {
"geometry": "Geometry.default",
"materials": [
{ "*": "Material.default" }
],
"textures": [ "Texture.default" ]
}
}
}
其中"controller.render.npc",npc為實(shí)體子名,其他部分為基礎(chǔ)內(nèi)容。
最后就是紋理,建模,與語言文件的部分。你可以選擇直接調(diào)用原版的紋理內(nèi)容,也可調(diào)用自己所新增的紋理內(nèi)容。 新增紋理需要根據(jù)在之前entity中所寫的路徑對應(yīng),在對應(yīng)的路徑放入名字為實(shí)體子名的貼圖即可。建模也是同樣的,在指定的路徑中放入名字為實(shí)體子名的json建模文件,建模的實(shí)體名為"geometry.[實(shí)體子名]"。具體可參照教程/修改實(shí)體模型。語言文件需要在與manifest同層的地方,新建一個texts的文件夾,在里面放入名為zh_CN.lang的文件。其他語言則將文件名改成對應(yīng)的語言代碼即可。在里面寫上以下內(nèi)容:
entity.npc.name=npc item.spawn_egg.entity.npc.name=npc
每有一個自定義實(shí)體都要在需要語言文件中加上以下內(nèi)容:
entity.[實(shí)體子名].name=實(shí)體名
item.spawn_egg.entity.[實(shí)體子名].name=生物蛋名
(注:在語言文件中的定義不影響自定義實(shí)體的任何功能。)
完成以上步驟,你將會得到一個完整的自定義實(shí)體。若想為該實(shí)體添加其他模塊,請參考教程/制作行為包。 以上即為自定義實(shí)體的基礎(chǔ)內(nèi)容。若有任何問題或不足,歡迎各位進(jìn)行補(bǔ)充。
參見[ ]
- 教程/自定義方塊
- 教程/自定義音效
- 教程/自定義物品
外部鏈接[ ]
- 行為示范包:entity_demo
教程(作下劃線標(biāo)記的教程為中文獨(dú)有教程) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
本文題目:創(chuàng)新互聯(lián)MinecraftWiki教程:行為包[]
本文路徑:http://www.dlmjj.cn/article/dppcscg.html


咨詢
建站咨詢
