跳至主要內容

FreeMinecraftModels 常見問題

如果這裡沒有你的問題,請查看側邊欄,看看是否已有專頁說明。

入門

如何安裝和使用 FreeMinecraftModels?​

資訊

安裝:

  1. 下載 FreeMinecraftModels.jar,放入 plugins 資料夾。
  2. 重新啟動伺服器,產生外掛資料夾。
  3. 執行 /fmm setup,開啟首次設定與內容管理選單。
  4. 使用官方內容包時,以 /nightbreaklogin <token> 連結 Nightbreak。
  5. 使用 /fmm setup 或 /fmm downloadall 管理官方 Nightbreak 內容。
  6. 單獨匯入模型時,將副檔名為小寫 .bbmodel 的檔案直接放在 ~/plugins/FreeMinecraftModels/imports/,再執行 /fmm reload。有配套檔案的模型須放在啟用的模型資料夾,或透過封裝匯入;參閱模型製作說明。
  7. 產生的資源包位於 ~/plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip。

分發資源包:

  • 選項 A(建議):安裝 Resource Pack Manager 自動分發。
  • 選項 B:透過 server.properties 或託管服務手動設定。

生成模型:

  • /fmm spawn static <id>:生成暫時的裝飾模型。
  • /fmm spawn dynamic <id>:生成附著於實體的模型。
  • /fmm spawn prop <id>:生成持久儲存的世界模型。

管理:

  • /fmm:開啟可合成物品選單,需要 freeminecraftmodels.menu。
  • /fmm setup:內容管理與首次設定選單。
  • /fmm recommendedplugins:瀏覽配套外掛。
  • /fmm downloadall:先下載最新外掛更新,再下載可存取但缺少或過期的內容;jar 會在重新啟動或執行 /fmm applypluginupdate 後生效。
  • /fmm downloadallcontent:只下載可存取但缺少或過期的內容,不含外掛 jar。
  • /fmm updatecontent:更新過期的官方內容。
  • /fmm downloadpluginupdate:只下載最新外掛 jar 更新。
  • /fmm applypluginupdate:不重新啟動伺服器即套用已下載的外掛更新。
  • /fmm forcereinstallcontent <package|all>:不論版本,重新下載選取的內容;完全缺少的包可直接指定其 slug。
  • /fmm reload:重新載入外掛並轉換新模型。
  • /fmm version:顯示外掛版本。
  • /fmm stats:顯示實體數量統計。
  • /nightbreaklogin <token> / /nightbreaklogout:MagmaCore 的共用頂層指令,儲存或清除 Nightbreak 帳戶權杖,需要 nightbreak.login。
  • /freeminecraftmodelschangelog [dismiss|disable]:管理員在遊戲中閱讀未讀更新說明,登入時也有可點擊提示。

玩家功能:

  • /fmm disguise <modelID> [player]:以自訂模型偽裝自己或指定玩家。
  • /fmm undisguise [player]:移除偽裝。
  • /fmm disguiselist:列出目前偽裝中的玩家。
  • /fmm itemify <model> <material>:建立能生成指定模型的放置物品。
  • /fmm craftify <modelID>:開啟道具合成配方編輯器。
  • /fmm shop:開啟可選的 Vault 家具商店,須在 shop_config.yml 啟用。
  • /fmm mount <modelID>:生成偽裝成模型的可騎乘馬,屬於實驗性功能。

除錯:

  • /fmm hitbox visualize [duration]:以粒子顯示附近模型碰撞箱一段 tick 數(預設 100,非正數使用 100,上限 1200)。
  • /fmm location:回報已註冊的保護與地城提供者,並在目前位置檢查。
  • /fmm debug bedrock [on|off]:設定詳細 [FMM-BedrockDebug] 記錄的狀態,未指定狀態時則回報目前狀態;/fmm reload 後保留,新啟動伺服器時關閉。
  • /fmm debug props [on|off]:在啟動、實體載入與生成前檢查時診斷重疊道具,或回報其狀態;重新載入後保留狀態,伺服器重新啟動時重設。
  • /fmm packetdebug [ticks]:依指定模型時鐘 tick 數取樣封包負載(預設 1,範圍 1–200,無效輸入使用 1),回報每 tick 數量、各觀看者的分發量、接收量最大的觀看者及封包類型。
  • /fmm filmic [on|off]:為 ReplayMod 錄影暫時將每個已載入的模型傳送給所有已載入其區塊的玩家。不建議在錄影以外的情況使用。請參閱電影模式。

