Zum Hauptinhalt springen

InputTracker

Führe Aktionen über F, Q, Shift, Strg, Hotbar-Slots und anklickbare Inventarschaltflächen aus.

Kostenlosv0.5Hilfsmittel
BenötigtTypeWriter0.9Paper1.21+

Überblick​

InputTracker macht Tastatur und Inventar zu Triggern für TypeWriter. Er lauscht auf einige Spielereingaben (Hände tauschen, Droppen, Schleichen, Sprinten, Chat, Befehle und Hotbar-Auswahl) und führt die von dir gewählten Aktionen aus. Außerdem kann er Buttons im Inventar des Spielers oder im 2x2-Crafting-Raster anheften: Items, die sich nicht verschieben, droppen oder platzieren lassen und beim Anklicken Aktionen ausführen.

Alles wird in einem einzigen Manifest-Entry konfiguriert, Input Trigger Config. Das ist nützlich für Shortcuts im RPG-Stil, zum Beispiel ein Menü mit der F-Taste zu öffnen oder jedem Spieler eine „Menü“-Uhr im letzten Hotbar-Slot zu geben.

Funktionen​

  • Sieben Eingaben — Hände tauschen (F), Droppen (Q), Schleichen (Shift), Sprinten (Strg), Chatnachricht, Befehl und Auswahl eines Hotbar-Slots.
  • Ursprüngliche Aktion abbrechen — optional das Vanilla-Verhalten unterbinden, zum Beispiel damit die F-Taste keine Items tauscht.
  • Criteria, Verzögerung und Cooldown — nur ausführen, wenn Bedingungen zutreffen, nach einer Verzögerung in Ticks und mit einem Cooldown zwischen zwei Auslösungen.
  • Inventar-Buttons — an gewählte Slots angeheftete Items, die sich nicht verschieben, droppen, platzieren oder essen lassen.
  • Klicktypen — ein eigener Satz Aktionen für Links-, Rechts-, Shift-Links-, Shift-Rechts-Klick, Droppen, Doppelklick oder einen beliebigen Klick als Fallback.
  • Hotbar-Buttons in der Welt — Links- und Rechtsklicks mit einem Button in der Hand führen dessen Aktionen aus.
  • Buttons im Crafting-Raster — Buttons im 2x2-Crafting-Raster, wobei das Craften deaktiviert ist, solange ein Button darin liegt.
  • Criteria pro Button — jeder Button und jede Klickbindung kann eigene Bedingungen haben.

Installation​

  1. Verwende Paper 1.21 oder neuer. Eine Paket-Bibliothek wird nicht benötigt.
  2. Lege die InputTracker-JAR in plugins/Typewriter/extensions/ ab und starte den Server neu.

Die Erweiterung plant Verzögerungen mit dem Bukkit-Scheduler und ist daher für Paper gedacht, nicht für Folia.

Erste Schritte​

Öffne ein Menü, wenn der Spieler F drückt, und gib jedem Spieler einen Menü-Button:

  1. Öffne im TypeWriter-Web-Panel eine Manifest-Page und füge einen Input Trigger Config-Entry hinzu. Erstelle nur einen: Es wird der zuerst gefundene verwendet.
  2. Füge in keybinds ein Element hinzu. Setze type auf SWAP_HAND, aktiviere enabled (standardmäßig aus) und aktiviere cancelAction, damit die Hände nicht getauscht werden.
  3. Wähle in dessen actions den Action-Entry, der dein Menü öffnet. Setze cooldown auf 10 Ticks, um doppelte Auslösungen zu vermeiden.
  4. Füge in inventoryButtons ein Element hinzu. Setze slot auf 8 (der letzte Hotbar-Slot) und wähle das anzuzeigende item, zum Beispiel eine Uhr mit dem Namen <gold>Menu.
  5. Füge in dessen clickActions eine Bindung mit clickType LEFT und derselben Aktion in actions hinzu.
  6. Veröffentliche. Spieler erhalten den Button, wenn sie beitreten oder respawnen.
warnung

Ein Button ersetzt, was auch immer sich in seinem slot befindet. Wähle Slots, die deine Spieler nicht für eigene Items verwenden.

warnung

Ein Spieler, der mindestens einen Button bei sich trägt, kann nicht sterben: Tödlicher Schaden wird aufgehoben. Berücksichtige das in deinem Spieldesign oder entferne die Buttons in Situationen, in denen Spieler sterben können müssen.

Funktionsweise​

Keybinds. Für jeden type wird die erste Definition in keybinds verwendet, du kannst also nicht zwei Definitionen für dieselbe Eingabe haben. Das gilt auch für HOTBAR_SLOT: Er reagiert auf einen einzelnen Slot, der über hotbarSlot gewählt wird.

Was jede Eingabe genau bedeutet:

TypWird ausgelöst, wenn
SWAP_HANDder Spieler F drückt.
DROPder Spieler Q drückt, um ein Item zu droppen (nicht, während er ein Item am Cursor hält).
SNEAKder Spieler anfängt zu schleichen.
SPRINTder Spieler anfängt zu sprinten.
CHATder Spieler eine Chatnachricht sendet. Allein T zu drücken bewirkt nichts.
COMMANDder Spieler einen Befehl ausführt.
HOTBAR_SLOTder Spieler den Hotbar-Slot hotbarSlot (0 bis 8) auswählt.

