Zum Hauptinhalt springen

FreeMinecraftModels Konfiguration

Diese Seite behandelt die aktuellen Einstellungen in config.yml und shop_config.yml, die Einrichtung, Rendering, Spielerinteraktion und den optionalen Möbelshop wesentlich beeinflussen.

Dateispeicherorte

plugins/FreeMinecraftModels/config.yml
plugins/FreeMinecraftModels/shop_config.yml

shop_config.yml wird beim ersten Start generiert; der Shop selbst bleibt deaktiviert, bis du ihn aktivierst.

config.yml-Einstellungen

setupDone

  • Standard: false
  • Steuert, ob die Ersteinrichtungsführung als abgeschlossen gilt
  • Spieler mit umfassenden FreeMinecraftModels-Berechtigungen werden daran erinnert, /fmm initialize auszuführen, solange dies false bleibt
  • Der Einrichtungsablauf schaltet diesen Wert für dich um; du musst ihn beim normalen Onboarding nicht manuell bearbeiten

useDisplayEntitiesWhenPossible

  • Standard: true
  • Weist FreeMinecraftModels an, das Display-Entity-Rendering zu bevorzugen, wenn Server und Client-Pfad dies unterstützen
  • Das Plugin fällt weiterhin auf Armor-Stand-Displays zurück, wenn Display-Entitäten nicht verfügbar sind (älter als 1.19.4 oder Bedrock)
  • Bedrock-Clients sind ein Sonderfall; gehe also nicht davon aus, dass dies für jeden Spieler denselben Rendering-Pfad erzwingt

maxModelViewDistance

  • Standard: 60
  • Begrenzt, wie weit modellierte Entitäten an Betrachter gesendet werden
  • Niedrigere Werte reduzieren die Paket- und Client-Renderinglast in dicht modell-gefüllten Bereichen
  • Einzelne Entitäten können dies zur Laufzeit über ModeledEntity.setViewDistanceOverride(int) überschreiben — siehe das API-Handbuch

maxInteractionAndAttackDistance

  • Standard: 3
  • Gilt für statische und dynamische modellierte Entitäten
  • Wird von den Laufzeit-Interaktions- und Trefferprüfungen verwendet

maxInteractionAndAttackDistanceForProps

  • Standard: 6
  • Gilt für Prop-Entitäten
  • Dies ist getrennt von der Interaktionsdistanz statischer/dynamischer Entitäten

sendCustomModelsToBedrockClientsV2

  • Standard: true
  • Steuert, ob FreeMinecraftModels versucht, benutzerdefinierte Modelle an Bedrock-Clients zu senden
  • Dieser Schlüssel ersetzt den älteren sendCustomModelsToBedrockClients (dessen Standard false war). Die Umbenennung in V2 kehrt den Standard um, sodass Bedrock-Spieler Modelle standardmäßig sehen; falls du zuvor den alten Schlüssel explizit gesetzt hast, kannst du ihn löschen, und der neue V2-Schlüssel übernimmt
  • Bei Deaktivierung fallen Bedrock-Spieler auf die zugrunde liegende Vanilla-Entität zurück, wo diese existiert (und Verkleidungen werden für sie nicht gerendert)
  • Wenn du dies aktivierst, stelle sicher, dass dein Bedrock-/Geyser-/Floodgate-Ressourcenpaket-Pfad tatsächlich für diese Clients bereit ist
  • Laufzeit-Diagnose-Logging für die Bedrock-Display-Pipeline ist kein Config-Schlüssel — es wird zur Laufzeit über /fmm debug bedrock on|off umgeschaltet, damit es nie versehentlich im Produktivbetrieb aktiv bleibt. Siehe Befehle

shop_config.yml

Der optionale Vault-gestützte Möbelshop hat eine eigene Konfiguration, sodass er unabhängig vom Verhalten des Hauptplugins aktiviert oder angepasst werden kann. Der Shop verweigert die Registrierung, wenn Vault oder ein Wirtschafts-Provider fehlt.

Schlüssel der obersten Ebene