管理員操作:

  • /fmm deleteall [radius]:移除所有已載入的模型實體與道具,沒有確認提示,請謹慎使用。可選半徑僅供玩家使用,將範圍限制在相應方塊距離內。

權限:

  • freeminecraftmodels.*,預設 OP:萬用權限授予 freeminecraftmodels.admin、freeminecraftmodels.deleteall、freeminecraftmodels.disguise.self、freeminecraftmodels.disguise.others 與 freeminecraftmodels.bypassregionprotection。也是 /fmm reload、/fmm stats、/fmm spawn、/fmm itemify、/fmm craftify、/fmm mount、/fmm hitbox visualize、/fmm debug、/fmm packetdebug、/fmm filmic、/fmm location、/fmm setup、/fmm initialize、/fmm recommendedplugins、/fmm downloadall、/fmm downloadallcontent、/fmm updatecontent、/fmm downloadpluginupdate、/fmm applypluginupdate 與 /fmm forcereinstallcontent 要求的字面權限。
  • freeminecraftmodels.admin,預設 OP:用於 /fmm admin 瀏覽器與 /fmm giveitem。
  • freeminecraftmodels.disguise.self,預設 OP:讓玩家偽裝或解除自己的偽裝。
  • 指定玩家的 disguise 與 undisguise 同時需要 freeminecraftmodels.disguise.self 和 freeminecraftmodels.disguise.others;disguiselist 只需 .others。
  • freeminecraftmodels.deleteall,預設 OP:用於 /fmm deleteall,是萬用權限的子權限。
  • freeminecraftmodels.bypassregionprotection,預設 OP:繞過 FMM 的區域保護檢查,不會覆蓋其他外掛的全部事件處理,也不會繞過實際空間檢查。
  • freeminecraftmodels.menu,預設 true:所有玩家可透過 /fmm 開啟可合成物品瀏覽器。
  • freeminecraftmodels.shop,預設 true:所有玩家可開啟已啟用的 /fmm shop。
  • nightbreak.login,預設 OP:由 MagmaCore 註冊,不在 plugin.yml;用於 /nightbreaklogin 和 /nightbreaklogout。

未另行說明的指令預設僅 OP 可用,請依需要授予其他玩家權限。

模型功能與限制

模型大小和旋轉有什麼限制?​

資訊

大小:

  • 依每個骨骼內的全部立方體檢查,而非整個模型。
  • 轉換器將立方體座標乘以 0.4,並將每個骨骼重新置中。警告門檻是縮放後座標的 192,不是已驗證的 192 模型像素或 12 方塊繪製上限。
  • 警告不會拒絕或縮小骨骼。幾何顯示失敗時,請縮小立方體、將它們靠近或拆到多個骨骼,再用目標客戶端檢查生成模型。
  • 整個模型可以跨多個骨骼;沒有大小警告並不證明產生的資源包幾何有效。

立方體旋轉:

  • Minecraft 1.21.6 及之後: 拆成基本變換(0°、±90°、±180°,烘焙進幾何)後,轉換器接受 ±45° 內的任意餘角。製作時維持一般的 −180° 至 180° 範圍並檢查結果;接受角度分解不等於驗證顯示。
  • Minecraft 1.21.4 / 1.21.5: 餘角須為原生支援的 −45°、−22.5°、0°、22.5°、45°,因此可用角度為 0°、±22.5°、±45°、±67.5°、±90°、±112.5°、±135°、±157.5°、±180°,即 22.5° 的各倍數。
  • 所有版本都只支援單軸立方體旋轉。迴圈由 Z 掃至 X 並覆寫選擇,所以 X/Y/Z 順序中第一個非零軸生效。
  • [22.5, 0, 45] 保留 X 旋轉,失去 Z 旋轉。
  • 無法分解的角度記錄為 Could not decompose rotation angle ... for model name <model>,並照原值套用,通常顯示不正確。

