Návod

Jak vytvořit plugin s GUI menu pro Minecraft

Aktualizováno 18. října 2026

Menu na serveru (warpy, obchody, kity, nastavení) jsou inventáře truhel, které plugin otevírá a ovládá. Každý slot obsahuje předmět, který funguje jako tlačítko. Vypadají jednoduše, ale menu, které nezruší každý druh kliknutí, nechá hráče odnést si tlačítka domů. Tento návod vysvětluje, jak menu fungují a jak si ho nechat sestavit a otestovat.

Začni tímto příkladem.

Vygeneruj to s Codexe

Krok za krokem

  1. 1.Načrtni menu

    Menu v truhle má 1 až 6 řad po 9 slotech (9 až 54). Napiš, který předmět patří do kterého slotu, co dělá každé kliknutí a které sloty jsou jen dekorace, třeba skleněné tabule.

  2. 2.Vytvoř inventář s holderem

    Otevři ho přes Bukkit.createInventory(holder, size, title) s vlastní třídou InventoryHolder. Podle holderu plugin pozná, že kliknutí proběhlo v jeho menu, a ne v obyčejné truhle.

  3. 3.Zpracuj kliknutí

    V InventoryClickEvent zkontroluj holder, zruš událost a pak spusť akci pro daný slot. Po akci menu zavři nebo obnov.

  4. 4.Zablokuj všechny ostatní způsoby přesunu předmětů

    Zruš i InventoryDragEvent a ošetři shift-kliknutí, číselné klávesy a kliknutí ve vlastním inventáři hráče, dokud je menu otevřené.

  5. 5.Přidej stránky, pokud je seznam dlouhý

    Pro warpy nebo předměty v obchodě, které se nevejdou, vyhraď spodní řadu pro tlačítka předchozí, další a zavřít.

  6. 6.Otevírej ho příkazem

    Například /warps, nebo z předmětu či NPC. Pokud menu není pro všechny, dej příkazu oprávnění.

  7. 7.Sestav ho a proklikej

    Nech Codexe plugin zkompilovat, připoj se na testovací server a klikni na každé tlačítko. Menu za tebe můžou otevřít a proklikat sloty i testovací hráči.

Pravidla, díky kterým je menu bezpečné

  • Menu poznávej podle holderu, nikdy podle titulku: titulek okopíruje jakákoli přejmenovaná truhla.
  • Kliknutí zruš dřív, než uděláš cokoli jiného, aby chyba v akci nikdy nenechala předmět hráči na kurzoru.
  • Zruš tažení a shift-kliknutí z inventáře hráče, jinak jde předměty do menu natlačit.
  • Nevěř předmětu ve slotu: akci hledej podle čísla slotu nebo podle štítku na předmětu.
  • Pomalou práci (čtení z databáze, webové požadavky) spouštěj mimo hlavní vlákno a menu aktualizuj, až skončí.

Menu z konfigurace

Majitelé serverů rádi mění menu bez nového sestavení. Požádej, aby každé menu bylo definované v konfiguračním souboru, s velikostí, titulkem a u každého tlačítka se slotem, materiálem, názvem, lore a akcí:

KlíčPříkladCo dělá
size27Počet slotů, násobek 9
slot13Kam tlačítko patří, počítáno od 0
materialENDER_PEARLZobrazený předmět
actionwarp:spawnCo kliknutí udělá: warp, příkaz, jiné menu

Příklad popisu

„Plugin pro Paper 1.21.4 jménem WarpMenu. /warps otevře menu se 6 řadami a jedním tlačítkem na každý warp, 45 na stránku, s tlačítky předchozí, další a zavřít ve spodní řadě. Admini přidávají warpy přes /setwarp <name> <material> a odebírají je přes /delwarp. Kliknutí na warp teleportuje po 3sekundovém čekání, které se při pohybu zruší. Hráči nemůžou z menu vzít ani přesunout žádný předmět. Warpy uložené ve warps.yml, titulek menu, názvy tlačítek a zprávy v config.yml.“

Testování menu s testovacími hráči

Testovací hráči Codexe umí otevřít menu a kliknout na slot a pak zkontrolovat, že se otevřelo menu, objevila se zpráva nebo dostali předmět. Přidej test vlastními slovy, třeba „běžný hráč spustí /warps, klikne na slot 0 a uvidí zprávu o teleportu“, a spustí se znovu pokaždé, když Codexe dodá změnu.

Otázky

Funguje to na 1.8?

Menu v truhle existují v každé verzi od 1.8. API se liší v detailech (názvy materiálů, titulky), proto napiš verzi do zadání.

Můžu menu udělat radši ve Skriptu?

Ano, s doplňkem skript-gui, který má testovací server Codexe pro Skript nainstalovaný. Na velká nebo hodně používaná menu je lepší plugin.

Může menu vypadat jako vlastní textura?

Jen s resource packem, který změní předměty nebo pozadí inventáře. Na straně pluginu je to stejné: sloty, předměty a kliknutí.

Vytvoř své menu

Toto zadání se otevře připravené k odeslání:

“Plugin pro Paper 1.21.4 jménem WarpMenu: /warps otevře menu se 6 řadami a jedním tlačítkem na každý warp, 45 na stránku, tlačítka předchozí/další/zavřít ve spodní řadě, /setwarp s názvem a materiálem a /delwarp pro adminy, 3sekundové čekání na teleport, které se při pohybu zruší, žádný předmět nejde vzít ani přesunout, warpy uložené ve warps.yml, titulky a zprávy v config.yml.”

Vygeneruj to s Codexe
Jak vytvořit plugin s GUI menu pro Minecraft | Codexe