跳至主要内容

Custom Models

自 EliteMobs 7.3.12 版本起,Custom Models 已透過 Model EngineFreeMineCraftModels 加入 EliteMobs。

前言

從 EliteMobs 的角度來看,Custom Model 系統非常簡單,因為管理員唯一需要做的就是在 NPC 或 Custom Boss 配置檔案中加入一行,告訴它要使用哪個 Custom Model。然而,為了讓此系統完全正常運作,必須在 Model Engine 和 Minecraft 中採取正確的步驟,而這些步驟並不是那麼容易上手。

本指南將詳細介紹如何與 Model Engine 和 Minecraft 進行互動。它不會告訴您如何使用 Blockbench 來建立自訂首領,也不會詳細說明 Model Engine 的運作方式。關於這方面已經有很多指南,如果您想了解更多關於這些系統的資訊,最好直接查看它們的官方文件。

FreeMineCraft Models

如果您想了解如何使用 FMM 讓您的模型正常運作,可以查看[此](../Free Minecraft Models/info.md)維基頁面以了解更多資訊。

最低需求

EliteMobs 7.3.12 或更高版本、Model Engine R2.2.0* 或更高版本、Blockbench**,以及使用 Minecraft Resource Packs。

* 此插件可能有其他相依性。請查看他們的官方文件。 ** 建立和編輯 Custom Models 時需要。如果您只是想安裝內容而不進行修改,則不需要。

手動設定 Custom Model

注意:本指南假設您已經有一個有效的 Custom Model。這些檔案採用 Blockbench 檔案格式(.bbmodel)。

EliteMobs 能夠為 NPC 和 Custom Bosses 使用 Custom Models。兩者的操作過程相同,如下所示:

步驟 1. 設定 EliteMobs 配置

前往您想要修改的 Custom Boss 或 NPC 的配置檔案,並加入以下這一行:

customModel: modelname

modelname 替換為您的模型名稱。該名稱是您正在使用的 Custom Model 檔案的名稱。例如,Test Boss 的 Custom Model 檔案是 showcase_boss.bbmodel。因此,配置選項應該是

customModel: showcase_boss

這樣 EliteMobs 的部分就完成了!現在會變得稍微複雜一些。

步驟 2. 生成 Model Engine 資料

注意:如有疑問或問題,請參考此處的 Model Engine 維基。

  1. 將您的 Custom Model Blockbench 檔案(.bbmodel)放入 (yourServer)/plugins/ModelEngine/blueprints 目錄。
  2. 執行指令 /meg reload。如果一切順利,您應該會看到一則訊息顯示 [Model Engine] X models loaded,其中 x 是您已註冊的模型數量。

步驟 3. 生成 Resource Pack

注意:現在有一個更簡單的替代方法來完成此步驟,請參考此連結。 然而,它比這裡列出的方法稍微缺乏靈活性。

如果您想讓伺服器管理下載,這可能是最棘手的部分。在研究如何自動分發之前,請先檢查當您的客戶端擁有 resource pack 時系統是否正常運作!

  1. 前往 (yourServer)/plugins/ModelEngine/resource pack 目錄,使用該資料建立一個 resource pack,或將其中的 assets 資料夾加入您的 resource pack 的 assets
    1. 如果您正在建立一個新的 resource pack,可以將 resource pack 中的檔案放入一個壓縮檔,這將是一個有效的 resource pack,您可以進行分發。更多資訊
    2. 如果您已經有一個 resource pack,請確保您不會意外覆蓋現有的模型。更多資訊
  2. 將您的 resource pack 分發給您的玩家。只有擁有 resource pack 的玩家才能看到 Custom Models,對其他人來說會看起來非常奇怪和破損。如果您打算大量使用這些功能,您可能需要強制使用 resource pack。
    1. (可選)要允許玩家在登入時下載 resource pack,您需要將檔案託管在線上某處,並更改 server.properties 中的 resource-pack= 欄位以指向該位址。*
    2. (可選)如果您正在修改 resource packs,您會想要使用 resource-pack-sha1= 選項,以便伺服器可以檢查玩家的 resource pack 是否需要更新。要生成此值,請將您的 resource pack 上傳至 http://onlinemd5.com/ 並確保選擇 SHA1 選項。每次更新 Resource Pack 時都必須執行此操作,否則您的使用者將無法獲得更新。*
    3. (可選)要強制玩家使用 resource packs,請在 server.properties 中使用選項 require-resource-pack=true*

如果您修改了 server.properties,您需要重新啟動!

* 注意:如果這些說明對您沒有幫助,線上有很多指南可以協助您完成此操作。

合併 resource packs

如果您需要合併您的 resource packs,可以手動執行。但我們建議使用線上工具,例如 merge.elmakers 來合併您的 resource packs。

步驟 4. 希望它能運作

假設一切都正確完成,您現在應該能夠在您的首領或 NPC 上看到 Custom Model。您可以透過以下指令生成它們:

  • Custom Boss:/em spawncustom filename.yml
  • NPC:/em spawnnpc filename.yml