SchlüsselStandardBeschreibung
enabledfalseHaupt-Umschalter für /fmm shop. Der Befehl registriert sich nur, wenn dies true ist und Vault + ein Wirtschafts-Provider beide vorhanden sind
defaultPrice100.0Preis, der beim nächsten Laden in Rezeptdateien geschrieben wird, die keinen eigenen shopPrice setzen
menuTitle&8FMM - Furniture ShopTitel, der oben im Shop-Inventar angezeigt wird (unterstützt &-Farbcodes)
priceLoreFormat&7Price: &e{price}Lore-Zeile, die an jedes Shop-Item angehängt wird und seinen Preis zeigt. Platzhalter: {price}
clickToBuyLoreFormat&aClick to purchaseLore-Zeile, die an jedes Shop-Item angehängt wird und zum Kauf auffordert

Nachrichten-Schlüssel (messages.*)

Alle Nachrichtenstrings unterstützen &-Farbcodes.

SchlüsselStandardPlatzhalter
messages.purchaseSuccess&aPurchased &f{item} &afor &e{price}&a. Balance: &e{balance}&a.{item}, {price}, {balance}
messages.insufficientFunds&cYou need &e{price} &cto buy &f{item}&c. Balance: &e{balance}&c.{item}, {price}, {balance}
messages.shopDisabled&cThe furniture shop is currently unavailable.keine
messages.itemNotForSale&cThat item is not currently for sale.{item}
messages.inventoryFull&eYour inventory was full; &f{item} &ehas been dropped at your feet.{item}

Shop-Felder pro Rezept

Jede Rezeptdatei in plugins/FreeMinecraftModels/recipes/<model_id>.yml erhält zwei zusätzliche Felder:

FeldStandardBeschreibung
shopEnabledtrueOb dieses Rezept in /fmm shop sichtbar ist. Rezepte mit shopEnabled: false sind weiterhin craftbar, werden aber nie zum Kauf angeboten
shopPricedefaultPrice aus shop_config.ymlVault-Währungskosten für dieses spezifische Item

Der Rezept-Builder (/fmm craftify) schreibt beim Speichern beide Felder, sodass eine Preisanpassung nur eine Textbearbeitung entfernt ist.

Berechtigungen

In plugin.yml registriert

BerechtigungStandardBeschreibung
freeminecraftmodels.*opWildcard, die Admin- + Selbst-/Fremd-Verkleidungsberechtigungen gewährt
freeminecraftmodels.adminopZugriff auf /fmm admin (den Admin-Inhaltsbrowser) und /fmm giveitem. Andere Admin-/Debug-Befehle (/fmm location, /fmm spawn, /fmm mount, /fmm itemify, /fmm craftify, /fmm reload, /fmm stats, /fmm hitbox visualize, /fmm debug bedrock, /fmm setup, /fmm initialize, /fmm downloadall, /fmm updatecontent) prüfen stattdessen die Wildcard freeminecraftmodels.*
freeminecraftmodels.disguise.selfopErlaubt /fmm disguise / /fmm undisguise auf den Sender
freeminecraftmodels.disguise.othersopErlaubt gezielte Verkleidung/Enthüllung sowie /fmm disguiselist
freeminecraftmodels.menutrueZugriff auf das /fmm-Menü craftbarer Items
freeminecraftmodels.shoptrueZugriff auf /fmm shop

Von Befehlen erzwungen (nicht in plugin.yml registriert)

BerechtigungStandardBeschreibung
freeminecraftmodels.deleteallopZugriff auf /fmm deleteall (wird vom Befehlshandler zur Laufzeit geprüft)

Modell-YML-Konfiguration

Jede .bbmodel-Datei kann eine begleitende .yml-Datei haben (gleicher Name, gleiches Verzeichnis), die modell-spezifische Einstellungen steuert. Das vereinheitlichte YML-Format unterstützt folgende Felder:

