FreeMinecraftModels
FreeMinecraftModels 既是自訂模型運行時,也是面向開發者的 API。
當前的外掛已不再只是「imports 資料夾加上 /fmm reload」的工作流程。當前的程式碼庫新增了:
- 首次設定流程,以及在設定標記為完成前的加入時提醒
- 由 Nightbreak 支援的設定選單,用於安裝和更新官方模型包
- 在
plugins/FreeMinecraftModels/output/FreeMinecraftModels生成的資源包資料夾 - 在
plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip生成的壓縮包成品 - 更廣泛的指令介面,涵蓋設定、內容更新、生成、偽裝、道具和除錯
- 坐騎點骨骼 — 名稱以
mount_開頭的骨骼會在模型上建立可騎乘的座位點,讓玩家騎乘自訂實體 - 自訂顯示模型 JSON — 在
.bbmodel旁放置同名的.json檔案(Blockbench 顯示物品匯出)以覆蓋遊戲內物品外觀(需要 1.21.4+) - 自訂可腳本化物品 — YML 設定中設定了
material:的模型會成為可手持的自訂物品,支援完整的 Lua 腳本和 22 個物品鉤子 - 管理員內容瀏覽器(
/fmm admin)— 供管理員瀏覽已安裝的包、資料夾、模型和自訂物品的物品欄選單 - 玩家可合成物品選單(
/fmm)— 顯示所有可合成物品及其配方的物品欄選單;點擊物品會顯示空間 3x3 方格、箭頭和輸出 - 玩家 UI API — Lua 腳本可以向玩家顯示 Boss 血條、動作列和標題
從這裡開始
Lua 腳本
FreeMinecraftModels 包含適用於道具和自訂物品的 Lua 腳本支援,由 MagmaCore 2.0 腳本引擎驅動。腳本位於 plugins/FreeMinecraftModels/scripts/。
道具鉤子(8 個)
道具腳本可以回應以下鉤子:
| 鉤子 | 觸發條件 |
|---|---|
on_spawn | 道具被生成到世界中 |
on_game_tick | 道具存在時的每個遊戲 tick |
on_zone_enter | 玩家進入道具的互動區域 |
on_zone_leave | 玩家離開道具的互動區域 |
on_destroy | 道具從世界中移除 |
on_left_click | 玩家左鍵點擊道具 |
on_right_click | 玩家右鍵點擊道具 |
on_projectile_hit | 投射物擊中道具 |
道具腳本會收到一個 context.prop 表,包含 model_id 和 current_location 等欄位,以及 play_animation(name) 和 stop_animation() 等方法。
物品鉤子(22 個)
自訂物品腳本(YML 中設定了 material: 的模型)可以回應以下鉤子:
| 鉤子 | 觸發條件 |
|---|---|
on_equip | 物品被裝備(進入活動欄位) |
on_unequip | 物品被卸下(離開活動欄位) |
on_attack_entity | 玩家手持物品攻擊實體 |
on_kill_entity | 玩家手持物品擊殺實體 |
on_take_damage | 物品裝備時玩家受到傷害 |
on_shield_block | 玩家用盾牌格擋傷害 |
on_shoot_bow | 玩家射箭 |
on_projectile_hit | 玩家發射的投射物擊中目標 |
on_projectile_launch | 玩家發射投射物 |
on_right_click | 玩家手持物品右鍵點擊 |
on_left_click | 玩家手持物品左鍵點擊 |
on_shift_right_click | 手持物品 Shift + 右鍵點擊 |
on_shift_left_click | 手持物品 Shift + 左鍵點擊 |
on_interact_entity | 玩家手持物品右鍵點擊實體 |
on_swap_hands | 物品在兩手之間交換 |
on_drop | 玩家丟棄物品 |
on_break_block | 玩家手持物品破壞方塊 |
on_consume | 物品被消耗(食物/藥水) |
on_item_damage | 物品受到耐久度損傷 |
on_fish | 玩家使用釣竿 |
on_death | 物品裝備時玩家死亡 |
on_game_tick | 物品裝備時的每個伺服器 tick |
物品腳本會收到一個 context.item 表,包含與手持物品和持有它的玩家相關的欄位和方法。Lua 腳本還可以使用玩家 UI API 來顯示 Boss 血條、動作列和標題。
當前注意事項
- 目前內建於外掛中的官方 Nightbreak 管理包為
Basic Furniture Pack、BetterStructures Prop Pack和EliteMobs Prop Pack。 - FreeMinecraftModels 會在啟動時和執行
/fmm reload時重建其資源包輸出。 - ResourcePackManager 仍然是將生成的資源包自動分發給客戶端的推薦方式。