FreeMinecraftModels Ressourcenpaket-Ausgabe
FreeMinecraftModels schreibt sein generiertes Paket derzeit nach output, nicht nach outputs.
Standard-Ausgabepfade
Das Plugin erstellt diesen Ordner beim Start und bei /fmm reload neu:
plugins/FreeMinecraftModels/output/FreeMinecraftModels
Anschließend wird dieser Ordner gezippt zu:
plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip
Dieser Zip-Pfad ist derjenige, den ResourcePackManager erwartet, wenn er mit FreeMinecraftModels integriert wird.
Was generiert wird
Der generierte Ordner enthält immer:
pack.mcmetapack.pngassets/minecraft/atlases/blocks.jsonassets/freeminecraftmodels/...Modell- und Texturausgabe
Für Minecraft 1.21.4+ generiert FreeMinecraftModels Item-Modell-Definitionsdateien unter:
assets/freeminecraftmodels/items
Für ältere Server wird auf den Legacy-Leder-Pferderüstungs-Override-Modellpfad zurückgefallen.
Display-Model-Ausgabe (1.21.4+)
Wenn ein Modell eine begleitende .json-Display-Model-Datei hat (siehe Hinweise zur Modellerstellung), kopiert FMM dieses JSON (mit umgeschriebenen Texturreferenzen, die zu den extrahierten Texturen passen) nach:
assets/freeminecraftmodels/models/display/{modelId}.json
Es generiert auch eine entsprechende Item-Definition unter:
assets/freeminecraftmodels/items/display/{modelId}.json
Die DisplayModelRegistry verfolgt, welche Modelle zur Laufzeit Display-JSONs haben, damit ItemMeta.setItemModel() auf ItemStacks aufgerufen werden kann, um ihnen die korrekte In-Hand- und Inventar-Darstellung zu geben.
Bedingte Bogen- und Armbrust-Item-Ausgabe
Wenn FMM einen Satz von Bogen- oder Armbrust-Zustandsmodellen erkennt (siehe Hinweise zur Modellerstellung), generiert es eine einzelne Item-Definitions-JSON für das _idle-Modell, die bedingt zwischen allen Zuständen auf Ressourcenpaket-Ebene wechselt. Keine serverseitige Paketarbeit nötig -- der Client handhabt Zustandsübergänge nativ.
Bogen-Ausgabe
Für Bögen verwendet die generierte Item-Definition minecraft:condition auf using_item mit einem minecraft:range_dispatch auf use_duration (Skala 0.05):
| Bedingung | Verwendetes Modell |
|---|---|
| Item nicht in Benutzung | _idle |
| In Benutzung, Fallback (gerade gestartet) | _draw_start |
In Benutzung, Schwellenwert 0.65 | _draw_half |
In Benutzung, Schwellenwert 0.9 | _draw_full |
Armbrust-Ausgabe
Für Armbrüste verwendet die generierte Item-Definition minecraft:select auf charge_type. Wenn geladen (Pfeil oder Rakete), zeigt sie das _charged-Modell. Der ungeladene Fallback verwendet minecraft:range_dispatch auf crossbow/pull:
| Bedingung | Verwendetes Modell |
|---|---|
| Nicht in Benutzung, nicht geladen | _idle |
| In Benutzung, Fallback (gerade gestartet) | _draw_start |
In Benutzung, Schwellenwert 0.58 | _draw_half |
In Benutzung, Schwellenwert 1.0 | _draw_full |
| Geladen (Pfeil oder Rakete) | _charged |
Ausgabeort
Die generierte bedingte Item-Definition wird zusammen mit anderen Item-Definitionen geschrieben unter:
assets/freeminecraftmodels/items/display/{baseModelId}_idle.json
Nur das _idle-Modell bekommt eine Item-Definitionsdatei. Die Spann- und Lademodelle werden darin als bedingte Einträge referenziert.
Reload-Verhalten
Wenn FreeMinecraftModels neu geladen wird, geschieht Folgendes:
- Der Inhaltsimport-Schritt wird erneut durchgeführt
- Der
output/FreeMinecraftModels-Ordner wird neu erstellt output/FreeMinecraftModels.zipwird neu generiertresourcepackmanager reloadwird ausgeführt, wenn ResourcePackManager installiert ist
Deshalb benötigen moderne FMM + ResourcePackManager-Setups den alten manuellen Zip-Kopier-Workflow nicht mehr.