MMOItems
Überblick
MMOItems verbindet das Plugin MMOItems mit TypeWriter. Du wählst ein Item über seinen MMOItems-Typ (zum Beispiel SWORD) und seine ID, und TypeWriter kann es geben, nehmen, zählen oder reagieren, wenn ein Spieler es herstellt, benutzt, anlegt oder einen Edelstein darin einsetzt.
Die Erweiterung bringt außerdem ein Advanced Tooltip System mit. Es schreibt die Lore von MMOItems-Items im Handumdrehen um, als Packets, die an den Spieler gesendet werden, sodass ein Item mehrere Seiten, eine Live-Markierung „Anforderungen erfüllt“ und einen Stat-Vergleich mit einem anderen Item anzeigen kann. Das gespeicherte Item wird nie verändert.
Alles wird im Web-Panel konfiguriert: Item-Typen und IDs werden aus deiner MMOItems-Konfiguration vorgeschlagen.
Funktionen
- Items geben und entfernen — verteile oder nimm MMOItems-Items, für einen Spieler oder eine ganze Gruppe, aus einer Liste oder aus einem Fact.
- Item-Zählung — ein Fact zählt passende Items im Inventar (Rüstung, Zweithand und Cursor eingeschlossen) und/oder in der Haupthand.
- Benutzen-Event und -Objective — reagiere auf das Rechtsklicken oder Verbrauchen eines MMOItems-Items.
- Herstellen-Event und -Objective — reagiere auf Items, die in einer MMOItems-Herstellungsstation gefertigt wurden, mit optionalem Stationsfilter.
- Edelstein-Event und -Objective — reagiere auf einen Edelstein, der auf ein Item angewendet wurde, gefiltert nach Ziel-Item und Edelstein.
- Anlegen-Objective — zähle MMOItems-Teile, die in einem Rüstungs-Slot angelegt werden.
- Fähigkeiten-Objective — zähle Einsätze einer MMOItems-Fähigkeit.
- Item-Besitz-Objective — wird abgeschlossen, wenn der Spieler genug der ausgewählten Items hält, mit Modifiern beim Abschluss.
- Item-Variable — verwende ein MMOItems-Item überall dort, wo ein Item erwartet wird.
- Erweiterte Tooltips — mehrseitige Lore, Anforderungsmarkierungen, Stat-Vergleich und Kategorie-Icons.
Installation
- Installiere MMOItems und seine Bibliothek MythicLib. Installiere auch MMOCore, wenn die Anforderungsmarkierungen des Tooltip-Systems Klasse, Level und Berufe prüfen sollen.
- Installiere die offizielle TypeWriter-Erweiterung Quest (die Objectives benötigen sie).
- Beziehe die Erweiterung aus den Stores (siehe die Buttons im Übersichtsfeld oben) und lege die JAR in
plugins/Typewriter/extensions/ab. - Starte den Server neu. TypeWriter 0.9 stützt sich auf PacketEvents, das das Tooltip-System zum Umschreiben der Item-Lore verwendet.
Erste Schritte
So belohnst du Spieler mit einem Schwert, wenn sie an einer Alchemiestation einen Trank herstellen:
- Öffne im TypeWriter-Web-Panel eine Sequence-Seite und füge eine Give MMOItem-Action hinzu.
- Lass
itemsleer. Setzeitemmit einemtype(zum BeispielSWORD) und einerid(zum BeispielSTEEL_BLADE) sowieamountauf1. - Öffne eine Static-Seite und füge ein Craft Objective hinzu. Fülle
quest,display,amountund einen persistenten Fact infactzum Speichern des Fortschritts. - Füge in
itemsdas hergestellte MMOItems-Item hinzu (leer bedeutet jedes Item) und bei BedarfstationIdsmit der MMOItems-Stations-ID. - Setze
onCompleteauf die Give-MMOItem-Action und veröffentliche.
Um nur einmal zu reagieren, ohne Fortschritt zu verfolgen, verwende stattdessen das Craft Event und verknüpfe die Give-Action in seinen triggers.
Events und Tooltips ignorieren Spieler im Kreativmodus. Teste mit einem Spieler im Überlebens- oder Abenteuermodus.
So funktioniert es
Die Item-Zuordnung vergleicht MMOItems-Typ und -ID ohne Beachtung der Groß- und Kleinschreibung. Ein leerer Typ und eine leere ID passen auf jedes MMOItems-Item. Items, die keine MMOItems-Items sind, passen nie.
Objectives auf Basis des Felds fact (Herstellen, Benutzen, Anlegen, Edelstein, Fähigkeiteneinsatz, Werkbank öffnen) schreiben ihren Fortschritt in einen persistenten (cachefähigen) Fact und lösen onComplete einmalig aus, wenn amount erreicht ist.
Erweiterte Tooltips
Füge auf einer Manifest-Seite einen Advanced Tooltip System-Entry hinzu und veröffentliche. Er gilt für jedes MMOItems-Item im Inventar, in der Hotbar und in Containern, für alle Spieler außerhalb des Kreativmodus.
Seitenwechsel und erweiterter Lore gelten nur im Überlebens- und Abenteuermodus. Im Kreativmodus wird der ursprüngliche MMOItems-Lore unverändert angezeigt, Tags eingeschlossen, weil der Kreativ-Client Items so zurückschickt, wie er sie anzeigt, und ein umgeschriebener Lore das echte Item dauerhaft verändern würde.
Ist das System deaktiviert, overrideDefaultLore aus oder kein Eintrag veröffentlicht, werden die Tags entfernt und der gesamte Lore bleibt auf einer Seite.
Bearbeite die Lore deiner MMOItems-Items (im MMOItems-Item-Editor oder in dessen Konfiguration) und füge diese Tags hinzu:
| Tag | Wirkung |
|---|---|
<page_break> | Beginnt eine neue Seite. Leere Seiten werden verworfen. |
<category_image> | Wird durch das in categoryImages für den Item-Typ gesetzte Icon ersetzt. |
<pagination_indicator> | Wird durch paginationIndicator ersetzt. |
<comparison_indicator> | Wird durch comparisonIndicator ersetzt. |
<requirement_met> und <requirement_not_met> | Nur eines der beiden wird angezeigt, mit requirementMetSymbol oder requirementNotMetSymbol. |
<comparison_value> und <comparison_sign> | Die Stat-Differenz zum Vergleichs-Basis-Item und ein +, wenn sie positiv ist. |
Seiten und Vergleich werden über Tasten gesteuert, festgelegt mit paginationKeybind (Standard SWAP_OFFHAND, die Taste F) und comparisonKeybind (Standard SNEAK). Zulässige Werte sind SWAP_OFFHAND, DROP, SNEAK, SHIFT_LEFT, SHIFT_RIGHT, LEFT_CLICK, RIGHT_CLICK und MIDDLE_CLICK.
- Das Drücken der Blättertaste bei einem MMOItems-Item bricht immer die Vanilla-Aktion (Tauschen, Fallenlassen, Klick) ab, um Unfälle zu vermeiden, auch bei Items mit nur einer Seite. Die Seiten springen wieder zu Seite 1 zurück, mit einem kurzen Cooldown zwischen den Tastendrücken.
- Das Drücken der Vergleichstaste bei einem Item setzt es als Vergleichsbasis. Erneutes Drücken beim selben Item löscht sie. Es werden nur Items desselben MMOItems-Typs verglichen, und die Basis wird gelöscht, wenn das Inventar geschlossen wird.
- Anforderungen werden anhand von MMOCore-Daten geprüft: Level, Klasse, Berufslevel und Berechtigung. Schlägt eine Anforderung fehl, wird jedes
<requirement_not_met>angezeigt.
Anzeigeformat von Zielen
Die Zeile eines Ziels im Quest-Tracker ist nicht fest im Code verankert. Sie wird aus TypeWriter-Snippets gelesen, die in plugins/Typewriter/snippets.yml bearbeitet werden. Platzhalter: <display> (das Feld display des Ziels), <current> und <required>; PlaceholderAPI-Platzhalter werden ebenfalls aufgelöst.
| Snippet | Verwendet von | Standardwert |
|---|---|---|
advancedQuest.display | Ziele Craft, Use, Equip, Gem Stone, Ability Cast und Open Crafting Table, solange sie laufen | <display> (<current>/<required>), in Grautönen |
advancedQuest.completed | Dieselben Ziele, sobald amount erreicht ist | ✔, dann das durchgestrichene <display> und der Fortschritt |
mmoitems.countObjective.display | Mmoitems Count Objective, solange es läuft | <display> (<current>/<required>), in Grautönen |
mmoitems.countObjective.completed | Dasselbe Ziel, sobald amount erreicht ist | Grünes durchgestrichenes <display>, dann der Fortschritt |
Die beiden Schlüssel advancedQuest.* werden mit den anderen BTC-Ziel-Erweiterungen geteilt: Eine Änderung gestaltet alle neu.
Entries
16 Einträge, aus dem Quellcode der Erweiterung generiert.
Aktionen3
- Give Mmoitem ActionGive MMOItem
- Open Crafting Table ActionOpen Crafting Table
- Remove Mmoitem ActionRemove MMOItem
Ereignisse3
- Mmoitems Gem Stone Apply EventMMOItems Gem Stone Apply Event
- Mmoitems Item Craft EventMMOItems Item Craft Event
- Use Mmoitem EventUse MMOItem Event
Ziele7
- Mmoitems Ability Cast ObjectiveCast MMOItems abilities
- Mmoitems Count ObjectiveIdentify and count specific MMOItems from a fact
- Mmoitems Gem Stone Apply ObjectiveMMOItems Gem Stone Apply Objective
- Mmoitems Item Craft ObjectiveMMOItems Item Craft Objective
- Mmoitems Item Equip ObjectiveEquip MMOItems
- Open Crafting Table ObjectiveOpen Crafting Table Objective
- Use Mmoitem ObjectiveUse MMOItem Objective
Fakten1
- Mmoitems Count FactCount MMOItems in player's inventory or hand
Variablen1
- Mmoitem VariableMMOItem Identifier
Manifeste1
- Advanced Tooltip ConfigAdvanced Tooltip System
Fehlerbehebung
Die Liste der Item-Typen oder IDs ist im Panel leer. Die Listen stammen aus der MMOItems-Konfiguration des laufenden Servers. Stelle sicher, dass MMOItems geladen ist und mindestens eine Vorlage dieses Typs hat, und öffne die Seite im Panel dann erneut.
Give MMOItem bewirkt nichts. Die Action führt mmoitems give <type> <id> <player> <amount> von der Konsole aus. Ein unbekannter type überspringt das Item stillschweigend, prüfe also die Schreibweise des Typs. Ist fact gesetzt, werden nur Items gegeben, die von diesem Fact geliefert werden (und zu item / items passen, wenn diese gefüllt sind), mit dem amount der Action.
Remove MMOItem nimmt nichts. Standardmäßig wird nur das Inventar durchsucht (checkInventory ist an, checkHand ist aus). Die Inventarsuche umfasst Rüstung, Zweithand und Cursor. Aktiviere checkHand, um zuerst aus der Haupthand zu nehmen.
Ein Herstellen-Objective kommt nie voran. Standardmäßig werden nur Sofort-Rezepte und die Herstellungswarteschlange gezählt. detectUpgradeRecipe existiert, aber Upgrade-Ergebnisse werden vom aktuellen Code nie gezählt. Prüfe außerdem die Stations-ID (stationIds, zusammengeführt mit der veralteten stationId) und ob ein persistenter Fact in fact verknüpft ist.
Events und Objectives werden im Kreativmodus nicht ausgelöst. Die Events Benutzen, Herstellen und Edelstein kehren für Kreativspieler früh zurück, und das Tooltip-System ist für sie deaktiviert. Teste im Überlebensmodus.
Tooltip-Tags erscheinen als Text, oder Seiten wechseln nicht. Prüfe zuerst, ob der Spieler im Kreativmodus ist, wo der Lore unverändert bleibt. Seiten wechseln nur, wenn ein Eintrag Advanced Tooltip System mit isEnabled und overrideDefaultLore an veröffentlicht ist; sonst werden die Tags entfernt und der Lore bleibt auf einer Seite. Falls die Standardtaste F mit einem anderen Plugin kollidiert, wähle in paginationKeybind eine andere Taste.
Anforderungsmarkierungen werden immer als erfüllt angezeigt. Die Prüfung liest MMOCore-Spielerdaten. Ohne MMOCore (oder bei einem Spieler ohne Profil) fällt die Prüfung auf „erfüllt“ zurück.
Verwandte Erweiterungen
- MMOCore — Klassen, Berufe und Skills derselben Phoenix-Development-RPG-Suite.
- MMO Inventory — MMOInventory-Integration, nutzbar als Item liefernder Fact für die Give- und Remove-Actions.