Zum Hauptinhalt springen

Fast Crafting

Serverseitiges Crafting-Menü mit Schnellcrafting, Berufskatalog, Suche und optionalem 3x3-Raster.

Privatv0.1.1Wirtschaft & Crafting
BenötigtTypeWriter0.9BasicRPG CoreGUIMMOItemsoptional

Für das BornToCraft-Netzwerk entwickelt. Diese Erweiterung ist zu Referenzzwecken dokumentiert und wird nicht verteilt.

Überblick​

Fast Crafting ersetzt die Vanilla-Werkbank durch ein Menü, das die Rezepte auflistet, die ein Spieler herstellen kann, und sie mit einem Klick craftet. Die Rezepte werden aus dem Rezeptkatalog des Servers gelesen, und was ein Spieler craften kann, wird auf dem Server aus seinem eigenen Inventar neu berechnet. Spieler wählen eine Menge oder klicken mit Shift, um das Maximum zu craften, und die Zutaten werden aus ihrem Inventar entnommen.

Das integrierte Menü verwendet ein einziges Inventar mit 54 Slots und zwei Tabs. Crafting hat eine Schnellcraft-Reihe mit aktuell verfügbaren Rezepten und ein manuelles 3x3-Raster. Recipes ist ein nach den RPG-Core-Berufen sortierter Katalog (Kampf, Bergbau, Landwirtschaft, Handwerk und so weiter) mit Zählern für verfügbare und alle Rezepte, Filtern, Sortierung und einem Suchdialog. Ein Klick auf ein Rezept im Katalog craftet es sofort; ein Rezept wird nie für dich in das Raster gelegt.

Die Erweiterung läuft auf dem BTC-Build von TypeWriter (BTC Core, Paper/Folia) und ist hier zur Referenz dokumentiert. Sie liest Rezept-Metadaten aus RPG Core und wendet dessen Level-Sperre auf die Rezepte an.

Funktionen​

  • Craften mit einem Klick — Klicke auf ein Rezept, um die gewählte Menge zu craften (standardmäßig 1, 4, 8, 16, 32, 64 oder automatisch), mit Shift-Klick das Maximum.
  • Schnellcraft-Reihe — zeigt verfügbare Rezepte, nur für Spieler mit einer Berechtigung.
  • Berufskatalog — neun Kategorien mit Zählern available / total, nach dem RPG-Core-Beruf jedes Rezepts.
  • Suchen, Sortieren und Filtern — eine Paper-Dialog-Suche über Name, Bezeichner und Beruf, alphabetische oder verfügbarkeitsbasierte Sortierung sowie die Filter alle, verfügbar oder fehlend.
  • Manuelles 3x3-Raster — ein optionales Raster mit Ausgabe-Slot, in das der Spieler Zutaten von Hand legt; übrig gebliebene Items gehen beim Schließen des Menüs an ihn zurück.
  • Ersatz der Werkbank — ein Rechtsklick auf eine Werkbank kann stattdessen dieses Menü öffnen.
  • Rezeptquellen — Vanilla-Rezepte, ein einzelner Namespace wie custom oder MMOItems-Stationsrezepte.
  • Level-Sperre — die Rezept-Levelgrenze von RPG Core wird angewendet, und andere Plugins können ein Craften über ein Event ablehnen.
  • Sichere Ergebnisse — Überschuss wird dem Spieler vor die Füße gedroppt oder blockiert das Craften, und ein optionaler Cooldown begrenzt Spam.

Installation​

  1. Installiere RPG Core (die Erweiterung RPGBundle), die TypeWriter-Erweiterung Basic und die Erweiterung GUI (GuiAndDialogs). Fast Crafting lädt ohne sie nicht.
  2. Optional: Installiere MMOItems, wenn du dessen Stationsrezepte möchtest (useMMOItemsRecipes).
  3. Lege die Fast-Crafting-JAR in plugins/Typewriter/extensions/ ab und starte den Server neu.
  4. Vergib die Berechtigung fastcrafting.quickcraft an die Spieler, die die Schnellcraft-Reihe sehen dürfen.

Erste Schritte​

