Návod
Jak vytvořit vlastní předměty pluginem
Aktualizováno 18. října 2026
Vlastní meče, hůlky, klíče a nástroje patří k nejžádanějším funkcím pluginů. Plugin nedokáže do hry přidat opravdu nový předmět, ale může vzít vanilla předmět, dát mu název, lore a skrytý štítek a reagovat, když ho hráč použije. Hráči se připojují s normální hrou, bez módů.
Uprav předměty podle sebe.
Vygeneruj to s CodexeKrok za krokem
1.Sepiš předměty
Pro každý předmět: základní materiál, zobrazovaný název, řádky lore a co dělá. „Blaze rod jménem Fire Wand, který na pravé kliknutí vystřelí ohnivou kouli, cooldown 5 sekund“ je kompletní předmět.
2.Označ je přes PersistentDataContainer
Ulož ID jako
fire_wanddoPersistentDataContainerpředmětu sNamespacedKey. Plugin pozná předmět podle tohoto štítku, ne podle názvu, takže přejmenování na kovadlině nevytvoří kopii.3.Napiš schopnosti
Každá schopnost je posluchač událostí:
PlayerInteractEventpro pravá kliknutí,EntityDamageByEntityEventpro zásahy,BlockBreakEventpro nástroje. Přidej cooldowny pro každého hráče a každý předmět.4.Rozhodni, jak je hráči získají
Příkaz
/givepro adminy, recept na craftění, obchod, dropy z mobů nebo odměny z beden.5.Udělej všechno nastavitelné
Názvy, lore, poškození, cooldowny a recepty v
config.yml, abys mohl/a předměty vyvažovat bez nového sestavení.6.Sestav a vyzkoušej každý předmět
Nech Codexe plugin zkompilovat, přes Vyzkoušet hned se připoj na testovací server, dej si každý předmět a použij ho.
Proč štítek, a ne název
Kontrolovat zobrazovaný název nebo lore je klasická chyba: kterýkoli hráč s kovadlinou přejmenuje klacek na „Fire Wand“. PersistentDataContainer (Minecraft 1.14 a novější) ukládá na předmět data, která hráči nemůžou upravit, a přežijí restarty, truhly i obchodování, protože jsou součástí předmětu.
Ve verzích 1.8 až 1.13 PersistentDataContainer neexistuje; pluginy používají NBT přes knihovnu nebo skrytou značku v lore. Napiš verzi do zadání a Codexe použije přístup, který daná verze podporuje.
Schopnosti a události za nimi
| Schopnost | Událost | Poznámky |
|---|---|---|
| Schopnost na pravé kliknutí | PlayerInteractEvent | Kontroluj ruku, událost se spustí pro každou ruku zvlášť |
| Extra poškození nebo efekty při zásahu | EntityDamageByEntityEvent | Ověř, že útočník je hráč, který drží předmět |
| Nástroj na těžbu v oblasti | BlockBreakEvent | Respektuj ochranné pluginy jako WorldGuard |
| Pasivní efekt při držení | Opakovaná úloha nebo PlayerItemHeldEvent | Odeber efekt, když hráč předmět odloží |
| Luk nebo projektil | EntityShootBowEvent, ProjectileHitEvent | Označ projektil, abys věděl/a, odkud přišel |
Textury a modely
Plugin mění, co předmět dělá, ne jak vypadá. Vlastní vzhled potřebuje resource pack, který si hráči stáhnou: ve starších verzích nese předmět číslo CustomModelData, které pack přiřadí k modelu, a od 1.21.2 může předmět odkazovat i na vlastní model přes komponentu item_model. Bez packu vypadá předmět jako jeho základní materiál s vlastním názvem, což mnoha serverům stačí.
Příklad popisu
„Plugin pro Paper 1.21.4 jménem MagicItems. Tři předměty, každý označený ID v PersistentDataContainer: Fire Wand (blaze rod, pravé kliknutí vystřelí ohnivou kouli, cooldown 5 s), Frost Blade (železný meč, zásahy dávají Slowness II na 3 s), Miner's Pick (diamantový krumpáč, těží 3x3, ale ne v regionech WorldGuardu, kde hráč nemůže stavět). /mi give <player> <item> pro magicitems.admin. Tvarované recepty pro každý předmět. Názvy, lore, cooldowny a recepty v config.yml.“
Otázky
Plugin, nebo mód pro vlastní předměty?
Plugin, pokud se hráči mají připojovat s normální hrou: předměty jsou vanilla předměty s novým chováním. Mód, pokud potřebuješ opravdu nové předměty nebo bloky s vlastním vykreslováním, které si pak nainstaluje každý hráč. Viz plugin vs mód.
Můžu s ním používat ItemsAdder nebo Nexo?
Tvůj plugin na nich může záviset, ale jsou to placené pluginy: testovací server Codexe je nainstalovat nemůže, takže plugin, který některý z nich vyžaduje, se tam nezapne. Bezplatné závislosti uvedené v plugin.yml se na testovací server nainstalují za tebe.
Přestanou předměty po aktualizaci fungovat?
Předměty označené přes PersistentDataContainer si štítek udrží i po aktualizacích Minecraftu. Schopnosti můžou pro nové API potřebovat nové sestavení; viz aktualizace pluginu.
Vytvoř své vlastní předměty
Toto zadání se otevře připravené k odeslání:
“Plugin pro Paper 1.21.4 jménem MagicItems se třemi předměty označenými přes PersistentDataContainer: Fire Wand (blaze rod, pravé kliknutí vystřelí ohnivou kouli, cooldown 5 sekund), Frost Blade (železný meč, při zásahu Slowness II na 3 sekundy), Miner's Pick (diamantový krumpáč, který těží 3x3). /mi give pro magicitems.admin, tvarovaný recept pro každý předmět, názvy, lore, cooldowny a recepty v config.yml.”
Vygeneruj to s Codexe