骨骼旋轉: 支援任意角度與多軸旋轉。可見骨骼增加每位觀看者的顯示與封包處理,結構及中繼資料骨骼不一定會顯示。

盡量減少可見骨骼數和觀看者數。Java 透過封包實體顯示可見骨骼,Bedrock 後端使用不同表示。骨骼數不等於一般 Bukkit 實體數。

支援哪些動畫?​

資訊

FMM 將五個名稱綁定至自動執行狀態:

  • spawn:模型建立時播放一次,接著進入 idle。
  • idle:循環播放,直到底層實體的 X 或 Z 速度非零。
  • walk:水平移動時循環,接地且 X、Z 速度皆為零時回到 idle。
  • attack:播放一次後回到 idle。
  • death:透過 removeWithDeathAnimation() 移除時播放一次。

其他名稱都是自訂動畫,不會自行觸發,但可從 API 或 Lua 依名稱播放。

關於 jump

AnimationStateType 列舉有 JUMP,walk 狀態也會在實體離地時請求它,但動畫管理器沒有註冊跳躍狀態,所以此自動轉換目前沒有作用。名為 jump 的動畫仍可明確觸發,使用一般自訂動畫路徑。

運作方式:

  • 在 Blockbench 使用上述小寫名稱,FMM 會綁定對應狀態。
  • 匯入時讀取 .bbmodel 關鍵影格,烘焙成每 tick 的影格。
  • 狀態動畫依實體狀態自動觸發。
  • 開發者可使用 ModeledEntity 的 playAnimation(animationName, blend, loop),或 Lua 的 context.prop:play_animation(name, blend, loop)。

玩家偽裝不同: /fmm disguise 在共用播放引擎執行前,依 attack、jump、sneak、walk、idle 的優先順序選擇這五個名稱。sneak 和 jump 在偽裝上有自動觸發,一般模型仍可明確播放。單次動畫暫停所有新選擇 20 ticks。缺少 idle 時會記錄警告,沒有其他動作時可能停在最後一個影格。參閱玩家偽裝。

循環模式、插值、關鍵影格時間與 IK 請參閱動畫。喚魔者也會偵測附近的喚魔者尖牙,自動觸發攻擊動畫。

什麼是虛擬骨骼?​

資訊

虛擬骨骼使用保留名稱,為模型加入功能。

碰撞箱:

  • 名稱須為 hitbox,不區分大小寫。
  • 建立互動區域及碰撞箱。立方體定義寬、深、高;X 和 Z 可以不同,也不會改變偽裝玩家的碰撞箱。
  • 必須在 outliner 的頂層,放在其他群組內時視為一般骨骼。
  • 應只有一個立方體。額外立方體記錄 has more than one value defining a hitbox! Only the first cube will be used;空群組記錄 has a hitbox bone but no hitbox cube!,尺寸保持為零。立方體的位置與旋轉不會偏移碰撞箱。
  • 不播放動畫、不顯示,也不匯出至 Bedrock 幾何。

名牌:

  • 前綴 tag_,用於在模型上方顯示實體名稱。
  • 是可選的自訂錨點;沒有時使用碰撞箱上方的備用位置。參閱為什麼模型沒有名稱?。
  • 不需要立方體,只是文字顯示的位置錨點,通常放在頭部上方。

頭部旋轉: 前綴 h_,自動追蹤玩家或實體的頭部方向。

