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 Codexe

Pas cu pas

  1. 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. 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. 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. 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. 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. 6.Deschide-l dintr-o comandă

    De exemplu /warps sau dintr-un obiect ori un NPC. Dă comenzii o permisiune dacă meniul nu e pentru toată lumea.

  7. 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:

CheieExempluCe face
size27Numărul de sloturi, multiplu de 9
slot13Unde merge butonul, numărând de la 0
materialENDER_PEARLObiectul afișat
actionwarp:spawnCe 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
Cum faci un plugin cu meniu GUI pentru Minecraft | Codexe