然後您可以透過指令 /em remove 移除它們。

為 EliteMobs 建立和調整 Custom Models

EliteMobs 能夠使用任何被 Model Engine 視為有效的模型,這意味著幾乎沒有什麼是做不到的。

然而,當涉及到動畫時,需要使用特定的動畫名稱才能確保首領可以使用動畫。

這些動畫名稱是在 Blockbench 的動畫標籤中設定的。您可以隨時重新命名它們,這意味著您可以將任何現有模型改裝以與 EliteMobs 一起使用。

Animations

請注意,此部分仍在擴充中,因為此系統仍然非常新。隨著功能請求的增加,將會加入更多內容。

idle

idle 是未在戰鬥中且未移動的實體的正確動畫名稱。EliteMobs 不會修改 Model Engine 使用的預設 idle 動畫系統。

walk

walk 是正在移動的實體的正確動畫名稱。EliteMobs 不會修改 Model Engine 使用的預設 idle 動畫系統。

attack

攻擊動畫有三種類型:

attack

attack 是首領攻擊時的正確通用動畫名稱。

attack_melee

attack_melee 是當 Custom Boss 使用原版 Minecraft 近戰攻擊攻擊實體時進行的攻擊的正確動畫名稱。覆蓋 attack。請注意,動畫在傷害造成之後播放。這目前是一個限制。因此,請嘗試讓動畫非常快速。

attack_ranged

attack_ranged 是當 Custom Boss 生成投射物實體時進行的攻擊的正確動畫名稱。覆蓋 attack。請注意,動畫在投射物發射之後播放。這目前是一個限制。因此,請嘗試讓動畫非常快速。

damaged

damaged 是 Custom Boss 受到傷害時播放的受傷動畫的正確動畫名稱。

death

death 是死亡動畫的正確動畫名稱。EliteMobs 不會修改 Model Engine 使用的預設 idle 動畫系統。

powers

注意:此部分仍在開發中。以下是計劃中的功能。

EliteMobs 中的每個能力都可以分配一個動畫。動畫總是在能力被觸發時開始,並且在使用能力的過程中目前不提供進一步的觸發器。某些能力,例如無敵,不會執行任何操作,因為它們沒有觸發器,只是首領的被動屬性。

為了將動畫分配給能力,動畫必須與 elitemobs 能力檔案同名。

例如,要為殭屍死靈之書能力加入動畫,動畫應該命名為 zombie_necronomicon.yml。它將在能力被觸發後立即開始播放,並在動畫結束時結束(如果未設定為循環)或在能力完成時結束。

從地城匯入 Custom Models

步驟 1. 正常匯入

匯入包含 Custom Models 的地城打包器壓縮資料夾後,Custom Models 會自動移動到 (yourServer)/plugins/ModelEngine/blueprints,並且 Model Engine 會自動重新載入以生成相關的 resource pack 和 Model Engine 檔案。

步驟 2. 生成 Resource Pack

如果您在重新載入 EliteMobs 以匯入檔案時處於線上狀態,EliteMobs 將自動在聊天中發布一則訊息,您可以點擊該訊息以生成 EliteMobs resource pack。或者,您可以執行指令 /em generateresourcepack 來生成它。

執行此指令會以非破壞性方式將所有 resource pack 檔案複製到 EliteMobs 的 exports 資料夾。這意味著如果您使用 resource pack 名稱 elitemobs_resource_pack 將 resource pack 解壓縮到 exports 資料夾中,EliteMobs 不會刪除其中的任何檔案,除非從 ModelEngine 獲得同名的檔案(pack.meta 和 pack.png 除外)。這樣您就可以更新您的 resource pack,而不會丟失您先前放入其中的模型。

最後,EliteMobs 會在 exports 資料夾中壓縮 resource pack,此檔案即可進行分發

完成此操作後,EliteMobs 還會建議更新您的 resource pack 的 SHA1 代碼。

步驟 2.5. 更新 SHA1

server.properties 檔案中的 SHA1 代碼用於讓客戶端知道他們的 resource pack 是否過期,並在必要時讓他們更新。此代碼可以透過 EliteMobs 生成,方法是點擊步驟 2 後在聊天中出現的選項,或執行指令 /em updateresourcepack

請記住,這會使用 exports 資料夾中壓縮的 resource pack 的正確 SHA1 代碼更新您的 server.properties 檔案。 如果您在執行指令後刪除或修改壓縮檔,它將無法運作。

步驟 3. 將檔案公開提供

在您選擇的位置託管檔案。有些人為此使用 Google Drive 或 Dropbox。如果您有能力,最好自己託管此檔案。那裡的一些插件也可能幫助您直接從 Minecraft 伺服器託管它。如果您找到一個有效的插件,請在 Discord 上告訴 MagmaGuy,此文章將會更新該資訊。