Öffne das integrierte Menü über einen Befehl:

  1. Öffne im TypeWriter-Web-Panel eine Manifest-Page und füge eine Fast Crafting-Aktion hinzu.
  2. Setze inventoryTitle, belasse inventoryRows bei 6 und aktiviere integratedMenu.enabled.
  3. Belasse categoryIds bei den neun RPG-Core-Berufen oder behalte nur die, die du verwendest. Aktiviere classicCrafting.enabled, wenn du das manuelle 3x3-Raster möchtest.
  4. Wenn du nur deine eigenen Rezepte möchtest, setze recipeNamespace auf den Namespace deiner Rezepte, zum Beispiel custom.
  5. Füge einen benutzerdefinierten Befehls-Entry hinzu (zum Beispiel fastcrafting) und lege die Fast-Crafting-Aktion in dessen triggers. Auch NPCs, Items und Dialoge können die Aktion auslösen.
  6. Um die Vanilla-Werkbank zu ersetzen, aktiviere replaceCraftingTable und setze bei Bedarf replaceCraftingTablePermission.
  7. Veröffentliche, gib dir einige Zutaten und führe den Befehl aus.
Zwei Layouts

Bei deaktiviertem integratedMenu.enabled (Standard) öffnet die Aktion das ältere Layout, das aus layoutPool, recipeGrid und fastcraft_button:-Markern aufgebaut ist. Aktiviere es für das hier beschriebene Menü mit einem einzelnen Inventar. Das integrierte Menü ignoriert die älteren Öffnen- und Schließen-Buttons sowie den Button SELECTION_INFO.

Im älteren Layout sind die Marker OPEN_GRID, REFRESH, PAGE_PREV, PAGE_NEXT, CRAFT_AMOUNT, SELECTION_INFO und CLOSE. Ein Linksklick auf ein Rezept stellt es her, Shift + Linksklick stellt das Maximum her und ein Rechtsklick wählt es aus. SELECTION_INFO zeigt das per Rechtsklick ausgewählte (oder zuletzt hergestellte) Rezept, mit Texten aus dem Feld selectionInfo: Name, Ergebnismenge, Anzahl möglicher Herstellungen und eine Zeile pro Zutat. Die Schlüssel stehen unter Fast Crafting.

Funktionsweise​

Der Katalog wird pro Entry-Konfiguration einmal aus Bukkit-Rezepten aufgebaut: nur Crafting-Rezepte, gefiltert nach recipeNamespace und disableVanillaRecipes. Der Beruf jedes Rezepts stammt aus RPG Core, und Rezepte ohne Beruf landen in crafting. Was herstellbar ist, wird aus dem Inventar des Spielers neu berechnet, das sich aktualisiert, wenn er Items verschiebt, aufhebt, droppt oder verbraucht.

Ergebnisse, die Vanilla-Items sind, werden in ihre BTC-Entsprechungen umgewandelt, wenn RPG Core einen Ersatz hat. Ohne recipeNamespace werden Rezepte, deren Ergebnis ein CraftEngine- oder BTC-Item ist, im Katalog ausgeblendet. Setze daher recipeNamespace (zum Beispiel custom), um deine benutzerdefinierten Rezepte aufzulisten.

Menüs​

Das integrierte Menü hat sechs Reihen:

ReiheTab CraftingTab Recipes
1Die Tabs Crafting und Recipes.Die Tabs Crafting und Recipes.
2Schnellcraft-Rezepte (bis zu quickRecipesPerPage, ohne die Schnellcraft-Berechtigung ausgeblendet), mit Seitenwechsel.Die Berufskategorien mit ihren Zählern available / total.
3 bis 5Das manuelle 3x3-Raster, der Ausgabe-Slot und der Mengen-Button.Die Rezepte der gewählten Kategorie (recipesPerPage, standardmäßig 27).
6Menüsteuerung.Steuerung für Suche, Sortierung, Filter und Seiten.

Ein Linksklick auf ein Rezept craftet die gewählte Menge. Ein Shift-Klick craftet das Maximum, wenn allowShiftCraftAll aktiviert ist. Der Mengen-Button wechselt durch craftAmountButton.values, mit einer Option Auto, wenn includeAuto aktiviert ist. Der Suchdialog durchsucht Rezeptname, Bezeichner und Beruf. Die Standardsortierung ist defaultSort (AVAILABLE_FIRST oder ALPHABETICAL) und der Standardfilter ist defaultFilter (ALL, AVAILABLE oder MISSING). Die Menütexte sind auf Französisch.

Das manuelle Raster wird mit classicCrafting platziert. Spieler legen Items von Hand hinein, und das Ergebnis wird gecraftet, wenn sie auf den Ausgabe-Slot klicken, mit Shift-Klick für das Maximum. Items, die im Raster zurückbleiben, gehen beim Schließen des Menüs in ihr Inventar zurück.

Konfiguration​