isEnabled: true
voxelize: true
solidify: true
scripts:
- my_script.lua
material: DIAMOND_SWORD
name: "&bFrost Blade"
lore:
- "&7A sword forged in ice"
- "&7Deals frost damage"
enchantments:
- SHARPNESS,3
- UNBREAKING,2
FeldTypBeschreibung
isEnabledbooleanOb das Modell geladen wird (Standard: true)
scriptsListe von StringsDateinamen von Lua-Skripten, die angehängt werden sollen (aus plugins/FreeMinecraftModels/scripts/)
voxelizebooleanWenn true, rastet der Prop auf 90-Grad-Rotationsschritte ein und richtet sich beim Platzieren am Blockraster aus. Der Grundriss wird aus den Hitbox-Abmessungen des Modells berechnet (auf ganze Blöcke gerundet). Die Platzierung prüft, dass alle Blöcke im Grundriss nicht-solide sind.
solidifybooleanWenn true (erfordert voxelize: true), werden paket-only Barrier-Blöcke in jedem Block des Prop-Grundrisses platziert, was ihm clientseitige Kollision verleiht. Diese Barrieren sind unsichtbar und existieren nur in Paketen — sie werden nicht in der Welt platziert. Barrieren werden automatisch entfernt, wenn der Prop aufgenommen oder zerstört wird.
materialstringEin Bukkit-Materialname (z. B. DIAMOND_SWORD, PAPER). Wenn gesetzt, wird das Modell zu einem benutzerdefinierten Item, das Spieler halten und ausrüsten können
namestringAnzeigename für das benutzerdefinierte Item (unterstützt &-Farbcodes)
loreListe von StringsLore-Zeilen für das benutzerdefinierte Item (unterstützt &-Farbcodes)
enchantmentsListe von StringsVerzauberungen im Format ENCHANTMENT_NAME,LEVEL (z. B. SHARPNESS,3)

Wenn material gesetzt ist, wird das Modell als benutzerdefiniertes Item registriert. Spieler können es über /fmm giveitem erhalten, es craften, falls ein Rezept konfiguriert ist, und es erhält Zugriff auf alle 22 Lua-Item-Hooks.

Betriebshinweise

  • /fmm reload importiert Inhalte erneut und regeneriert das Ausgabepaket, sodass Konfigurationsänderungen, die das Rendering-Verhalten betreffen, am einfachsten nach einem Reload überprüfbar sind. Bei jedem Reload wird ein FmmReloadedEvent gesendet, damit abhängige Plugins ihre Modellanhänge erneut binden können.
  • FreeMinecraftModels generiert das Ressourcenpaket nur; es hostet es nicht selbst.
  • ResourcePackManager bleibt der empfohlene Auslieferungsweg für Java-Clients und der sicherste dokumentierte Pfad für gemischte Setups.
  • WorldGuard, WorldEdit, GriefPrevention und Vault sind als softdepend in plugin.yml deklariert — keines davon ist erforderlich, um das Plugin zu starten, aber sie schalten bestimmte Funktionen frei, wenn sie vorhanden sind (schutz-bewusste Lua-Prädikate und der Möbelshop).

Wann diese Werte ändern

Verwende diese Konfiguration für die Feinabstimmung des Laufzeitverhaltens, nicht für die Verwaltung von Inhaltspaketen.

  • Verwende /fmm initialize, /fmm setup, /fmm downloadall und /fmm updatecontent für den Lebenszyklus offizieller Pakete
  • Verwende den imports-Ordner für manuelle .bbmodel- oder andere lokale Inhaltsimport-Arbeit
  • Verwende config.yml, wenn du Rendering-Modus, Sichtweite, Interaktionsdistanz oder Bedrock-Verhalten anpassen musst
  • Verwende shop_config.yml (und die shopEnabled/shopPrice-Felder pro Rezept), um den Möbelshop anzupassen, ohne Code zu berühren

Bekannte Einschränkungen

  • Das Bedrock-Verhalten hängt sowohl von sendCustomModelsToBedrockClients als auch von deinem umfassenderen Floodgate-/Geyser-/Ressourcenpaket-Setup ab; bleibe also bei Aussagen konservativ, sofern du nicht genau deinen Stack getestet hast.
  • Der Shop deaktiviert sich stillschweigend selbst, wenn Vault oder ein Wirtschafts-Provider fehlt. Verwende /fmm version und prüfe die Konsole beim Start, falls /fmm shop unerwartet fehlt.