Ú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-szelLépésről lépésre
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.Hozd létre az inventoryt egy holderrel
Nyisd meg a
Bukkit.createInventory(holder, size, title)hívással, a sajátInventoryHolderosztá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.Kezeld a kattintásokat
Az
InventoryClickEventesemé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.Zárj el minden más módot a tárgyak mozgatására
Tiltsd le az
InventoryDragEventesemé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.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.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.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:
| Kulcs | Példa | Mit csinál |
|---|---|---|
size | 27 | A slotok száma, 9 többszöröse |
slot | 13 | Hová kerül a gomb, 0-tól számolva |
material | ENDER_PEARL | A megjelenített tárgy |
action | warp:spawn | Mit 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