Zum Hauptinhalt springen

FreeMinecraftModels Möbelshop

FreeMinecraftModels liefert einen optionalen Vault-gestützten Shop, in dem Spieler craftbare Props mit In-Game-Währung kaufen können. Der Shop ist standardmäßig deaktiviert — er registriert sich nur, wenn er explizit aktiviert wurde und ein Vault-Wirtschafts-Provider verfügbar ist.

Schnelle Einrichtung

  1. Installiere Vault und einen Vault-kompatiblen Wirtschafts-Provider (EssentialsX, CMI usw.).
  2. Starte den Server einmal, damit plugins/FreeMinecraftModels/shop_config.yml erzeugt wird.
  3. Setze enabled: true in shop_config.yml.
  4. Starte den Server neu (der Shop registriert sich beim Startvorgang).
  5. Führe /fmm shop im Spiel aus, um zu bestätigen, dass das Menü sich öffnet.

Wenn eine dieser Voraussetzungen fehlt, bleibt der Befehl /fmm shop nicht registriert und Spieler sehen einen „Befehl nicht vorhanden"-Fehler statt der konfigurierbaren Deaktivierungs-Nachricht.

Funktionsweise

  • Der Shop liest Rezepte aus plugins/FreeMinecraftModels/recipes/.
  • Jedes Rezept mit isEnabled: true und shopEnabled: true wird im Shop gelistet.
  • Jeder Eintrag zeigt das Ausgabe-Item des Rezepts (das Papier-Platzierungs-Item des Props) mit zwei zusätzlichen Lore-Zeilen: einer Price:-Zeile und einer Click to purchase-Aufforderung.
  • Das Anklicken eines Eintrags ruft PurchaseHandler auf, der den Kontostand des Spielers über Vault prüft, den Preis abbucht und dem Spieler das Platzierungs-Item gibt. Items, die nicht ins Inventar passen, werden zu den Füßen des Spielers fallengelassen.

Berechtigungen

BerechtigungStandardBeschreibung
freeminecraftmodels.shoptrueErforderlich, um den Shop zu öffnen. Standard ist true, sodass jeder Spieler stöbern kann

Die Berechtigung allein aktiviert den Shop nicht — enabled: true in shop_config.yml und ein funktionierender Wirtschafts-Provider sind weiterhin erforderlich.

shop_config.yml

Siehe die Konfigurationsseite für die vollständige Schlüsselreferenz. Die zentralen Schlüssel sind:

  • enabled — Haupt-Umschalter (Standard false)
  • defaultPrice — wird in Rezeptdateien geschrieben, die keinen eigenen shopPrice setzen
  • menuTitle, priceLoreFormat, clickToBuyLoreFormat — visuelles Styling
  • messages.* — fünf anpassbare Feedback-Nachrichten

Alle Nachrichtenstrings unterstützen &-Farbcodes und die in der Konfigurationsreferenz aufgeführten Platzhalter.

Felder pro Rezept

Jedes Rezept in plugins/FreeMinecraftModels/recipes/<model_id>.yml trägt zwei shop-spezifische Felder:

isEnabled: true
model_id: "wooden_chair"
shape:
- "L L"
- "LLL"
- "L L"
ingredients:
L: OAK_LOG
shopEnabled: true
shopPrice: 250.0
FeldStandardVerhalten
shopEnabledtrueWenn false, ist das Rezept weiterhin craftbar, erscheint aber nie in /fmm shop
shopPricedefaultPrice aus shop_config.ymlVault-Währungskosten, wenn der Spieler auf das Item klickt

Der /fmm craftify-Builder schreibt beim Speichern beide Felder, sodass das Anpassen des Preises nur eine Textbearbeitung der Rezeptdatei gefolgt von /fmm reload ist.

Kauf-Ergebnisse

Der PurchaseHandler erkennt fünf Ergebnisse. Jedes wird auf eine konfigurierbare Nachricht in shop_config.yml abgebildet:

ErgebnisWird ausgelöst, wennNachrichtenschlüssel
SUCCESSAbbuchung erfolgreich und Item passt ins Inventarmessages.purchaseSuccess
SUCCESS_WITH_OVERFLOWAbbuchung erfolgreich, aber das Item musste zu den Füßen des Spielers fallengelassen werdenmessages.purchaseSuccess + messages.inventoryFull
INSUFFICIENT_FUNDSSpielerguthaben unter dem Preis, oder der zugrunde liegende Wirtschafts-Provider hat die Abbuchung abgelehntmessages.insufficientFunds
NOT_FOR_SALERezept ist deaktiviert oder shopEnabled: falsemessages.itemNotForSale
SHOP_DISABLEDZur Laufzeit zwangsweise deaktiviert (z. B. Wirtschafts-Provider weg)messages.shopDisabled

Fehlerbehebung

/fmm shop existiert nicht. Der Shop ist nicht registriert. Verifiziere alle drei Punkte:

  • Vault ist installiert
  • Ein Wirtschafts-Provider ist registriert (führe /balance oder /eco aus, um zu bestätigen, dass einer antwortet)
  • enabled: true in shop_config.yml

Starte dann den Server neu. Der Befehl registriert sich nur beim Start.

Items, die ich erwarte, fehlen im Menü. Öffne die Rezeptdatei in plugins/FreeMinecraftModels/recipes/. Prüfe, dass sowohl isEnabled als auch shopEnabled true sind. Führe nach der Bearbeitung /fmm reload aus.

Spielern wird Geld abgezogen, aber sie erhalten kein Item. Prüfe die Server-Konsole auf Vault-Fehler. Der Handler verbraucht erst nach einer erfolgreichen Kontostandprüfung Währung, aber ein nachgelagerter Wirtschafts-Provider kann die eigentliche Abbuchung trotzdem fehlschlagen — der Handler fängt das ab und gibt INSUFFICIENT_FUNDS zurück. Wenn die Abbuchung erfolgreich war und das Item nicht erscheinen konnte, reiche einen Fehlerbericht mit dem vollständigen Konsolen-Log rund um den Klick ein.