FreeMinecraftModels Ressourcenpaket-Ausgabe
FreeMinecraftModels schreibt sein generiertes Paket derzeit nach output, nicht outputs.
Standard-Ausgabepfade
Das Plugin baut diesen Ordner beim Start und bei /fmm reload neu auf:
plugins/FreeMinecraftModels/output/FreeMinecraftModels
Es zippt diesen Ordner anschließend in:
plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip
Dieser Zip-Pfad ist derjenige, den ResourcePackManager erwartet, wenn er sich mit FreeMinecraftModels integriert.
Was generiert wird
Der generierte Ordner enthält immer:
pack.mcmetapack.pngassets/minecraft/atlases/blocks.jsonassets/freeminecraftmodels/...Modell- und Textur-Ausgabe
Für Minecraft 1.21.4+ generiert FreeMinecraftModels Item-Modell-Definitionsdateien unter:
assets/freeminecraftmodels/items
Für ältere Server fällt es auf den Legacy-Pfad für das Leder-Pferderüstungs-Override-Modell zurück.
Display-Modell-Ausgabe (1.21.4+)
Wenn ein Modell eine begleitende .json-Display-Modelldatei hat (siehe Hinweise zur Modellerstellung), kopiert FMM diese JSON (mit Textur-Referenzen, die so umgeschrieben sind, dass sie mit den extrahierten Texturen übereinstimmen) nach:
assets/freeminecraftmodels/models/display/{modelId}.json
Es generiert außerdem eine entsprechende Item-Definition unter:
assets/freeminecraftmodels/items/display/{modelId}.json
Die DisplayModelRegistry verfolgt zur Laufzeit, welche Modelle Display-JSONs haben, sodass ItemMeta.setItemModel() auf ItemStacks aufgerufen werden kann, um ihnen das korrekte Aussehen in der Hand und im Inventar zu geben.
Bedingte Item-Ausgabe für Bogen und Armbrust
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 auf Ressourcenpaket-Ebene bedingt zwischen allen Zuständen umschaltet. Es ist keine serverseitige Paketarbeit nötig -- der Client behandelt Zustandsübergänge nativ.
Bogen-Ausgabe
Bei Bögen verwendet die generierte Item-Definition minecraft:condition auf using_item mit einer minecraft:range_dispatch auf use_duration (Skalierung 0.05):
| Bedingung | Verwendetes Modell |
|---|---|
| Item wird nicht benutzt | _idle |
| Wird benutzt, Fallback (gerade gestartet) | _draw_start |
Wird benutzt, Schwellwert 0.65 | _draw_half |
Wird benutzt, Schwellwert 0.9 | _draw_full |
Armbrust-Ausgabe
Bei Armbrüsten 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 |
|---|---|
| Wird nicht benutzt, nicht geladen | _idle |
| Wird benutzt, Fallback (gerade gestartet) | _draw_start |
Wird benutzt, Schwellwert 0.58 | _draw_half |
Wird benutzt, Schwellwert 1.0 | _draw_full |
| Geladen (Pfeil oder Rakete) | _charged |
Ausgabe-Speicherort
Die generierte bedingte Item-Definition wird neben anderen Item-Definitionen geschrieben unter:
assets/freeminecraftmodels/items/display/{baseModelId}_idle.json
Nur das _idle-Modell erhält eine Item-Definitionsdatei. Die Draw- und Charged-Modelle werden darin als bedingte Einträge referenziert.
Kompatibilitätsfixes für Minecraft 26.1+
Der Paket-Generator wendet zwei automatische Kompatibilitätsfixes für Minecraft 26.1 und neuer an:
- UV-Klemmung: Generierte Item-Modelle klemmen UV-Koordinaten auf den
0–16-Bereich, um die Textur-Bleeding-Artefakte zu vermeiden, die durch den strengeren Validator von 26.1 eingeführt wurden. - Leere Bone-Blockmodelle: Bones, die keine Cubes haben (oder nur ein
anchor_-Kind enthalten), gaben früher fehlerhaftes Block-Modell-JSON auf 26.1+ aus. Der Generator gibt nun einen gültigen Platzhalter aus, damit das Ressourcenpaket weiterhin lädt.
Diese Fixes werden automatisch angewendet; keine Konfiguration erforderlich.
Reload-Verhalten
Wenn FreeMinecraftModels neu lädt:
- führt es den Inhaltsimportschritt erneut aus
- baut es den Ordner
output/FreeMinecraftModelsneu auf - regeneriert es
output/FreeMinecraftModels.zip - versendet es
resourcepackmanager reload, falls ResourcePackManager installiert ist
Aus diesem Grund benötigen moderne FMM- + ResourcePackManager-Setups nicht mehr den alten manuellen Zip-Kopie-Workflow.