Útmutató

Hogyan készíts Minecraft GUI-menü plugint

Frissítve: 2026. október 18.

A szervermenük (warpok, boltok, kitek, beállítások) ládainventoryk, amelyeket a plugin nyit meg és vezérel. Minden slotban egy tárgy van, amely gombként működik. Egyszerűnek tűnnek, de egy menü, amely nem tilt le minden kattintásfajtát, hagyja, hogy a játékosok hazavigyék a gombokat. Ez az útmutató bemutatja, hogyan működnek a menük, és hogyan készíttess és tesztelj egyet.

Indulj ebből a példából.

Generáld ezt a Codexe-szel

Lépésről lépésre

  1. 1.Vázold fel a menüt

    Egy ládamenü 1–6 sorból áll, soronként 9 slottal (9–54). Írd le, melyik tárgy melyik slotba kerül, mit csinál az egyes kattintás, és mely slotok csak díszítések, például üveglapok.

  2. 2.Hozd létre az inventoryt egy holderrel

    Nyisd meg a Bukkit.createInventory(holder, size, title) hívással, a saját InventoryHolder osztályoddal. A holderből tudja a plugin, hogy a kattintás az ő menüjében történt, nem egy normál ládában.

  3. 3.Kezeld a kattintásokat

    Az InventoryClickEvent eseményben ellenőrizd a holdert, tiltsd le az eseményt, majd futtasd az adott slot műveletét. A művelet után zárd be vagy frissítsd a menüt.

  4. 4.Zárj el minden más módot a tárgyak mozgatására

    Tiltsd le az InventoryDragEvent eseményt is, és kezeld a shift-kattintásokat, a számbillentyűket és a játékos saját inventoryjában történő kattintásokat, amíg a menü nyitva van.

  5. 5.Adj hozzá oldalakat, ha hosszú a lista

    A nem férő warpokhoz vagy bolti tárgyakhoz tartsd fenn az alsó sort az előző, a következő és a bezárás gombnak.

  6. 6.Nyisd meg egy parancsból

    Például /warps, vagy egy tárgyból vagy NPC-ből. Adj jogosultságot a parancshoz, ha a menü nem mindenkinek szól.

  7. 7.Buildeld, és kattints végig rajta

    Hagyd, hogy a Codexe lefordítsa a plugint, csatlakozz a tesztszerverre, és kattints meg minden gombot. A tesztjátékosok is megnyithatják helyetted a menüt és kattinthatnak a slotokra.

A szabályok, amelyek biztonságban tartják a menüt

  • A menüt a holder alapján azonosítsd, soha ne a címe alapján: a címet bármelyik átnevezett láda lemásolhatja.
  • Tiltsd le a kattintást, mielőtt bármi mást csinálnál, így a művelet egy hibája soha nem hagyja a tárgyat a játékos kurzorán.
  • Tiltsd le a húzásokat és a shift-kattintásokat a játékos inventoryjából, különben tárgyakat lehet a menübe tolni.
  • Ne bízz a slotban lévő tárgyban: a műveletet a slot száma vagy a tárgyon lévő címke alapján keresd ki.
  • A lassú munkát (adatbázis-olvasás, webes kérések) a főszálon kívül futtasd, és frissítsd a menüt, amikor elkészült.

Menük configból

A szervertulajdonosok szeretik új build nélkül módosítani a menüket. Kérd, hogy minden menü egy konfigurációs fájlban legyen megadva a mérettel, a címmel, gombonként pedig a slottal, az anyaggal, a névvel, a lore-ral és a művelettel:

KulcsPéldaMit csinál
size27A slotok száma, 9 többszöröse
slot13Hová kerül a gomb, 0-tól számolva
materialENDER_PEARLA megjelenített tárgy
actionwarp:spawnMit csinál egy kattintás: warp, parancs, másik menü

Példa leírás

„Egy Paper 1.21.4 plugin WarpMenu néven. A /warps egy 6 soros menüt nyit warponként egy gombbal, oldalanként 45-tel, az alsó sorban előző, következő és bezárás gombbal. Az adminok a /setwarp <name> <material> paranccsal adnak hozzá warpokat, és a /delwarp paranccsal törlik őket. Egy warpra kattintva 3 másodperces várakozás után teleportál, amely mozgáskor megszakad. A játékosok semmilyen tárgyat nem vehetnek ki és nem mozgathatnak a menüben. Warpok a warps.yml-ben, a menü címe, a gombnevek és az üzenetek a config.yml-ben.”

Menük tesztelése tesztjátékosokkal

A Codexe tesztjátékosai meg tudnak nyitni egy menüt és rá tudnak kattintani egy slotra, majd ellenőrzik, hogy megnyílt-e egy menü, megjelent-e egy üzenet, vagy kaptak-e tárgyat. Adj hozzá egy tesztet a saját szavaiddal, például „egy normál játékos lefuttatja a /warps parancsot, a 0. slotra kattint, és látja a teleportüzenetet”, és ez minden alkalommal újra lefut, amikor a Codexe módosítást ad át.

Kérdések

Működik ez 1.8-on?

Ládamenük minden verzióban léteznek 1.8-tól. Az API részletekben eltér (anyagnevek, címek), ezért írd bele a verziót a kérésbe.

Készíthetek menüket inkább Skripttel?

Igen, a skript-gui kiegészítővel, amely telepítve van a Codexe Skript-tesztszerverén. Nagy vagy sokat használt menükhöz a plugin jobb.

Kinézhet egy menü egyedi textúrának?

Csak egy resource packkel, amely megváltoztatja a tárgyakat vagy az inventory hátterét. A plugin oldala ugyanaz: slotok, tárgyak és kattintások.

Készítsd el a menüdet

Ez a prompt küldésre készen nyílik meg:

“Egy Paper 1.21.4 plugin WarpMenu néven: a /warps egy 6 soros menüt nyit warponként egy gombbal, oldalanként 45-tel, előző/következő/bezárás gombokkal az alsó sorban, /setwarp névvel és anyaggal, valamint /delwarp az adminoknak, 3 másodperces teleport-várakozás, amely mozgáskor megszakad, semmilyen tárgy nem vehető ki és nem mozgatható, warpok a warps.yml-ben, címek és üzenetek a config.yml-ben.”

Generáld ezt a Codexe-szel
Hogyan készíts GUI-menü plugint Minecrafthoz | Codexe