Zum Hauptinhalt springen

FreeMinecraftModels Model Authoring Notes

Diese Seite dokumentiert die derzeitigen Authoring-Details, die im FreeMinecraftModels-Code sichtbar sind. Sie ist bewusst konservativ: Sie konzentriert sich auf den Import-/Runtime-Vertrag, nicht auf jede Blockbench-Workflow-Praeferenz.

Quellformate

FreeMinecraftModels akzeptiert derzeit:

  • .bbmodel-Dateien fuer bearbeitbare Quellimporte
  • .fmmodel-Dateien fuer bereinigte, laufzeitbereite Modelldaten

Der normale Importablauf ist:

  1. das Modell in plugins/FreeMinecraftModels/imports ablegen
  2. /fmm reload ausfuehren
  3. FreeMinecraftModels das Modell in das aktive Modellset importieren und das generierte Resource-Pack neu bauen lassen

Ordnerrollen

plugins/FreeMinecraftModels/imports
plugins/FreeMinecraftModels/models
plugins/FreeMinecraftModels/models_disabled
  • imports ist der Eingangsordner fuer manuelle Modellimporte und offizielle Paketdownloads vor der Verarbeitung
  • models enthaelt aktive installierte Modellinhalte
  • models_disabled enthaelt heruntergeladene oder installierte Paketinhalte, die derzeit deaktiviert sind

Modell-IDs

  • Laufzeit-Modell-IDs stammen vom Dateinamen, ohne die Endung .bbmodel oder .fmmodel
  • Verwende stabile, eindeutige Dateinamen, weil Befehle und API-Aufrufe diese ID aufloesen
  • Blockbench-Animationsreferenzen sind namensbasiert, daher verursachen doppelte oder unklare Benennungen im Modell eher Probleme als eine saubere, explizite Namensgebung

Blockbench-Kompatibilitaet

  • FreeMinecraftModels erkennt waehrend des Imports die Blockbench-Dateiversion
  • Der aktuelle Importer enthaelt weiterhin Kompatibilitaetszweige fuer Versionen aelter als Blockbench v5
  • Wenn Import-Logs melden, dass das Modellformat nicht mit FreeMinecraftModels kompatibel ist, behandle das zuerst als Modellformatproblem und nicht als Wiki- oder Befehlsproblem

Laufzeitrelevante Bone-Konventionen

Die aktuelle Converter- und Skeleton-Pipeline erkennt einige Namenskonventionen:

  • hitbox
    • fuer die Hitbox-Erzeugung reserviert
    • sollte die Modell-Hitbox sauber definieren, statt als visueller Bone verwendet zu werden
  • tag_...
    • wird als Nametag-bezogener virtueller Bone behandelt
  • h_...
    • wird als Kopf-Bone behandelt

Das sind nicht nur Stilkonventionen; sie beeinflussen Konvertierung und Laufzeitverhalten.

IK, Null Objects und Locators

Der aktuelle Code bestaetigt Unterstuetzung fuer:

  • Blockbench-Null-Objects als IK-Controller
  • IK-Chain-Blueprints und Runtime-IK-Solving
  • Locator-Parsing

Wichtige praktische Einschraenkung:

  • IK-Controller-Lookup ist namensbasiert, daher muss die Controller-Benennung zwischen Modellstruktur und Animationsdaten stabil bleiben

1.21.4+-Output-Split

Fuer Minecraft 1.21.4+ erzeugt FreeMinecraftModels Item-Model-Definitionsdateien unter:

plugins/FreeMinecraftModels/output/FreeMinecraftModels/assets/freeminecraftmodels/items

Aeltere Versionen verwenden weiterhin das alte Item-Model-Pfadschema. Wenn du waehrend des Authorings den generierten Output pruefst, achte darauf, dass du die richtige Output-Form fuer deine Serverversion ansiehst.

Bedrock- und Render-Pfad-Hinweise

  • Bedrock-Unterstuetzung haengt von sendCustomModelsToBedrockClients und dem umgebenden Floodgate/Geyser/Resource-Pack-Pfad ab
  • Java-Clients auf unterstuetzten Versionen koennen Display-Entity-Rendering verwenden, wenn useDisplayEntitiesWhenPossible aktiviert ist
  • Gehe nicht davon aus, dass ein Modell, das auf einem Java-Client korrekt aussieht, automatisch auch fuer den Bedrock-Pfad sicher ist

Praktische Authoring-Hinweise

  • Dateinamen stabil halten, weil sie zu Laufzeit-IDs werden
  • Controller- und Animationsnamen explizit halten, weil Blockbench-Animations-Lookup namensgesteuert ist
  • die reservierten Virtual-Bone-Namen bewusst verwenden
  • importierten Output nach /fmm reload pruefen, nicht nur in Blockbench
  • den generierten Pack-Inhalt fuer deine Ziel-Minecraft-Linie pruefen, besonders bei 1.21.4+

Nicht im Umfang

Diese Seite versucht nicht zu garantieren:

  • exakte Blockbench-UI-Schritte
  • kuenstlerische Workflow-Praeferenzen
  • jede alte .bbmodel-Eigenheit aus aelterem lokalem README-Material

Diese Details aendern sich schneller als der oben verifizierte Laufzeitvertrag.