Príručka
Ako vytvoriť plugin s GUI menu pre Minecraft
Aktualizované 18. októbra 2026
Serverové menu (warpy, obchody, kity, nastavenia) sú inventáre truhlice, ktoré plugin otvára a ovláda. Každý slot obsahuje predmet, ktorý funguje ako tlačidlo. Vyzerajú jednoducho, ale menu, ktoré nezruší každý druh kliknutia, dovolí hráčom odniesť si tlačidlá domov. Táto príručka vysvetľuje, ako menu fungujú a ako si ho nechať zostaviť a otestovať.
Začni od tohto príkladu.
Vygeneruj to v CodexeKrok za krokom
1.Načrtni menu
Menu v truhlici má 1 až 6 riadkov po 9 slotov (9 až 54). Napíš, ktorý predmet patrí do ktorého slotu, čo robí každé kliknutie a ktoré sloty sú iba dekorácia, napríklad sklenené tabule.
2.Vytvor inventár s holderom
Otvor ho cez
Bukkit.createInventory(holder, size, title)s vlastnou triedouInventoryHolder. Podľa holdera plugin vie, že kliknutie prišlo v jeho menu, a nie v obyčajnej truhlici.3.Spracuj kliknutia
V
InventoryClickEventskontroluj holder, zruš event a potom spusti akciu pre daný slot. Po akcii menu zatvor alebo obnov.4.Zablokuj všetky ostatné spôsoby presúvania predmetov
Zruš aj
InventoryDragEventa ošetri shift-kliky, číselné klávesy a kliky vo vlastnom inventári hráča, kým je menu otvorené.5.Pri dlhom zozname pridaj stránky
Pre warpy alebo predmety v obchode, ktoré sa nezmestia, vyhraď spodný riadok pre tlačidlá späť, ďalej a zavrieť.
6.Otváraj ho príkazom
Napríklad
/warpsalebo z predmetu či NPC. Ak menu nie je pre každého, daj príkazu oprávnenie.7.Zostav ho a preklikaj
Nechaj Codexe plugin skompilovať, pripoj sa na testovací server a klikni na každé tlačidlo. Menu môžu otvoriť a na sloty klikať aj testovací hráči.
Pravidlá, vďaka ktorým je menu bezpečné
- Menu rozpoznávaj podľa holdera, nikdy podľa názvu: názov skopíruje každá premenovaná truhlica.
- Kliknutie zruš skôr, než urobíš čokoľvek iné, aby chyba v akcii nikdy nenechala predmet na kurzore hráča.
- Zruš ťahanie a shift-kliky z inventára hráča, inak sa dajú predmety vtlačiť do menu.
- Never predmetu v slote: akciu vyhľadaj podľa čísla slotu alebo podľa značky na predmete.
- Pomalú prácu (čítanie z databázy, webové požiadavky) spúšťaj mimo hlavného vlákna a menu aktualizuj, keď je hotová.
Menu z configu
Majitelia serverov radi menia menu bez nového buildu. Požiadaj, aby bolo každé menu definované v konfiguračnom súbore s veľkosťou, názvom a pre každé tlačidlo so slotom, materiálom, názvom, lore a akciou:
| Kľúč | Príklad | Čo robí |
|---|---|---|
size | 27 | Počet slotov, násobok 9 |
slot | 13 | Kam tlačidlo patrí, počíta sa od 0 |
material | ENDER_PEARL | Zobrazený predmet |
action | warp:spawn | Čo urobí kliknutie: warp, príkaz, iné menu |
Príklad popisu
„Plugin pre Paper 1.21.4 s názvom WarpMenu. /warps otvorí 6-riadkové menu s jedným tlačidlom na warp, 45 na stránku, s tlačidlami späť, ďalej a zavrieť v spodnom riadku. Admini pridávajú warpy cez /setwarp <name> <material> a odstraňujú ich cez /delwarp. Kliknutie na warp teleportuje po 3-sekundovom čakaní, ktoré sa pohybom zruší. Hráči nemôžu v menu zobrať ani presunúť žiadny predmet. Warpy uložené vo warps.yml, názov menu, názvy tlačidiel a správy v config.yml.“
Testovanie menu s testovacími hráčmi
Testovací hráči Codexe vedia otvoriť menu a kliknúť na slot a potom skontrolovať, či sa otvorilo menu, objavila správa alebo dostali predmet. Pridaj test vlastnými slovami, napríklad „bežný hráč spustí /warps, klikne na slot 0 a uvidí správu o teleporte“, a spustí sa znova pri každej zmene, ktorú Codexe dodá.
Otázky
Funguje to aj na 1.8?
Menu v truhlici existujú v každej verzii od 1.8. API sa líši v detailoch (názvy materiálov, názvy okien), preto uveď v zadaní verziu.
Môžem menu urobiť radšej v Skripte?
Áno, s doplnkom skript-gui, ktorý má testovací server Codexe pre Skript nainštalovaný. Na veľké alebo často používané menu je lepší plugin.
Môže menu vyzerať ako vlastná textúra?
Iba s resource packom, ktorý mení predmety alebo pozadie inventára. Na strane pluginu je všetko rovnaké: sloty, predmety a kliky.
Vytvor svoje menu
Toto zadanie sa otvorí pripravené na odoslanie:
“Plugin pre Paper 1.21.4 s názvom WarpMenu: /warps otvorí 6-riadkové menu s jedným tlačidlom na warp, 45 na stránku, tlačidlá späť/ďalej/zavrieť v spodnom riadku, /setwarp s názvom a materiálom a /delwarp pre adminov, 3-sekundové čakanie na teleport, ktoré sa pohybom zruší, žiadny predmet sa nedá zobrať ani presunúť, warpy uložené vo warps.yml, názvy a správy v config.yml.”
Vygeneruj to v Codexe