隱藏及結構骨骼:

  • 前綴 b_。
  • Java 骨骼顯示器隱藏它們;Bedrock 幾何匯出器不會排除 b_ 骨骼。
  • 用於應參與骨架階層、但不產生幾何的結構、組織或中繼資料骨骼。

騎乘點:

  • 前綴 m_,每個骨骼定義由 MountPointManager 管理的座位。
  • 座位跟隨骨骼動畫,多個骨骼提供多個座位。
  • 不匯出至 Bedrock 幾何。
  • 參閱騎乘點骨骼。

在 Blockbench 以這些名稱建立骨骼,外掛便會套用對應功能。

疑難排解

我看到的不是自訂模型,而是馬鎧。​

資訊

這表示預期的自訂外觀未套用。確認 FMM 已產生模型、目前資源包包含它,且客戶端已下載並接受該包。合併衝突只是其中一種可能原因。

MagmaGuy 開發的 Resource Pack Manager 可自動合併資源包,可從 Spigot 這裡下載。

RSPM 可以合併、託管與分發生成的包。按照設定指南檢查啟用的包來源與可連線的託管位址,再重新連線客戶端,確認模型顯示。

加入 .bbmodel 後為什麼看不到模型?​

資訊

1. 忘記重新載入。 放入 .bbmodel 後執行 /fmm reload 並查看主控台。候選內容驗證被拒絕時會保留目前執行環境,因此執行指令本身不代表新內容已套用。

2. 資源包未套用。 玩家須啟用 FMM 包。檢查 ~/plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip,用 RSPM 自動分發,或透過 server.properties 與託管服務手動分發。

3. 檔案位置錯誤。 單獨的 .bbmodel 直接放在 ~/plugins/FreeMinecraftModels/imports/。這條路徑保留來源檔,可在後續重新載入時再次轉換;不匯入單獨的配套 YAML,也不遞迴處理任意資料夾。有配套檔案的模型可放在 models/ 或正確封裝後匯入。官方包使用 /fmm setup 或 /fmm downloadall。

4. 模型有錯誤。 查看重新載入期間的錯誤,如不支援的旋轉、過大尺寸或紋理問題。

5. 合併問題。 客戶端有包卻仍顯示基礎材質時,檢查產生的定義、紋理路徑、合併結果及客戶端包版本。RSPM 可管理合併和分發,但安裝本身不代表成功。

6. ID 衝突。 尋找 [FMM Models] Rejected normalized model ID collision。兩個以上檔案正規化成相同 ID 且內容不同時,全部會被拒絕。參閱ID 衝突。

為什麼模型因 ID 衝突而被拒絕?​

資訊

FMM 將檔名轉為小寫,再把 a-z、0-9、.、_、- 以外的字元換成底線,作為執行期模型 ID 和資源包檔名。

下列檔案都會得到 my_table:

My Table.bbmodel
my table.bbmodel
my_table.bbmodel
MY_TABLE.bbmodel

轉換前會掃描整個模型目錄樹尋找這類衝突。若所有衝突檔案的位元組完全相同(例如兩個內容包附帶同一個模型),FMM 會載入其中一份,並略過其餘檔案而不發出警告。否則會拒絕所有衝突檔案(不只是多出來的那些),避免結果受載入順序左右。主控台輸出:

[FMM Models] Rejected normalized model ID collision '<id>'. These files normalize to the same ID: <paths>. Rename the files so every normalized model ID is unique; no colliding model was loaded.

修正: 依警告列出的絕對路徑重新命名,讓正規化 ID 各不相同,再執行 /fmm reload。

預防: 在整個模型樹使用唯一的小寫底線名稱,例如 stone_table.bbmodel。不同資料夾無法使重複的基本名稱變得唯一,另一個名稱也可能正規化成相同 ID。

被拒絕的模型不會產生 Java 資源,也不會進入 Bedrock 自訂實體套件。

為什麼模型沒有名稱?​

目前執行環境不再要求 tag_ 骨骼才能顯示名稱。有的話使用依字母排序的第一個標籤骨骼,沒有則用碰撞箱上方的位置。

