Návod
Jak vytvořit plugin s úkoly pro Minecraft
Aktualizováno 18. října 2026
Úkoly dávají hráčům důvod hrát: zabij 20 zombíků, vytěž 64 železa, přines vesničanovi 10 chlebů. Plugin s úkoly tvoří tři věci: cíle, které poslouchají herní události, postup uložený pro každého hráče a odměny. Když úkoly definuješ v konfiguračním souboru, můžeš přidávat nové bez sahání do kódu.
Uprav úkoly a odměny podle sebe.
Vygeneruj to s CodexeKrok za krokem
1.Vyber typy cílů
Začni s několika: zabít určitý typ moba, rozbít nebo položit bloky, nasbírat předměty, vycraftit, dojít na místo, promluvit s NPC. Každý úkol se skládá z nich.
2.Definuj úkoly v souboru
Každý úkol v
quests.yml: ID, název, popis, cíle s počty, odměny a požadavky (nejdřív jiný úkol, oprávnění, level).3.Sleduj postup každého hráče
Poslouchej události za každým cílem a přičítej k postupu hráče. Ukládej ho do SQLite nebo do souboru, aby přežil odhlášení i restarty.
4.Zobrazuj postup
Menu
/questss aktivními a dokončenými úkoly a k tomu zpráva, titulek nebo boss bar, když se postup změní.5.Rozdávej odměny
Předměty, zkušenosti, peníze přes Vault nebo příkazy z konzole jako
lp user %player% permission set ...pro všechno ostatní.6.Sestav ho a dokonči úkol ve hře
Nech Codexe plugin zkompilovat, připoj se na testovací server, přijmi úkol a dokonči ho. Pak restartuj a zkontroluj, že se postup a odměny uložily.
Cíle a události za nimi
| Cíl | Událost | Detail k rozhodnutí |
|---|---|---|
| Zabít moby | EntityDeathEvent | Počítat jen zabití hráčem, nebo i jeho mazlíčky a šípy |
| Rozbít bloky | BlockBreakEvent | Ignoruj bloky, které hráč položil, jinak bude hráč pokládat a rozbíjet pořád stejný blok |
| Nasbírat předměty | Kontrola inventáře nebo událost sebrání | Jestli se předměty při odevzdání úkolu odeberou |
| Vycraftit předměty | CraftItemEvent | Craftění se shiftem vyrobí několik kusů naráz |
| Dojít na místo | PlayerMoveEvent | Kontroluj jen při změně bloku, ne při každém pohybu |
| Promluvit s NPC | PlayerInteractEntityEvent | Která entita úkoly zadává |
Zadavatelé úkolů
Nejjednodušší zadavatel úkolů je příkaz nebo menu. Pro postavu ve světě funguje bez dalších pluginů vesničan nebo armor stand s vlastním jménem a štítkem v PersistentDataContainer: plugin ho pozná, když na něj hráč klikne pravým. Pokud tvůj server už používá plugin na NPC jako Citizens, zmiň ho v zadání, aby se na něj plugin napojil.
Příklad popisu
„Plugin s úkoly pro Paper 1.21.4 jménem Quests. Typy cílů: zabít moby, rozbít bloky (nepoložené hráči), nasbírat předměty a promluvit s vesničanem označeným jako zadavatel úkolů. Úkoly definované v quests.yml s názvem, cíli, požadovaným úkolem a odměnami (předměty, zkušenosti, peníze z Vaultu, příkazy z konzole). /quests otevře menu s dostupnými, aktivními a dokončenými úkoly. Postup zobrazený v action baru. Nejvýš 3 aktivní úkoly. Denní úkoly se resetují o půlnoci podle času serveru. Postup uložený v SQLite.“
Denní a opakovatelné úkoly
- Napiš, kdy se resetují: v pevný čas každý den, nebo 24 hodin poté, co je hráč dokončil.
- Napiš, jestli jsou denní úkoly pro každého hráče náhodné, nebo pro všechny stejné.
- Ukládej čas posledního dokončení, ne příznak, aby resety fungovaly, i když je server vypnutý.
Otázky
Můžou úkoly používat PlaceholderAPI?
Ano. Požádej o placeholdery jako aktivní úkol a jeho postup, aby je mohly zobrazovat scoreboardy a tab listy. Zmiň PlaceholderAPI v zadání, aby se přidal jako závislost.
Můžu úkoly napsat ve Skriptu?
Malé systémy úkolů se vejdou do Skriptu s proměnnými. Spoustu typů cílů, menu a uložený postup pro stovky hráčů je snazší udržet rychlé a přehledné v pluginu.
Jak ověřím, že úkoly fungují?
Zahraj si je na testovacím serveru Codexe a přidej testy vlastními slovy, například „běžný hráč spustí /quests a otevře se mu menu“. Testy kontrolují zprávy, předměty a menu, ne moby nebo bloky ve světě.
Vytvoř svůj plugin s úkoly
Toto zadání se otevře připravené k odeslání:
“Plugin s úkoly pro Paper 1.21.4: typy cílů zabít moby, rozbít bloky nepoložené hráči, nasbírat předměty a promluvit s označeným vesničanem; úkoly v quests.yml s cíli, požadovaným úkolem a odměnami (předměty, XP, peníze z Vaultu, příkazy z konzole); menu /quests s dostupnými, aktivními a dokončenými úkoly; postup v action baru; max. 3 aktivní úkoly; denní úkoly se resetují o půlnoci; postup uložený v SQLite.”
Vygeneruj to s Codexe