Add-On 組件群組(component_groups)的概念

Add-On所有的東西都是資料驅動(data-driven),也就是說幾乎每個生物的行為、事件,Mojang都把它寫成json,並且當做一種可以任意使用的零件,可以改裝在其他生物身上。例如村民會有種田的行為,於是這個組件也可以移植到自己做的生物的身上。

影片解說:


因此,在行為包裡面,「組件」就是實體檔案重要的部分。而Mojang另外加入了「組件群組」這個東西。聽起來很繞口?實際上用途是什麼呢?請看以下二個例子:
1. 馬生成時是怎麼決定顏色的?
2. 苦力怕為什麼打火機點了就會爆炸?
首先要知道,實體檔案裡面有component,component_groups,還有events這三類。 在components區塊裡寫的東西遊戲一進入就會載入,而在component_groups裡的通常要透過「事件」也就是events裡來處理,當符合條件時才把組件組裡的組件加到生物身上。
第1個例子,Mojang的寫法是:當馬生成時會在events裡觸發事件,系統會開始抽選。決定馬是什麼顏色的都各用一個組件組表示,例如make_white這個事件,如果抽到了這個,就把組件組裡"base_white"這個組件加到馬身上,白馬就這樣出來了(註:馬的顏色其實算是變種(variant),因此加入白色這個組件組時會順便把它的variant標記成0,然後再交由render_controller決定顯示的skin)


第2個例子,苦力怕在互動時用打火機會觸發事件,於是就會將minecraft:start_exploding_forced這個組件組裡的加進去,強迫苦力怕爆炸。


組件組若是運用的好,可以做到交互的進階效果。

留言

此網誌的熱門文章

Minecraft基岩版多人連線教學: 方法一覽

【詳細解說】什麼是Minecraft基岩版,跟Java版有什麼差?

Minecraft基岩版安裝模組(Add-On)&資源包&光影教學