確認所屬外掛設定非空顯示名稱,且沒有隱藏名牌。位置不對時檢查碰撞箱,或在 Blockbench 加入沒有立方體的 tag_name 錨點。多個標籤骨骼不會重複顯示名稱。參閱名牌製作。

ViaVersion 可能導致資源包無法正確顯示。​

資訊

目前 FMM 要求 Minecraft 1.21.4 或更新伺服器。協定轉譯允許新客戶端連線,不會讓舊伺服器變成受支援的 FMM 環境。

排查時,先以與受支援伺服器版本相同的客戶端重現,確認已下載目前的包,且能顯示其物品模型格式,再比較協定轉譯的連線。記錄伺服器、客戶端與協定外掛版本,不要將每個模型缺失都歸因於 ViaVersion。

為什麼模型造成卡頓或效能問題?​

資訊

可見骨骼多會增加變換、封包和客戶端顯示工作,觀看者數量也有影響。

最佳化:

  • 減少骨骼數與同時生成的模型數。
  • 不需要底層生物實體時使用靜態模型;靜態模型也能播放動畫。
  • 避免在同一區域集中許多高骨骼數模型。

Java 使用每骨骼的封包實體,排除隱藏及僅中繼資料的顯示路徑;Bedrock 後端可用自訂實體表示整個模型。50 骨骼模型不一定建立 50 個一般伺服器實體,也不一定向每位客戶端傳送 50 個可見實體。

製作時減少骨骼,依實際生成數量測試效能,新增模型時監控 TPS。

測量: 在受影響區域執行 /fmm packetdebug 20,查看接下來 20 個模型時鐘 tick 的封包數、觀看者分發量、最大接收者與封包類型。這有助於調查流量,不是 CPU 分析,也不代表客戶端已顯示封包內容。

內建最佳化: config.yml 的下列選項預設採用最佳化行為,其他值供除錯使用,不是調校建議。

  • skipUnchangedBoneUpdates,預設 true:略過未改變的變換更新,除非骨骼被明確標示已變更,例如顏色改變。不會消除全部模型處理或觀看者流量。
  • useDeltaMetadataPackets,預設 true:每 tick 的中繼資料封包只含變更的變換,不重新序列化整個物品顯示資料。
  • maxModelsForProximityOverride,預設 25:10 方塊內模型通常略過視線檢查並始終顯示,避免突然出現。世界載入模型達到此數量後,該世界關閉此例外,近處也執行遮蔽剔除。多樓層 NPC 中心中,玩家收到其他樓層模型時可檢查此項。

參閱設定。

進階功能

我需要 Resource Pack Manager 嗎?​

資訊

RSPM 可選,但強烈建議使用。它自動合併多個外掛的資源包、無需外部服務即可託管,並在玩家登入時分發。它減少手動管理,但仍須驗證來源選擇、託管及客戶端接受情況。

沒有 RSPM 時,須手動合併 FMM 與其他包,將結果託管在可連線的下載 URL,再設定 server.properties 或其他傳送器將 URL 交給玩家。server.properties 本身不託管檔案。每次新增模型也要更新包。

RSPM 提供統一的合併、託管與傳送流程。模型缺失時仍應檢查輸出與真實客戶端。

下載 RSPM:https://www.spigotmc.org/resources/resource-pack-manager.118574/

它與 FMM 均由 MagmaGuy 開發。

可以在自己的外掛中使用 FMM 嗎?​

資訊

可以,透過開發者 API 整合。

Maven/Gradle: 儲存庫 https://repo.magmaguy.com/releases。

  • GroupId:com.magmaguy
  • ArtifactId:FreeMinecraftModels
  • Scope:provided;須在伺服器獨立安裝,不要 shade 進自己的外掛。

主要類別為 ModeledEntity(基底)、StaticEntity、DynamicEntity 與 PropEntity。

