Anleitung
So erstellst du ein Minecraft-GUI-Menü-Plugin
Aktualisiert am 18. Oktober 2026
Servermenüs (Warps, Shops, Kits, Einstellungen) sind Truheninventare, die das Plugin öffnet und steuert. Jeder Slot enthält ein Item, das als Button dient. Sie wirken einfach, aber ein Menü, das nicht jede Art von Klick abbricht, lässt Spieler die Buttons mitnehmen. Diese Anleitung erklärt, wie Menüs funktionieren und wie du eins bauen und testen lässt.
Starte mit diesem Beispiel.
Mit Codexe erstellenSchritt für Schritt
1.Skizziere das Menü
Ein Truhenmenü hat 1 bis 6 Reihen mit je 9 Slots (9 bis 54). Schreib auf, welches Item in welchen Slot kommt, was jeder Klick bewirkt und welche Slots nur Deko sind, etwa Glasscheiben.
2.Erstelle das Inventar mit einem Holder
Öffne es mit
Bukkit.createInventory(holder, size, title)und verwende dabei deine eigeneInventoryHolder-Klasse. Am Holder erkennt das Plugin, dass ein Klick in seinem Menü passiert ist und nicht in einer normalen Truhe.3.Klicks verarbeiten
Prüfe im
InventoryClickEventden Holder, brich das Event ab und führe dann die Aktion für diesen Slot aus. Schließe das Menü nach der Aktion oder aktualisiere es.4.Blockiere jeden anderen Weg, Items zu bewegen
Brich auch das
InventoryDragEventab und behandle Shift-Klicks, Zahlentasten und Klicks im eigenen Inventar des Spielers, solange das Menü offen ist.5.Füge Seiten hinzu, wenn die Liste lang ist
Für Warps oder Shop-Items, die nicht hineinpassen, reservierst du die unterste Reihe für die Buttons Zurück, Weiter und Schließen.
6.Öffne es über einen Befehl
Zum Beispiel
/warps, oder über ein Item oder einen NPC. Gib dem Befehl eine Berechtigung, wenn das Menü nicht für alle gedacht ist.7.Bauen und durchklicken
Lass Codexe das Plugin kompilieren, tritt dem Testserver bei und klicke jeden Button an. Testspieler können das Menü auch für dich öffnen und Slots anklicken.
Die Regeln, die ein Menü sicher machen
- Erkenne das Menü an seinem Holder, nie am Titel: Titel kann jede umbenannte Truhe kopieren.
- Brich den Klick ab, bevor du irgendetwas anderes tust, damit ein Fehler in der Aktion das Item nie am Mauszeiger des Spielers hängen lässt.
- Brich Ziehen und Shift-Klicks aus dem Inventar des Spielers ab, sonst lassen sich Items ins Menü schieben.
- Vertraue nicht dem Item im Slot: Ermittle die Aktion über die Slotnummer oder einen Tag am Item.
- Erledige langsame Arbeit (Datenbankabfragen, Webanfragen) außerhalb des Hauptthreads und aktualisiere das Menü, wenn sie fertig ist.
Menüs aus der Config
Serverbetreiber ändern Menüs gern ohne neuen Build. Verlange, dass jedes Menü in einer Config-Datei definiert wird, mit Größe, Titel und pro Button Slot, Material, Name, Lore und Aktion:
| Schlüssel | Beispiel | Was es bewirkt |
|---|---|---|
size | 27 | Anzahl der Slots, ein Vielfaches von 9 |
slot | 13 | Wo der Button sitzt, gezählt ab 0 |
material | ENDER_PEARL | Das angezeigte Item |
action | warp:spawn | Was ein Klick bewirkt: ein Warp, ein Befehl, ein anderes Menü |
Beispielbeschreibung
„Ein Plugin für Paper 1.21.4 namens WarpMenu. /warps öffnet ein Menü mit 6 Reihen und einem Button pro Warp, 45 pro Seite, mit den Buttons Zurück, Weiter und Schließen in der untersten Reihe. Admins fügen Warps mit /setwarp <name> <material> hinzu und entfernen sie mit /delwarp. Ein Klick auf einen Warp teleportiert nach einer Aufwärmzeit von 3 Sekunden, die bei Bewegung abbricht. Spieler können kein Item im Menü nehmen oder verschieben. Warps in warps.yml gespeichert, Menütitel, Button-Namen und Nachrichten in der config.yml.“
Menüs mit Testspielern testen
Die Testspieler von Codexe können ein Menü öffnen und einen Slot anklicken und dann prüfen, ob sich ein Menü geöffnet hat, eine Nachricht erschienen ist oder ein Item vergeben wurde. Füge einen Test in deinen eigenen Worten hinzu, etwa „ein normaler Spieler führt /warps aus, klickt Slot 0 an und sieht die Teleport-Nachricht“, und er läuft jedes Mal erneut, wenn Codexe eine Änderung liefert.
Fragen
Funktioniert das unter 1.8?
Truhenmenüs gibt es in jeder Version ab 1.8. Die API unterscheidet sich in Details (Materialnamen, Titel), deshalb gib die Version in der Anfrage an.
Kann ich Menüs stattdessen mit Skript bauen?
Ja, mit dem Add-on skript-gui, das auf dem Skript-Testserver von Codexe installiert ist. Für große oder stark genutzte Menüs ist ein Plugin besser.
Kann ein Menü wie eine eigene Textur aussehen?
Nur mit einem Resource Pack, das die Items oder den Hintergrund des Inventars ändert. Auf der Plugin-Seite bleibt alles gleich: Slots, Items und Klicks.
Erstelle dein Menü
Dieser Prompt öffnet sich versandfertig:
“Ein Plugin für Paper 1.21.4 namens WarpMenu: /warps öffnet ein Menü mit 6 Reihen und einem Button pro Warp, 45 pro Seite, Buttons Zurück/Weiter/Schließen in der untersten Reihe, /setwarp mit Name und Material und /delwarp für Admins, 3 Sekunden Aufwärmzeit vor dem Teleport, die bei Bewegung abbricht, kein Item kann genommen oder verschoben werden, Warps in warps.yml gespeichert, Titel und Nachrichten in der config.yml.”
Mit Codexe erstellen