Guide

Så gör du ett GUI-menyplugin för Minecraft

Uppdaterad 18 oktober 2026

Servermenyer (warps, butiker, kit, inställningar) är kistinventarier som pluginet öppnar och styr. Varje plats innehåller ett föremål som fungerar som knapp. De ser enkla ut, men en meny som inte avbryter alla sorters klick låter spelarna ta med sig knapparna hem. Den här guiden går igenom hur menyer fungerar och hur du får en byggd och testad.

Börja med det här exemplet.

Generera det här med Codexe

Steg för steg

  1. 1.Skissa menyn

    En kistmeny har 1 till 6 rader med 9 platser (9 till 54). Skriv vilket föremål som ska ligga på vilken plats, vad varje klick gör och vilka platser som bara är dekoration, som glasrutor.

  2. 2.Skapa inventariet med en holder

    Öppna det med Bukkit.createInventory(holder, size, title) och en egen klass för InventoryHolder. Det är genom holdern som pluginet vet att ett klick skedde i dess meny och inte i en vanlig kista.

  3. 3.Hantera klick

    I InventoryClickEvent kontrollerar du holdern, avbryter händelsen och kör sedan åtgärden för den platsen. Stäng menyn eller uppdatera den efter åtgärden.

  4. 4.Blockera alla andra sätt att flytta föremål

    Avbryt även InventoryDragEvent, och hantera shift-klick, siffertangenter och klick i spelarens eget inventarie medan menyn är öppen.

  5. 5.Lägg till sidor om listan är lång

    För warps eller butiksföremål som inte får plats reserverar du den nedersta raden för knapparna föregående, nästa och stäng.

  6. 6.Öppna den med ett kommando

    Till exempel /warps, eller från ett föremål eller en NPC. Ge kommandot en behörighet om menyn inte är för alla.

  7. 7.Bygg och klicka dig igenom den

    Låt Codexe kompilera pluginet, anslut till testservern och klicka på varje knapp. Testspelare kan också öppna menyn och klicka på platser åt dig.

Reglerna som håller en meny säker

  • Identifiera menyn med dess holder, aldrig med titeln: titlar kan kopieras av vilken omdöpt kista som helst.
  • Avbryt klicket innan du gör något annat, så att ett fel i åtgärden aldrig lämnar föremålet kvar i spelarens markör.
  • Avbryt dragningar och shift-klick från spelarens inventarie, annars kan föremål tryckas in i menyn.
  • Lita inte på föremålet på platsen: slå upp åtgärden via platsnumret eller via en tagg på föremålet.
  • Kör långsamt arbete (databasläsningar, webbförfrågningar) utanför huvudtråden och uppdatera menyn när det är klart.

Menyer från konfigurationen

Serverägare vill gärna ändra menyer utan ett nytt bygge. Be om att varje meny definieras i en konfigurationsfil, med storlek, titel och, per knapp, plats, material, namn, lore och åtgärd:

NyckelExempelVad den gör
size27Antal platser, en multipel av 9
slot13Var knappen hamnar, räknat från 0
materialENDER_PEARLFöremålet som visas
actionwarp:spawnVad ett klick gör: en warp, ett kommando, en annan meny

Exempelbeskrivning

”Ett Paper 1.21.4-plugin som heter WarpMenu. /warps öppnar en meny med 6 rader och en knapp per warp, 45 per sida, med knapparna föregående, nästa och stäng på den nedersta raden. Admins lägger till warps med /setwarp <name> <material> och tar bort dem med /delwarp. Ett klick på en warp teleporterar efter en uppvärmning på 3 sekunder som avbryts vid rörelse. Spelarna kan inte ta eller flytta något föremål i menyn. Warps sparas i warps.yml, menytitel, knappnamn och meddelanden i config.yml.”

Testa menyer med testspelare

Codexes testspelare kan öppna en meny och klicka på en plats, och sedan kontrollera att en meny öppnades, ett meddelande visades eller ett föremål delades ut. Lägg till ett test med egna ord, till exempel ”en vanlig spelare kör /warps, klickar på plats 0 och ser teleportmeddelandet”, så körs det igen varje gång Codexe levererar en ändring.

Frågor

Fungerar det här på 1.8?

Kistmenyer finns i alla versioner från 1.8. API:et skiljer sig i detaljer (materialnamn, titlar), så ange versionen i begäran.

Kan jag göra menyer med Skript i stället?

Ja, med tillägget skript-gui, som finns installerat på Codexes Skript-testserver. Ett plugin är bättre för stora eller mycket använda menyer.

Kan en meny se ut som en egen textur?

Bara med ett resource pack som ändrar föremålen eller inventariets bakgrund. Pluginsidan är densamma: platser, föremål och klick.

Gör din meny

Den här prompten öppnas färdig att skicka:

“Ett Paper 1.21.4-plugin som heter WarpMenu: /warps öppnar en meny med 6 rader och en knapp per warp, 45 per sida, knapparna föregående/nästa/stäng på den nedersta raden, /setwarp med namn och material och /delwarp för admins, 3 sekunders uppvärmning före teleport som avbryts vid rörelse, inget föremål kan tas eller flyttas, warps sparade i warps.yml, titlar och meddelanden i config.yml.”

Generera det här med Codexe
Så gör du ett plugin med GUI-menyer för Minecraft | Codexe