Alles wird im Entry Fast Crafting festgelegt. Die wichtigsten Einstellungen, die nicht das Layout betreffen:

EinstellungZweck
fastCraftPermissionBerechtigung, die zum Öffnen des Menüs und zum Craften nötig ist (leer für alle).
recipeNamespaceNur Rezepte dieses Namespace auflisten.
disableVanillaRecipesminecraft:-Rezepte ausblenden.
useMMOItemsRecipesMMOItems-Stationsrezepte hinzufügen, wenn MMOItems aktiviert ist, und Vanilla-Rezepte ausblenden.
dropWhenInventoryFullDas Ergebnis dem Spieler vor die Füße droppen, wenn das Inventar voll ist. Aus bedeutet, dass das Craften abgelehnt wird, wenn das Ergebnis nicht hineinpasst.
craftCooldownTicksCooldown zwischen Crafts in Ticks (0 für keinen).
autoRefreshTicksDas geöffnete Menü alle N Ticks aktualisieren (0 für nie).
replaceCraftingTableDieses Menü statt der Vanilla-Werkbank öffnen. Spieler, die schleichen, behalten die Vanilla-Werkbank.

Berechtigungen​

BerechtigungGewährt
fastcrafting.quickcraftZeigt die Schnellcraft-Reihe des integrierten Menüs. Der Name ist der Standardwert von integratedMenu.quickCraftPermission; lass das Feld leer, um die Reihe allen zu zeigen.
Wert von fastCraftPermissionEine Berechtigung deiner Wahl zum Öffnen des Menüs und zum Craften.
Wert von replaceCraftingTablePermissionEine Berechtigung deiner Wahl, um das Menü bei Verwendung einer Werkbank zu erhalten.

Die Erweiterung hat keinen eigenen Befehl und keine Platzhalter. Menüklicks verwenden einen internen Kanal fastcraft:, der an das geöffnete Menü des Spielers gebunden ist und nicht eingetippt werden kann.

Entries​

1 Einträge, aus dem Quellcode der Erweiterung generiert.

Aktionen1

Fehlerbehebung​

Das Menü ist das alte Layout. integratedMenu.enabled ist deaktiviert, was der Standard ist. Aktiviere es, um die Tabs, den Katalog und die Schnellcraft-Reihe zu erhalten.

Der Katalog ist leer. Prüfe recipeNamespace: Es werden nur Rezepte dieses Namespace aufgelistet. Ohne Namespace werden Rezepte, deren Ergebnis ein CraftEngine- oder BTC-Item ist, ausgeblendet. Mit disableVanillaRecipes oder useMMOItemsRecipes werden die minecraft:-Rezepte entfernt.

Die Schnellcraft-Reihe fehlt. Dem Spieler fehlt die Schnellcraft-Berechtigung (standardmäßig fastcrafting.quickcraft). Leere das Feld, um die Reihe allen zu zeigen.

Ein Rezept ist ausgegraut oder lässt sich nicht craften. Dem Spieler fehlen möglicherweise Zutaten, er liegt unter dem RPG-Core-Level für das Rezept (die Meldung erscheint in der Actionbar), oder ein anderes Plugin hat das Craften abgebrochen. Das Craften wird auch abgelehnt, solange der Cooldown läuft und wenn das Ergebnis nicht hineinpasst und dropWhenInventoryFull deaktiviert ist.

Ein Rezept steht in der falschen Kategorie. Die Kategorie stammt aus dem Beruf, der in RPG Core für den Rezeptschlüssel registriert ist. Rezepte ohne Beruf landen in crafting. Eine Kategorie in categoryIds, die RPG Core nicht definiert, wird trotzdem angezeigt, mit einem generischen Namen und Icon.

Die Vanilla-Werkbank wird nicht ersetzt. replaceCraftingTable muss aktiviert sein, der Spieler muss replaceCraftingTablePermission besitzen, falls gesetzt, und schleichende Spieler behalten die Vanilla-Werkbank. Es wird der erste Entry mit aktivierter Option verwendet.

Der Such-Button bewirkt nichts. integratedMenu.searchEnabled muss aktiviert sein. Die Suche öffnet einen Paper-Dialog und benötigt daher einen Server, der Paper-Dialoge unterstützt.

Verwandte Erweiterungen​

  • RPG Core — Berufe und Rezept-Level-Sperre, die vom Katalog verwendet werden.
  • GUI — Menü-Engine.
  • MMOItems — Stationsrezepte mit useMMOItemsRecipes.