Mit cancelAction wird das ursprüngliche Event abgebrochen: Die Hände werden nicht getauscht, die Nachricht oder der Befehl wird nicht gesendet. Bei DROP wird dropCount (-1 für den ganzen Stapel, eine Zahl über 1 für eine eigene Menge) nur verwendet, wenn cancelAction aktiviert ist.

Buttons. Buttons sind markierte Items. Sie werden im Inventar des Spielers platziert, wenn der Spieler beitritt, respawnt oder das Crafting-Inventar öffnet. Sie lassen sich nicht verschieben, ziehen, droppen, in die Nebenhand tauschen, platzieren oder essen.

Wird ein Button angeklickt, wählt die Erweiterung die erste Bindung in clickActions, deren clickType zum Klick passt und deren criteria erfüllt sind. Trifft keine zu, verwendet sie die erste ALL-Bindung, deren Criteria erfüllt sind. Ein Mittelklick oder eine Zifferntaste zählt als Linksklick. In der Welt zählen Links- und Rechtsklicks mit einem Button in der Hand als LEFT und RIGHT.

Konfiguration​

Alle Einstellungen sind Felder des Input-Trigger-Config-Entries.

Felder von keybinds

FeldBeschreibung
typeDie Eingabe, auf die gelauscht wird.
enabledMuss aktiviert sein, damit die Definition funktioniert. Standardmäßig aus.
cancelActionDas Vanilla-Verhalten abbrechen.
actionsAuszuführende Action-Entries.
delayTicks, die vor dem Ausführen der Aktionen gewartet wird (0 führt sie sofort aus).
cooldownTicks zwischen zwei Auslösungen für denselben Spieler und dieselbe Eingabe (0 für keinen).
dropCountFür DROP. 1 ist ein einzelnes Item, -1 der ganze Stapel.
hotbarSlotFür HOTBAR_SLOT: der Slot, 0 bis 8.
criteriaBedingungen, damit der Trigger ausgeführt wird.

Felder von inventoryButtons

FeldBeschreibung
slotInventar-Slot, 0 bis 40 (0 bis 8 Hotbar, 36 bis 39 Rüstung, 40 Nebenhand). Im Crafting-Raster 0 bis 4.
itemDas Item, das als Button angezeigt wird.
clickActionsListe von Bindungen mit clickType, actions und criteria.
delayTicks, bevor die Aktionen ausgeführt werden.
isCraftingGridDen Button im 2x2-Crafting-Raster statt im Inventar platzieren.
criteriaBedingungen, damit ein Klick auf den Button etwas bewirkt.

Im Crafting-Raster ist Slot 0 der Ergebnis-Slot, der als „Absenden“-Button dient, und die Slots 1 bis 4 sind die vier Rasterfelder. Ein Crafting-Ergebnis wird blockiert, solange ein Button in einem der Rasterfelder liegt, damit niemand Items duplizieren kann.

Entries​

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

Manifeste1

Fehlerbehebung​

Ein Keybind bewirkt nichts. enabled ist standardmäßig aus. Prüfe außerdem, dass die Definition actions hat, dass die criteria zutreffen und dass du nur eine Definition für diesen type hast: Nur die erste wird gelesen. Der Entry muss veröffentlicht sein, und es darf nur eine Input Trigger Config geben.

Die Aktion wird nur hin und wieder ausgeführt. Der cooldown gilt gemeinsam für denselben Spieler und dieselbe Eingabe, in Ticks (20 Ticks sind eine Sekunde). cancelAction greift weiterhin, während der Cooldown die Aktionen blockiert. DROP verwendet den Cooldown nicht.

Die F- oder Q-Taste führt weiterhin ihre normale Aktion aus. Aktiviere cancelAction. Bei den Eingaben Chat und Befehl verhindert cancelAction, dass die Nachricht oder der Befehl gesendet wird.

Ein Button ist nicht anklickbar oder bewirkt nichts. Ein Klick bewirkt nichts, wenn die criteria des Buttons nicht erfüllt sind oder wenn keine clickActions-Bindung zum Klicktyp passt und es keine ALL-Bindung gibt. Die actions müssen Action-Entries sein.

Ein Item ist aus dem Inventar verschwunden. Ein Button ersetzt bei jeder Platzierung der Buttons das Item in seinem slot. Wähle einen freien Slot.

Ein entfernter Button bleibt im Inventar. Buttons sind von der Erweiterung markierte Items. Wenn du einen Button in der Konfiguration löschst oder verschiebst, werden die alten Items entfernt und die aktuellen Buttons erneut platziert, sobald der Spieler das nächste Mal sein Inventar schließt, beitritt oder respawnt.

Der Spieler stirbt nicht. Das ist beabsichtigt: Ein Spieler, der einen Button trägt, kann keinen tödlichen Schaden erleiden.