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
- Installiere Vault und einen Vault-kompatiblen Wirtschafts-Provider (EssentialsX, CMI usw.).
- Starte den Server einmal, damit
plugins/FreeMinecraftModels/shop_config.ymlerzeugt wird. - Setze
enabled: trueinshop_config.yml. - Starte den Server neu (der Shop registriert sich beim Startvorgang).
- Führe
/fmm shopim 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: trueundshopEnabled: truewird 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 einerClick to purchase-Aufforderung. - Das Anklicken eines Eintrags ruft
PurchaseHandlerauf, 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
| Berechtigung | Standard | Beschreibung |
|---|---|---|
freeminecraftmodels.shop | true | Erforderlich, 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 (Standardfalse)defaultPrice— wird in Rezeptdateien geschrieben, die keinen eigenenshopPricesetzenmenuTitle,priceLoreFormat,clickToBuyLoreFormat— visuelles Stylingmessages.*— 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
| Feld | Standard | Verhalten |
|---|---|---|
shopEnabled | true | Wenn false, ist das Rezept weiterhin craftbar, erscheint aber nie in /fmm shop |
shopPrice | defaultPrice aus shop_config.yml | Vault-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:
| Ergebnis | Wird ausgelöst, wenn | Nachrichtenschlüssel |
|---|---|---|
SUCCESS | Abbuchung erfolgreich und Item passt ins Inventar | messages.purchaseSuccess |
SUCCESS_WITH_OVERFLOW | Abbuchung erfolgreich, aber das Item musste zu den Füßen des Spielers fallengelassen werden | messages.purchaseSuccess + messages.inventoryFull |
INSUFFICIENT_FUNDS | Spielerguthaben unter dem Preis, oder der zugrunde liegende Wirtschafts-Provider hat die Abbuchung abgelehnt | messages.insufficientFunds |
NOT_FOR_SALE | Rezept ist deaktiviert oder shopEnabled: false | messages.itemNotForSale |
SHOP_DISABLED | Zur 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
/balanceoder/ecoaus, um zu bestätigen, dass einer antwortet) enabled: trueinshop_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.