Handleiding
Een GUI-menuplugin voor Minecraft maken
Bijgewerkt 18 oktober 2026
Servermenu's (warps, winkels, kits, instellingen) zijn kistinventories die de plugin opent en bestuurt. Elk vak bevat een item dat als knop werkt. Ze lijken eenvoudig, maar een menu dat niet elk soort klik annuleert, laat spelers de knoppen mee naar huis nemen. Deze handleiding behandelt hoe menu's werken en hoe je er een laat bouwen en testen.
Begin met dit voorbeeld.
Genereer dit met CodexeStap voor stap
1.Schets het menu
Een kistmenu heeft 1 tot 6 rijen van 9 vakken (9 tot 54). Schrijf op welk item in welk vak komt, wat elke klik doet en welke vakken alleen decoratie zijn, zoals glaspanelen.
2.Maak de inventory met een holder
Open hem met
Bukkit.createInventory(holder, size, title)en gebruik je eigenInventoryHolder-klasse. Via de holder weet de plugin dat een klik in zijn menu gebeurde en niet in een gewone kist.3.Verwerk klikken
Controleer in
InventoryClickEventde holder, annuleer het event en voer dan de actie voor dat vak uit. Sluit het menu of ververs het na de actie.4.Blokkeer elke andere manier om items te verplaatsen
Annuleer ook
InventoryDragEventen verwerk shift-klikken, cijfertoetsen en klikken in de eigen inventory van de speler terwijl het menu open is.5.Voeg pagina's toe als de lijst lang is
Reserveer voor warps of winkelitems die niet passen de onderste rij voor knoppen vorige, volgende en sluiten.
6.Open het met een commando
Bijvoorbeeld
/warps, of via een item of NPC. Geef het commando een permissie als het menu niet voor iedereen is.7.Bouw het en klik er doorheen
Laat Codexe de plugin compileren, join de testserver en klik op elke knop. Testspelers kunnen het menu ook voor je openen en op vakken klikken.
De regels die een menu veilig houden
- Herken het menu aan zijn holder, nooit aan zijn titel: titels kunnen worden nagemaakt met elke hernoemde kist.
- Annuleer de klik voordat je iets anders doet, zodat een fout in de actie het item nooit in de cursor van de speler achterlaat.
- Annuleer slepen en shift-klikken vanuit de inventory van de speler, anders kunnen items het menu in worden geduwd.
- Vertrouw het item in het vak niet: zoek de actie op aan de hand van het vaknummer of een tag op het item.
- Voer traag werk (databaselezingen, webverzoeken) buiten de main thread uit en werk het menu bij als het klaar is.
Menu's uit de config
Servereigenaren passen menu's graag aan zonder nieuwe build. Vraag om elk menu in een configbestand te definiëren, met de grootte, de titel en per knop het vak, het materiaal, de naam, de lore en de actie:
| Sleutel | Voorbeeld | Wat het doet |
|---|---|---|
size | 27 | Aantal vakken, een veelvoud van 9 |
slot | 13 | Waar de knop komt, geteld vanaf 0 |
material | ENDER_PEARL | Het getoonde item |
action | warp:spawn | Wat een klik doet: een warp, een commando, een ander menu |
Voorbeeldbeschrijving
"Een Paper 1.21.4-plugin genaamd WarpMenu. /warps opent een menu van 6 rijen met één knop per warp, 45 per pagina, met knoppen vorige, volgende en sluiten in de onderste rij. Admins voegen warps toe met /setwarp <name> <material> en verwijderen ze met /delwarp. Klikken op een warp teleporteert na een warmup van 3 seconden die bij beweging wordt geannuleerd. Spelers kunnen geen enkel item in het menu pakken of verplaatsen. Warps opgeslagen in warps.yml, menutitel, knopnamen en berichten in config.yml."
Menu's testen met testspelers
De testspelers van Codexe kunnen een menu openen en op een vak klikken, en dan controleren of er een menu openging, een bericht verscheen of een item werd gegeven. Voeg een test in je eigen woorden toe, zoals "een gewone speler voert /warps uit, klikt op vak 0 en ziet het teleportbericht", en die draait opnieuw elke keer dat Codexe een wijziging oplevert.
Vragen
Werkt dit op 1.8?
Kistmenu's bestaan op elke versie vanaf 1.8. De API verschilt in details (materiaalnamen, titels), dus zet de versie in het verzoek.
Kan ik menu's ook met Skript maken?
Ja, met de add-on skript-gui, die op de Skript-testserver van Codexe is geïnstalleerd. Voor grote of drukke menu's is een plugin beter.
Kan een menu eruitzien als een eigen texture?
Alleen met een resourcepack die de items of de achtergrond van de inventory verandert. Aan de pluginkant blijft alles hetzelfde: vakken, items en klikken.
Maak je menu
Deze prompt opent klaar om te versturen:
“Een Paper 1.21.4-plugin genaamd WarpMenu: /warps opent een menu van 6 rijen met één knop per warp, 45 per pagina, knoppen vorige/volgende/sluiten in de onderste rij, /setwarp met een naam en materiaal en /delwarp voor admins, teleport-warmup van 3 seconden die bij beweging wordt geannuleerd, geen enkel item kan worden gepakt of verplaatst, warps opgeslagen in warps.yml, titels en berichten in config.yml.”
Genereer dit met Codexe