Guide
Slik lager du et Minecraft-plugin med GUI-menyer
Oppdatert 18. oktober 2026
Servermenyer (warps, butikker, kits, innstillinger) er kisteinventarer som pluginet åpner og styrer. Hver plass holder en gjenstand som fungerer som en knapp. De ser enkle ut, men en meny som ikke avbryter alle typer klikk, lar spillerne ta med seg knappene hjem. Denne guiden viser hvordan menyer fungerer og hvordan du får bygget og testet en.
Start fra dette eksempelet.
Generer dette med CodexeSteg for steg
1.Skisser menyen
En kistemeny har 1 til 6 rader med 9 plasser (9 til 54). Skriv hvilken gjenstand som skal i hvilken plass, hva hvert klikk gjør, og hvilke plasser som bare er pynt, som glassruter.
2.Opprett inventaret med en holder
Åpne det med
Bukkit.createInventory(holder, size, title), med din egenInventoryHolder-klasse. Holderen er måten pluginet vet at et klikk skjedde i menyen og ikke i en vanlig kiste.3.Håndter klikk
I
InventoryClickEventsjekker du holderen, avbryter eventen og kjører så handlingen for den plassen. Lukk menyen eller oppdater den etter handlingen.4.Blokker alle andre måter å flytte gjenstander på
Avbryt også
InventoryDragEvent, og håndter shift-klikk, talltaster og klikk i spillerens eget inventar mens menyen er åpen.5.Legg til sider hvis listen er lang
For warps eller butikkvarer som ikke får plass, reserver den nederste raden til knapper for forrige, neste og lukk.
6.Åpne den fra en kommando
For eksempel
/warps, eller fra en gjenstand eller en NPC. Gi kommandoen en tillatelse hvis menyen ikke er for alle.7.Bygg og klikk deg gjennom den
La Codexe kompilere pluginet, koble til testserveren og klikk på hver knapp. Testspillere kan også åpne menyen og klikke på plasser for deg.
Reglene som holder en meny trygg
- Kjenn igjen menyen på holderen, aldri på tittelen: titler kan kopieres av en hvilken som helst kiste med nytt navn.
- Avbryt klikket før du gjør noe annet, så en feil i handlingen aldri etterlater gjenstanden på spillerens markør.
- Avbryt dra og shift-klikk fra spillerens inventar, ellers kan gjenstander dyttes inn i menyen.
- Ikke stol på gjenstanden i plassen: slå opp handlingen etter plassnummer eller etter en tagg på gjenstanden.
- Kjør tregt arbeid (databaselesing, nettforespørsler) utenfor hovedtråden, og oppdater menyen når det er ferdig.
Menyer fra konfigurasjonen
Servereiere liker å endre menyer uten et nytt bygg. Be om at hver meny defineres i en konfigurasjonsfil, med størrelse, tittel og, for hver knapp, plass, materiale, navn, lore og handling:
| Nøkkel | Eksempel | Hva den gjør |
|---|---|---|
size | 27 | Antall plasser, et multiplum av 9 |
slot | 13 | Hvor knappen havner, regnet fra 0 |
material | ENDER_PEARL | Gjenstanden som vises |
action | warp:spawn | Hva et klikk gjør: en warp, en kommando, en annen meny |
Eksempelbeskrivelse
«Et Paper 1.21.4-plugin kalt WarpMenu. /warps åpner en meny med 6 rader og én knapp per warp, 45 per side, med knapper for forrige, neste og lukk i nederste rad. Admins legger til warps med /setwarp <name> <material> og fjerner dem med /delwarp. Et klikk på en warp teleporterer etter 3 sekunders oppvarming som avbrytes ved bevegelse. Spillerne kan ikke ta eller flytte noen gjenstand i menyen. Warps lagres i warps.yml, menytittel, knappenavn og meldinger i config.yml.»
Teste menyer med testspillere
Codexes testspillere kan åpne en meny og klikke på en plass, og så sjekke at en meny åpnet seg, at en melding dukket opp eller at en gjenstand ble gitt. Legg til en test med dine egne ord, som «en vanlig spiller kjører /warps, klikker på plass 0 og ser teleporteringsmeldingen», så kjøres den på nytt hver gang Codexe leverer en endring.
Spørsmål
Fungerer dette på 1.8?
Kistemenyer finnes i alle versjoner fra 1.8. API-et er ulikt i detaljene (materialnavn, titler), så skriv versjonen i forespørselen.
Kan jeg lage menyer med Skript i stedet?
Ja, med tillegget skript-gui, som er installert på Codexes Skript-testserver. Et plugin er bedre for store eller travle menyer.
Kan en meny se ut som en egen tekstur?
Bare med en ressurspakke som endrer gjenstandene eller bakgrunnen i inventaret. Pluginsiden er den samme: plasser, gjenstander og klikk.
Lag menyen din
Denne prompten åpnes klar til å sendes:
“Et Paper 1.21.4-plugin kalt WarpMenu: /warps åpner en meny med 6 rader og én knapp per warp, 45 per side, knapper for forrige/neste/lukk i nederste rad, /setwarp med navn og materiale og /delwarp for admins, 3 sekunders oppvarming før teleportering som avbrytes ved bevegelse, ingen gjenstand kan tas eller flyttes, warps lagret i warps.yml, titler og meldinger i config.yml.”
Generer dette med Codexe