教程/製作行為包
此特性為基岩版獨有。 |
該文檔的內容可能與實際略有出入。 您可以查看中文玩家社區的優質教程。
|
概述[編輯 | 編輯原始碼]
這篇文章和「資源包教程」有類似之處,當然我們也建議您最好先了解一下如何創建一個資源包,這篇教程可能會忽略一些與資源包的共同點。下面會講解如下內容:
- 簡述JSON數據格式
- 如何創建行為包
- 如何改變怪物行為
如果你看過站內關於pig.json
的修改教程,那麼可能會輔助閱讀本篇文章。
所需時間[編輯 | 編輯原始碼]
完成本教程大約需要1個半至2小時。
所需工具[編輯 | 編輯原始碼]
跟隨下面給出的步驟繼續教程:
文本編輯器[編輯 | 編輯原始碼]
可以使用任意一種文本編輯器,但我建議你使用一些編程用的IDE。在PC上,Notepad++是一個非常不錯的選擇,不僅免費,而且能夠對編程語法進行高亮顯示,你可以從[1]下載。如果你想有效管理多個文件,建議使用Visual Studio Code。而在iOS上,用Textcode Viewer則是不錯的選擇,如果你的iOS設備已經越獄,也可以嘗試使用iFile或者Filza。對於Android系統來講,MT管理器將是一個不錯的選擇。
文件管理器[編輯 | 編輯原始碼]
可以使用任何一種文件管理器。我建議:Windows可以用系統自帶的文件管理器(但是請你安裝好壓縮和解壓用的軟件,如WinRAR,7z等)。iOS設備上則可以用文件全能王(英文名FileMaster);Android可以使用ES文件管理器,最新的ES文件管理器還具備了代碼糾錯功能,但美中不足的是其編寫代碼系統很不好用,僅推薦作為文件管理器。推薦使用MT管理器,功能比較齊全。
JSON數據格式[編輯 | 編輯原始碼]
在開始製作行為包之前,我們需要先快速了解一下JSON是怎麼運作的。我們不會去太過於深入JSON技術的一些細節,但是如果你希望了解更多,你可以參閱[2]。
JSON里由兩種不同的數據結構所組成:
- 鍵值對
- 例如:
"name": value
- 例如:
- 對象數組
- 例如:
["value1", "value2", ...]
- 例如:
你可以創建一個由鍵值對組成的對象。值也可以是數組或對象。
對象範例[編輯 | 編輯原始碼]
{
"minecraft:scale": {
"value": 0.5
}
}
上面的對象由一個字符串組成,其中"minecraft:scale"是鍵(該對象的名稱),值是另一個鍵值對("value": 0.5)。
帶列表的對象範例[編輯 | 編輯原始碼]
{
"minecraft:health": {
"value": 10,
"max": 20
}
}
帶數組的對象範例[編輯 | 編輯原始碼]
{
"minecraft: type_family": {
"family": [
"monster",
"undead"
]
}
}
- 注意
鍵與值之間總是使用冒號分開,值之間則使用逗號分開。另外,每一個左花括號{必須用右花括號關閉},即不允許只出現一個左花括號但是沒有右花括號的情況;方括號[]、雙引號""同理。這一點非常重要!請務必記住。如果上述符號沒有封閉,將可能造成錯誤的結果,讓你的JSON代碼無法執行。
幸運的是,我們可以使用一些在線的工具網站來幫助我們檢查JSON,你可以使用[3]或如果訪問速度較慢,也可以使用國內類似的網站如[4]來檢查你JSON的合法性;你只需要複製你的JSON代碼到該頁面,然後點擊右邊的檢查按鈕(√)即可。如果檢查按鈕顯示為綠色,則說明你的JSON正常,反之,如果檢查按鈕為紅色,他將嘗試告訴你錯誤的原因。注意!這個網站只能檢查這個JSON是否有錯誤比如漏掉大括號或者中括號等,即使通過也並不能代表你的JSON能夠在遊戲裏正確的運行!我們也會檢查你在json文件中寫的注釋,注釋在json中通常是無效的,但是當你在文檔中寫了「//注釋」的時候工具也會告訴你「JSON文件無效」,記得在使用工具檢查代碼前先移除所有注釋!
創造一個行為包[編輯 | 編輯原始碼]
行為包作為Add-Ons的一部分,允許你更改一個實體的行為來達到全新的表現效果。不過目前僅支持添加或修改一個實體已經存在的行為(當然這個實體也應該是存在的)。這個簡單的教程將向您展示如何將苦力怕的爆炸行為添加到豬身上,不過在修改豬之前,我們要先讓別人知道自己是這個Add-Ons的作者。
當然,下面的步驟你也可以用在一個材質包上:
- 將原版行為包複製下來並放到一個專門的資料夾中,命名為「教程行為包」
- 在此尋找行為包資料夾(Windows 10版):C:\Users\帳戶名稱\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\behavior_packs
- (安卓版)SDCard/games/com.mojang/behavior_packs
- 創建一個名為manifest.json的JSON文件
manifest.json[編輯 | 編輯原始碼]
你可以在這個manifest找到你需要的內容。
- manifest.json
{
"header": {
"pack_id": "e3c5a9be-1cfc-4a74-9f70-9213bab32090",
"name": "教程数据包",
"packs_version": "0.0.1",
"description": "教程资源包5",
"modules": [
{
"description": "未使用",
"version": "0.0.1",
"uuid": "14d5fb6b-ef0a-47e5-8a98-d615709c1a03",
"type": "data"
}
],
"dependencies": [
{
"description": "依赖于教程材质包",
"version": "0.0.1",
"uuid": "891f5751-bb0e-47c6-91f0-fdc4e76949ef",
"type": "resources"
}
]
}
}
當然,你完全可以把「manifest.json」複製進你的行為包資料夾並修改它。如果你需要讓你行為包配套材質綁定到行為包上,就要讓行為包中「dependencies」裏面的「uuid」 和材質包中modules的「uuid」相同。
- 注意
單從文件名稱和大致結構看來材質包和行為包的「manifest.json」似乎是完全一樣的。但是modules中的「type」決定了它是那種類型的包,行為包對應「data」,材質包對應「resources」。不過與此同時,你需要讓header和modules的UUID不同,同樣的材質包的所有UUID也不能和行為包重合。如果真的出現相同的情況,則會導致只能導入其中一個包。即使該資源包僅有manifest.json也是可以成功導入的,因此導入的成功與否並不代表資源包的內容是否正確。若manifest出現錯誤,則會出現<該資源包無法解析>的字樣,因此若沒有可用的代碼驗證工具,可上sojson.com將代碼複製進網址後進行在線格式驗證
製作一個圖標[編輯 | 編輯原始碼]
為行為包製作圖標的過程其實是和為資源包製作圖標一樣的, 可以在創建資源包中查看細節。當然,資源包和行為包圖標一樣也是可以的。
測試自己的行為包[編輯 | 編輯原始碼]
現在可以嘗試運行了!創建一個新的世界,在創建世界頁面的左邊可以看到行為包選項,點進去之後找到你導入的行為包並選中。如果有彈窗就點確定,行為包會導致這個世界不再能夠獲得成就:
請記住,每當您更改行為包時,您都需要創建一個新世界,因為遊戲會在創建世界時製作行為包的副本。同樣,如果您修改世界資料夾中包含的加載項,則可以避免這種情況。請記住,如果你這樣做,你需要手動將它複製回com.mojang / behavior_packs資料夾,如果你想將這個包應用到其他世界。
設定JSON文件結構[編輯 | 編輯原始碼]
現在我們的這個包所需的東西已經準備好了,讓我們把這些json文件放進一個資料夾里。
- 在這個名為"tutorial_behavior_pack"的資料夾里,新建一個名為「entities」的資料夾。
我們將要把所有改變實體行為的json文件放在entities資料夾內。我們開始吧。首先,把pig.json從\Vanilla_Behavior_Pack\entities\pig.json
複製出來,然後,把它粘貼到entities資料夾裏面。現在pig.json已經複製完了。把它用你選擇的文本編輯器打開。
實體JSON概述[編輯 | 編輯原始碼]
在我們修改JSON代碼前,讓我們首先簡要地看看我們的實體.json怎麼建立。
Minecraft實體JSON有4個部分:
minecraft:entity[編輯 | 編輯原始碼]
這是每個生物的主要對象,接下來所有行為behavior和事件event都是這個對象中包含的值。
- entity.json偽代碼
{
"minecraft:entity": {pig} scale 11.111
"format_version": 0.1,
"component_groups": { component groups go here },
"components": { components go here },
"events": { events go here }
}
}
- 注意
在Minecraft中,這不是有效的json!這只是一個如何編寫一個可用實體json的示例。如果你查看一下現有的pig.json你將會注意到「component groups go here(在這填寫組件)」這一部分事實上已經寫入了真正的組件。
- 注意2
format_version是用來告訴Minecraft該讀取哪個版本的JSON。當我們升級JSON文件並添加新組件時,應當告訴遊戲它需要尋找對應版本。這是通過修改format_version後的版本號來完成的。
所以,請你儘可能不改變這個數字,因為當Minecraft的預設JSON更新時,你也需要更新你的JSON來適應新的變化。一旦你改變了你的JSON,你就需要改變這個版本號。你應該把官方已更新的JSON複製過來,做好你自己的修改後再覆蓋回去。
(囉嗦一堆就是告訴你別用自己的版本號,去用官方的。)
組件組(Component groups)[編輯 | 編輯原始碼]
用於定義一組行為,用於簡單地去除或增加多個行為,對於改變生物狀態十分有用(例如幼年豬與成年豬行為的轉換)。
在pig.json中含有pig_baby、pig_adult兩個複合標籤組。可以看到,只有當某個組件組當前被加入這個實體中時,這個組件組才會運行。因此,當這隻豬是幼年豬時,pig_baby這個組件組將會被加入並運行,而pig_adult則不會。
組件(Components)[編輯 | 編輯原始碼]
用於定義該種生物的共有行為。
可以看到「minecraft:identifier」和「minecraft:type_family」存在於這一部分,因為我們希望每一種豬都有這些行為。
事件(Events)[編輯 | 編輯原始碼]
事件用於加入或移除複合標籤組。事件被我們加入的組件或者Minecraft本身的代碼所觸發。
事件可以使用randomize函數在不同結果之間進行選擇(請參閱pig.json中的「minecraft:entity_spawned」)。 請注意,randomize的權重可以增加到100以上。這是因為它們不是百分比! 如果你把成年豬的比重設定為23,然後將小豬的比重設定為100,那麼你將有23/123的機會獲得成年豬和100/123的機會獲得一頭小豬。
「note:」的組件[編輯 | 編輯原始碼]
minecraft:identifier[編輯 | 編輯原始碼]
這個語句對每一個實體來說都是必要的。它告訴遊戲你的JSON對哪些實體有效。
請注意:標識符(identifier)必須被正確命名!如果亂輸你可能會遇到一些不可描述的事情或是實體大罷工。不知道/不確定如何命名?請參考原版行為包中關於那個實體的JSON文件。(在/Vanilla_Behavior_Pack/entities/)
minecraft:type_family[編輯 | 編輯原始碼]
它為實體設定族類型。族類型利用多種多樣的要素,選擇特定的實體。具體例子請參考「minecraft:rideable」和「minecraft:breedable」。
minecraft:entity_spawned[編輯 | 編輯原始碼]
當你規定的的實體生成時,這個語句會被觸發。 在pig.json中有一個隨機化函數,可以隨機地生成大豬或小豬。你可以閱讀它來加深理解。
正式開始吧![編輯 | 編輯原始碼]
添加組件[編輯 | 編輯原始碼]
現在我們已經明白了一個實體是如何被設定的;是時候魔改一下關於豬的代碼了!
找到creeper.json和pig.json文件(在Vanilla_Behavior_Pack/entities/)然後分別打開它們。你眼前應該有兩個分離的窗口(這樣便於來回切換)。
首先,讓豬找到一個受害者。你可以往pig.json的組件對象中寫入"minecraft:nearest_attackable_target"和"minecraft:target_nearby_sensor"來達到這一目的。
然後,豬要找目標。在組件對象中找到"minecraft:behavior.random_look_around"。它應該剛好在"events"小節之前。
最後,爆炸吧!從creeper.json中複製」target_nearby_sensor」和 「nearest_attackable_target」組件,粘貼到pig.json的」random_look_around」組件之後。(下邊有詳細代碼,自己看)
pig.json 片段:
...
"minecraft:behavior.random_look_around": {
"priority": 9
},
"minecraft:behavior.nearest_attackable_target": {
"priority": 1,
"entity_types": [
{
"filters": { "other_with_families": "player" },
"max_dist": 16
}
],
"must_see": true
},
"minecraft:target_nearby_sensor": {
"inside_range": 3.0,
"outside_range": 7.0,
"on_inside_range": {
"event": "minecraft:start_exploding",
"target": "self"
},
"on_outside_range": {
"event": "minecraft:stop_exploding",
"target": "self"
}
}
...
注意下最後的括弧後沒加逗號,這是因為 "minecraft:target_nearby_sensor"是最後一個組件(話說完了,不用逗號)。
minecraft:nearest_attackable_target[編輯 | 編輯原始碼]
這個組件讓實體在你定義的限制下攻擊最近的目標。下面是一些設定的說明。
- Priority – 優先級,設定這個組件的重要程度。優先級數越高,組件就越可能優先運行(比如兩個組件衝突時)。
- Entity_types – 選擇你定義的實體,把它/它們設定為目標。(上邊提到過)
- Max_dist – 最大距離。目標在這個範圍內才能被追蹤和攻擊。
- Must_see – 必須被看見。目標必須在玩家的視野範圍內,才會被你設定的實體攻擊。
在上面的代碼中,我們選定了玩家作為目標。當玩家走進以豬為中心16塊為半徑的區域時,就會遭到追擊。
minecraft:target_nearby_sensor[編輯 | 編輯原始碼]
目標靠近傳感器。在你設定的範圍內如果有目標,這個組件就會被觸發。
- Inside_range – 設定「內部範圍」的距離
- Outside_range – 設定「外部範圍」的距離
- On_inside_range – 當目標進入「內部範圍」,觸發這個函數內的語句。
- On_outside_range – 當目標脫離「外部範圍」,觸發該函數內的語句。
上面的代碼中,我們想要利用on_inside_range和on_outside_range觸發"minecraft:start_exploding"(開始爆炸)和"minecraft:stop_exploding"(停止爆炸)。當然現在啥也不會發生,因為我們還沒添加這兩個事件呢!(下面就要講怎麼添加事件)
添加事件[編輯 | 編輯原始碼]
在pig.json中滾動到「events」對象底部並在"minecraft:on_unleash"的右花括號後添加一個逗號。我們將添加新的開始/停止爆炸事件。
從creeper.json複製"minecraft:start_exploding"和"minecraft:stop_exploding"事件,粘貼到pig.json。pig.json看起來應該像這樣(新的文本以綠色高亮)。
pig.json 片段:
...
"minecraft:on_unleash": {
"remove": {
"component_groups": [
"minecraft:pig_leashed"
]
}
},
"minecraft:start_exploding": {
"remove": {
"component_groups":[
"minecraft:hunting"
]
},
"add": {
"component_groups": [
"minecraft:exploding"
]
}
},
"minecraft:stop_exploding": {
"remove": {
"component_groups": [
"minecraft:exploding"
]
},
"add": {
"component_groups": [
"minecraft:hunting"
]
}
}
... 現在我們帶來了苦力怕的事件,但它需要一些清理。我們的豬不需要一個狩獵組件組。因此我們可以從start_exploding移除「remove」部分,從stop_exploding移除「add」部分。現在我們的代碼看起來像這樣:
pig.json 片段:
...
"minecraft:on_unleash": { "remove": { "component_groups": [ "minecraft:pig_leashed" ] } }, "minecraft:start_exploding": { "add": { "component_groups": [ "minecraft:exploding" ] } }, "minecraft:stop_exploding": { "remove": { "component_groups": [ "minecraft:exploding" ] } }
...
注意兩個事件都在添加和移除一個組件組叫做「minecraft:exploding」。我們的pig.json還沒有這個組件組呢!
添加組件組[編輯 | 編輯原始碼]
向上滾動到pig.json的頂部到「component_groups」部分。找到最後一個組件組,該組應該是pig_leashed,並在其右大括號中添加逗號。現在輸入以下內容,或者從creeper.json複製「minecraft:exploding」組件組。Pig.json現在應該如下所示(綠色新代碼):
pig.json 片段
...
"minecraft:pig_leashed": {
"minecraft:behavior.move_towards_restriction": {
"priority": 2,
"speed_multiplier": 1.0
}
},
"minecraft:exploding": {
"minecraft:explode": {
"fuseLength": 1.5,
"fuseLit": true,
"power": 3,
"causesFire": false
}
}
},
"components": {
"minecraft:damage_sensor": {
...
minecraft:explode[編輯 | 編輯原始碼]
fuseLength – 這個實體在引信點燃時爆炸所需的時間(以秒為單位)
fuseLit – 添加此組件時引信是否自動點燃
power – 這決定了所造成的傷害,以及爆炸半徑的大小
causesFire – 這決定了爆炸是否會導致附近的方塊着火
讓我們在這個群組中添加一個「scale」組件,這樣我們的豬在它爆炸之前就會變大!在「explode」組件的結束大括號中添加一個逗號,並輸入以下內容(綠色的新文本):
pig.json 片段
...
"minecraft:exploding": {
"minecraft:explode": {
"fuseLength": 1.5,
"fuseLit": true,
"power": 3,
"causesFire": false
},
"minecraft:scale": {
"value": 2
}
}
},
"components": {
"minecraft:damage_sensor": {
...
minecraft:scale[編輯 | 編輯原始碼]
Value – 實體正常規模的倍率。值為2將使比例加倍,值為.5將使比例減半等。
測試我們的行為包[編輯 | 編輯原始碼]
- 啟動遊戲
- 創建新世界
- 設定世界為創造模式
- 打開作弊
- 單擊行為包
- 在右側列表中找到「Tutorial Behavior Pack」並單擊它
- 單擊創建世界
- 從創造模式的背包中拿出豬的生怪蛋,並生成一隻豬(或者輸入
/summon pig
) - 跑離20方塊左右
- 使用指令將模式切換為生存模式:
/gamemode s
- 沖向那隻豬
- 如果豬像苦力怕一樣爆炸,那麼,恭喜你,你成功製作了一個行為包!
恭喜![編輯 | 編輯原始碼]
您只是簡單接觸到了行為包的可能性!!如果您希望能夠做的不僅僅是爆炸,請查看實體組件參考指南以查看可以添加到實體的其他行為和組件!您還可以隨時查看如何為示例設定Vanilla的行為包,如果您的遊戲版本為1.8以上,您還可以嘗試自定義實體,1.12以上可嘗試自定義物品和合成表以及生態域(高級)。
注意實體特有的不可更改行為[編輯 | 編輯原始碼]
目前為止,並不是實體的所有行為均可更改,在最新基岩版內,大部分實體行為已經可以進行更改了,但仍有部分行為並未放置在實體行為文件中,例如女巫扔藥水的特性就沒有寫在其行為文件里。而這些特有行為往往都是為某些生物量身定做的,例如界伏蚌的半方塊狀態以及瞬移,終界使者的躲避弓箭和水,凋零怪的召喚時蓄力以及半血召喚凋零骷髏,發射藍色凋零骷髏頭,和死後爆炸等,以及岩漿立方怪和史萊姆的死後分裂,甚至還有終界使者,烈焰使者等生物行走的粒子效果。這些行為均未記錄在行為文件中。以前的時候可能無可奈何,但是基岩版1.8更新以後,我們可以通過"runtime_identifier": "minecraft:实体ID"
代碼【在1.10版本更新後,越來越多的原版特性被加入到行為包當中,包括瞬移,分裂等】(來源:MINECON Earth 2018官方展示行為包中的鴨子行為代碼),來獲取某個實體的特有行為,下面給出一個例子:
{
"format_version": "1.8.0",
"minecraft:entity" {
"description": {
"identifier": "dfsteve:ditto",
"runtime_identifier": "minecraft:rabbit",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false
},
...
},
...
}
其中我把一個自定義實體的運行標識符設定為"rabbit",則該自定義實體便擁有了兔子的一些特性,其中甚至包括彩蛋。此外還有其他實例,例如:
自定義實體史蒂夫繼承了原版生物特性,用Grumm命名使其倒立了,即便如此,你仍不能改變一個實體原來的特性,僅能為其增加新的特性。
當然,對於我們行為包作者來說,我們希望未來這些特性會逐步加入到行為文件中供我們開發,這將對我們的開發起着重要作用,例如界伏蚌的半方塊特性以及凋零怪的血條,用途很廣泛。總之,希望官方把行為包功能做得越來越完善。
挑戰[編輯 | 編輯原始碼]
既然你已經有了一些基礎的經驗,你可以挑戰一下下列任務:
- 使殭屍可以被玩家騎乘;
- 再嘗試讓玩家能夠用某種東西控制殭屍的方向。(提示:可以參照豬的item_controllable以及controlled_by_player組件)
- 使村民在持有弓時轉變為骷髏。(提示:可以參照狼的tameable組件和村民的transformation組件。)
- 改變太陽和月亮的材質(和材質包類似)
- 用桶對着苦力怕獲得岩漿桶
- 使牛可以發射地獄幽靈的烈焰彈。
排查故障[編輯 | 編輯原始碼]
如果您的JSON更改似乎在遊戲中不起作用,請檢查以下內容:
- 確保您已正確輸入所有內容。拼寫錯誤和標點丟失會導致不必要的行為!
- 確保.json文件位於正確的資料夾中並正確命名!
- 您應該有一個名為entities的資料夾,其中包含所有.json文件
- 確保您的實體具有正確的標識符
- 如果您不確定它應該是什麼,請檢查Vanilla Minecraft行為包中的.json文件
- Vanilla的.json文件可以在/Vanilla_Behavior_Pack/entities中找到
- 如果您的實體行為很奇怪,無AI,甚至懸浮,敲擊或者其他行為後實體會垂直升天或者下墜,並穿過方塊,這可能是代碼格式正確但與該實體衝突的結果,嘗試刪除多餘不合理行為
進階:自定義實體[編輯 | 編輯原始碼]
此板塊為製作行為包的進階功能,僅適合1.8以上的基岩版本。此板塊暫時僅做簡單概述,隨時歡迎補充。
- 自定義實體的行為文件格式與一般的行為文件格式幾乎一樣,但生物ID以及所屬行為包需要改動,自定義實體的行為代碼的標準開頭為:
{
"format_version": "1.8.0",
"minecraft:entity" {
"description": {
"identifier": "dfsteve:ditto",
"runtime_identifier": "minecraft:rabbit",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false
},
...
},
...
}
其中,"dfsteve:ditto"的意思是這個實體的ID為ditto,屬於dfsteve行為包,將其改動後自定義實體就成功了(1.8版本需打開實驗性玩法)。
- 自定義實體如果想要自然生成,需
"is_summonable": true
,其生成文件儲存於spawn_rules資料夾內,具體儲存格式可以在原版行為包中查看。 - 動畫文件很重要,其隸屬於材質資源包,動畫文件主要包含以下幾個部分:
- animation_controllers
- animations
- entity
- render_controllers
具體製作方法由於是新興技術,歡迎大家補充不足,具體製作可以在遊戲內最新原版資源包中查看,(僅針對1.10以上)。
- 總結:自定義實體需要有自定義行為以及自定義動畫和模型,貼圖,音效等,行為包擁有了自定義實體功能後,正在逐漸向着mod的方向過渡。
進階:自定義物品與合成表[編輯 | 編輯原始碼]
基岩版支持了自定義物品(1.10),方塊(1.10)和合成表(1.12),具體方法做以下概述。[編輯 | 編輯原始碼]
- 自定義物品的大致格式,你需要創建一個items資料夾放入行為包內,接着像這樣格式,自定義你的物品。
{
"format_version": "1.10",
"minecraft:item": {
"description": {
"identifier": "morecreeper:golden_money"
}
}
}
你可以為物品添加諸如食物屬性等一系列特性。
- 添加的物品還需要添加材質文件才能顯示,可在遊戲中使用/give指令獲取自定義物品。
- 自定義合成表前,你需要創建一個名為recipes的資料夾,放入行為文件里,接着需要創建類似這樣的文件。命名為XXXX.json,其內部大概為
{
"format_version": "1.12",
"minecraft:recipe_shaped": {
"description": {
"identifier": "minecraft:acacia_boat"
},
"tags": [ "crafting_table" ],
"pattern": [
"#P#",
"###"
],
"key": {
"P": {
"item": "minecraft:wooden_shovel"
},
"#": {
"item": "minecraft:planks",
"data": 4
}
},
"result": {
"item": "minecraft:boat",
"data": 4
}
}
}
這是船的合成配方,其中P指代的是木鏟,#指代的是木材,tags指代的是合成的場所。 本頁面暫做概述,歡迎補充。
傳播和分享[編輯 | 編輯原始碼]
現在你已經創建了一個行為包。想與朋友分享?照着下面做。
- 定位你的行為包文件
- Windows系統:(C:\Users\帳戶名稱\AppData\Local\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\behavior_packs\tutorial_behavior_pack)
- Android系統:(/storage/emulated/0/games/com.mojang/behavior_packs/)
- iOS系統:下載一個可以壓縮文檔的軟件,如「解壓專家」,在上面可以新建,導入各種文件。首先打開safari,從wiki上點擊下載vanilla行為包,等待上面白條走完後,屏幕上出現下載好的文件,然後點擊「用其他應用打開」並保存到「我的iPhone/解壓專家/myfolders」,然後打開解壓專家,可以看到原始行為包了。魔改完後,按照格式壓縮成zip文檔並把後綴名改成.mcpack,在軟件里長按該文件,在彈出框中選擇"分享",然後選「在minecraft中打開」就可以測試了,也可以用QQ打開,分享給聯繫人。
- 選擇已有的文件和資料夾
- 右擊,選擇「發送到」->zip壓縮文檔
- 把生成的文件重命名為tutorial_behavior_pack.mcpack
- 確定文件擴展名為.mcpack
- 可能會彈出窗口問你是否確定修改擴展名,選「是」
你現在可以給你的朋友.mcpack文件了! 當他們打開它時,Minecraft會在它還沒有運行時啟動,然後它將導入你的資源包供他們使用!
- 注意
您可以通過刪除resource_packs資料夾中的副本(首先進行備份!),然後打開mcpack導入它來測試是否可行。 如果它不起作用,請確保在製作.mcpack zip壓縮文檔時選擇了resource_pack的內容而不是資料夾本身。
- 注意2
如果您的行為包引用資源包,則mcpack也不會自動包含該資源包,即使您已將行為pack_manifest賦予該包的依賴性。如果您具有資源包依賴關係,也為資源包創建.mcpack,或創建一個世界並添加要導出的行為和資源包,然後導出該世界。導入該世界時,該世界的保存資料夾將包含該世界的behavior_packs和resource_packs的資料夾。您可以將這些包複製到本地資料夾,以便能夠在行為和資源包菜單中看到它們並將它們添加到其他世界。
新手教程 |
| ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
常規 |
| ||||||||||||
存儲方案 | |||||||||||||
農業 |
| ||||||||||||
附魔與熔煉 | |||||||||||||
破壞方塊 | |||||||||||||
紅石 |
| ||||||||||||
伺服器 |
| ||||||||||||
原創 | |||||||||||||
技術性 |
| ||||||||||||
過時教程 |