StaticEntity staticEntity = StaticEntity.create(id, location);
if (staticEntity == null) {
Bukkit.getLogger().warning("Failed to create model");
return;
}
staticEntity.setRightClickCallback(...);
staticEntity.remove();

FMM 必須單獨安裝,不能封裝進你的外掛。詳細資訊見官方 README。

如何將玩家偽裝為自訂模型?​

資訊

/fmm disguise 將玩家外觀改成自訂模型。

/fmm disguise <modelID> [player]
/fmm undisguise [player]
/fmm disguiselist

玩家對其他人隱形,模型疊在玩家位置並跟隨移動,適合角色扮演和活動。

/fmm disguise dragon              # Disguise yourself
/fmm disguise dragon Steve # Disguise another player
/fmm undisguise Steve # Undisguise Steve
/fmm disguiselist # List everyone currently disguised

需求:

  • 自身偽裝需要 freeminecraftmodels.disguise.self,預設 OP。
  • 指定玩家的 disguise 與 undisguise 同時需要 freeminecraftmodels.disguise.self 和 freeminecraftmodels.disguise.others;disguiselist 只需 .others。
  • 主控台必須提供玩家名稱。
  • modelID 須完全符合已載入模型。
  • 其他外掛可使用公開 DisguiseAPI。

行為: 玩家碰撞箱不變,其他玩家看見模型而非造型;再次偽裝會取代原偽裝。相關效果變更後,只有該偽裝最初加入隱形效果時,FMM 才會恢復它;預先存在的效果不會恢復。參閱玩家偽裝。

如何建立可放置的模型物品?​

資訊

/fmm itemify 建立能在世界中放置模型的特殊物品。

/fmm itemify <model> <material>
  • model:模型資料夾中的有效模型 ID。
  • material:Minecraft 材質,如 STICK、PAPER、DIAMOND。
/fmm itemify lamp_post STICK

物品有金色格式化名稱(如「✦ Wolf ✦」)和說明,直接加入物品欄。請預留空間,溢出部分不會掉落。主手右鍵放置道具,須通過 FMM 放置檢查;非創造模式在成功生成後消耗物品。

可用於建築裝飾、家具「生怪蛋」、維持已設定保護檢查的放置物品分發,以及創造建築套裝。

需要 freeminecraftmodels.*,且須由遊戲中的玩家執行,不能用主控台。

如何除錯模型碰撞箱?​

資訊

以下指令以粒子顯示模型碰撞箱:

/fmm hitbox visualize [duration]

duration 為選填參數,預設為 100 ticks。非正數使用 100 ticks,上限 1200;20 ticks 為 1 秒。

/fmm hitbox visualize 100      # Show for 5 seconds
/fmm hitbox visualize 200 # Show for 10 seconds

搜尋 10 方塊內的模型,並以粒子顯示定向邊界框 OBB,方便比較模型與碰撞邊界、檢查尺寸和旋轉。

投射物偵測檢查追蹤位置間的線段,捕捉穿越薄 OBB 的情形;沒有前一位置時改用重疊檢查。最近目標優先處理。一般投射物可命中一個模型目標,貫穿箭可命中 pierce level + 1 個不同模型目標。取消命中會阻止回呼或預設傷害,但仍消耗目標額度。參閱投射物 API。

適合比較視覺與碰撞箱、除錯互動、旋轉和點擊偵測,需要 freeminecraftmodels.*。FMM 碰撞箱會隨模型旋轉,與一般 Minecraft AABB 不同。

可以建立可騎乘的自訂模型嗎?​

資訊

可以,使用實驗性的 /fmm mount:

/fmm mount <modelID>

在目前位置生成馬,偽裝成指定模型,自動馴服並裝鞍。一個 tick 後嘗試讓你騎上:沒有騎乘點時直接騎馬,有騎乘點時透過標記盔甲座。

/fmm mount dragon

需要 freeminecraftmodels.* 和有效模型 ID。

