Ghid
Cum faci un plugin cu meniu GUI pentru Minecraft
Actualizat 18 octombrie 2026
Meniurile serverului (warp-uri, magazine, kituri, setări) sunt inventare tip cufăr pe care pluginul le deschide și le controlează. Fiecare slot conține un obiect care funcționează ca buton. Par simple, dar un meniu care nu anulează orice tip de click îi lasă pe jucători să ia butoanele acasă. Ghidul acoperă cum funcționează meniurile și cum obții unul construit și testat.
Pornește de la acest exemplu.
Generează asta cu CodexePas cu pas
1.Schițează meniul
Un meniu tip cufăr are între 1 și 6 rânduri de câte 9 sloturi (de la 9 la 54). Scrie ce obiect merge în ce slot, ce face fiecare click și ce sloturi sunt doar decor, de exemplu panouri de sticlă.
2.Creează inventarul cu un holder
Deschide-l cu
Bukkit.createInventory(holder, size, title), folosind propria clasăInventoryHolder. Holder-ul este modul în care pluginul știe că un click a avut loc în meniul lui și nu într-un cufăr normal.3.Gestionează click-urile
În
InventoryClickEvent, verifică holder-ul, anulează evenimentul, apoi rulează acțiunea pentru acel slot. Închide meniul sau reîmprospătează-l după acțiune.4.Blochează orice alt mod de a muta obiecte
Anulează și
InventoryDragEventși gestionează shift-click-urile, tastele numerice și click-urile din inventarul jucătorului cât timp meniul e deschis.5.Adaugă pagini dacă lista e lungă
Pentru warp-uri sau obiecte de magazin care nu încap, rezervă rândul de jos pentru butoanele înapoi, înainte și închide.
6.Deschide-l dintr-o comandă
De exemplu
/warpssau dintr-un obiect ori un NPC. Dă comenzii o permisiune dacă meniul nu e pentru toată lumea.7.Construiește-l și dă click prin el
Lasă Codexe să compileze pluginul, intră pe serverul de testare și dă click pe fiecare buton. Și jucătorii de test pot deschide meniul și pot da click pe sloturi pentru tine.
Regulile care țin un meniu în siguranță
- Identifică meniul după holder, niciodată după titlu: titlul poate fi copiat de orice cufăr redenumit.
- Anulează click-ul înainte de orice altceva, ca o eroare în acțiune să nu lase niciodată obiectul în cursorul jucătorului.
- Anulează drag-urile și shift-click-urile din inventarul jucătorului, altfel obiectele pot fi împinse în meniu.
- Nu te baza pe obiectul din slot: caută acțiunea după numărul slotului sau după un tag de pe obiect.
- Rulează munca lentă (citiri din baza de date, cereri web) în afara thread-ului principal și actualizează meniul când e gata.
Meniuri din config
Proprietarilor de servere le place să schimbe meniurile fără un build nou. Cere ca fiecare meniu să fie definit într-un fișier de configurare, cu dimensiunea, titlul și, pentru fiecare buton, slotul, materialul, numele, lore-ul și acțiunea:
| Cheie | Exemplu | Ce face |
|---|---|---|
size | 27 | Numărul de sloturi, multiplu de 9 |
slot | 13 | Unde merge butonul, numărând de la 0 |
material | ENDER_PEARL | Obiectul afișat |
action | warp:spawn | Ce face un click: un warp, o comandă, alt meniu |
Exemplu de descriere
„Un plugin Paper 1.21.4 numit WarpMenu. /warps deschide un meniu de 6 rânduri cu un buton pentru fiecare warp, 45 pe pagină, cu butoanele înapoi, înainte și închide pe rândul de jos. Adminii adaugă warp-uri cu /setwarp <name> <material> și le șterg cu /delwarp. Click pe un warp teleportează după o așteptare de 3 secunde care se anulează la mișcare. Jucătorii nu pot lua sau muta niciun obiect din meniu. Warp-urile salvate în warps.yml, titlul meniului, numele butoanelor și mesajele în config.yml.”
Testarea meniurilor cu jucători de test
Jucătorii de test ai Codexe pot deschide un meniu și pot da click pe un slot, apoi verifică dacă s-a deschis un meniu, a apărut un mesaj sau a fost dat un obiect. Adaugă un test cu propriile cuvinte, de exemplu „un jucător normal rulează /warps, dă click pe slotul 0 și vede mesajul de teleportare”, iar el rulează din nou de fiecare dată când Codexe livrează o modificare.
Întrebări
Funcționează pe 1.8?
Meniurile tip cufăr există pe toate versiunile de la 1.8. API-ul diferă în detalii (numele materialelor, titlurile), așa că scrie versiunea în cerere.
Pot face meniuri cu Skript în loc?
Da, cu add-on-ul skript-gui, pe care serverul de testare Skript al Codexe îl are instalat. Un plugin e mai bun pentru meniuri mari sau foarte folosite.
Poate un meniu să arate ca o textură custom?
Doar cu un resource pack care schimbă obiectele sau fundalul inventarului. Partea de plugin e aceeași: sloturi, obiecte și click-uri.
Fă-ți meniul
Acest prompt se deschide gata de trimis:
“Un plugin Paper 1.21.4 numit WarpMenu: /warps deschide un meniu de 6 rânduri cu un buton pentru fiecare warp, 45 pe pagină, butoane înapoi/înainte/închide pe rândul de jos, /setwarp cu un nume și un material și /delwarp pentru admini, așteptare de 3 secunde la teleportare care se anulează la mișcare, niciun obiect nu poate fi luat sau mutat, warp-urile salvate în warps.yml, titlurile și mesajele în config.yml.”
Generează asta cu Codexe