這是實驗性功能,使用馴服的成年馬,移動速度基礎值 0.3、跳躍力量基礎值 0.7,馬的碰撞箱不變。適合為坐騎設計的模型,可用於角色扮演坐騎、VIP 交通工具或冒險地圖的騎乘生物。

什麼是騎乘點骨骼?​

資訊

以特殊命名的骨骼直接定義座位。在 Blockbench 使用區分大小寫的 m_ 前綴,如 m_seat、m_back;每個骨骼建立供玩家使用的座位。

  • 座位跟隨骨骼位置,包括動畫。
  • 多個骨骼建立多個座位。
  • 座位管理器透過 API 或 Lua 接受玩家,選擇第一個空位;使用尺寸為零的暫時 Interaction 實體,乘坐時更新。

檢查: 生成或放置道具並右鍵,或呼叫 Lua context.prop:mount(player)。/fmm mount <modelID> 以馬為底層實體建立實驗性坐騎,採用另一條騎乘路徑。

可用於多座位載具、特定座位位置的生物或肩部寵物。

自訂物品

什麼是自訂物品?​

自訂物品是在模型旁的 YAML 定義 material: 的手持物品,使用 fmm_item_id 識別;/fmm itemify 產生的道具放置物品使用 model_id。

建立同名模型與 YAML,設定 material,依需要加入 name、lore 與帶命名空間的 enchantments:

isEnabled: true
material: DIAMOND_SWORD
name: "&6Flame Blade"
enchantments:
- "minecraft:fire_aspect,2"

以 freeminecraftmodels.admin 執行 /fmm giveitem <id> 或 /fmm admin 取得物品。

自訂物品還會執行 Lua 腳本嗎?​

不會。舊的裝備物品執行環境及 22 個鉤子已停用。手持物品定義含非空 scripts: 時會略過,舊的無命名空間附魔(如 FIRE_ASPECT,2)也會略過。檔案不會轉換或改寫;道具 Lua 腳本不變。

物品效果使用提供者管理的附魔,魔杖與法杖使用魔法武器定義。

選單

FMM 提供哪些選單?​

資訊

除了獨立的設定、配方編輯與可選商店選單,還有以下兩個內容瀏覽選單。

玩家選單 /fmm:

  • freeminecraftmodels.menu 預設 true,所有玩家可用。
  • 只顯示成功註冊合成配方的項目;registerCraftingRecipes: false 會從瀏覽器移除它們。
  • 點擊顯示詳細資訊及 3×3 合成格預覽。
  • 查看的是紙製道具放置物品的配方,與自訂手持物品不同。

管理員選單 /fmm admin:

  • freeminecraftmodels.admin 預設 OP。
  • 顯示已啟用且有載入內容的包、未封裝的模型資料夾、根層級模型,以及成功註冊的自訂物品。
  • 包和資料夾項目開啟清單,個別項目給予物品;啟用和下載包使用 /fmm setup。

顯示模型

什麼是顯示模型?​

資訊

顯示模型讓自訂物品在手中與物品欄使用 3D 外觀,取代基礎材質。

  1. 在 Blockbench 使用 File > Export > Java Block/Item 匯出 .json。
  2. 放在 .bbmodel 旁,使用相同基本名稱,例如 magic_sword.json 和 magic_sword.bbmodel。
  3. 執行 /fmm reload。

行為:

  • 註冊的顯示模型可在客戶端接受產生的包後,取代手持與物品欄外觀。
  • 無命名空間的紋理引用使用對應的數字鍵;找不到時會使用可用的已擷取紋理,不保證是索引零。已有命名空間的引用保持原樣。
  • 沒有 .json 時使用一般材質外觀。
  • 目前外掛要求 Minecraft 1.21.4 或更新;舊顯示分支不代表支援舊伺服器。

需要 1.21.4 或更新伺服器,及模型旁有效的 Blockbench「Java Block/Item」匯出 .json;格式錯誤的 JSON 不會註冊。弓與弩的狀態組需要所有對應狀態模型與顯示 JSON 檔案。