Útmutató
Hogyan készíts Minecraft küldetésplugint
Frissítve: 2026. október 18.
A küldetések okot adnak a játékra: ölj meg 20 zombit, bányássz 64 vasat, vigyél egy falusinak 10 kenyeret. Egy küldetésplugin három dologból áll: célokból, amelyek a játékeseményeket figyelik, minden játékos mentett haladásából és jutalmakból. Ha a küldetéseket egy konfigurációs fájlban adod meg, újakat adhatsz hozzá a kódhoz nyúlás nélkül.
Írd át a küldetéseket és a jutalmakat a sajátjaidra.
Generáld ezt a Codexe-szelLépésről lépésre
1.Válaszd ki a céltípusokat
Kezdd néhánnyal: egy mobtípus megölése, blokkok törése vagy lerakása, tárgyak gyűjtése, craftolás, egy hely elérése, beszélgetés egy NPC-vel. Minden küldetés ezekből épül fel.
2.Add meg a küldetéseket egy fájlban
Minden küldetés a
quests.ymlfájlban: azonosító, név, leírás, a célok mennyiségekkel, jutalmak és feltételek (előbb egy másik küldetés, egy jogosultság, egy szint).3.Kövesd a haladást játékosonként
Figyeld az egyes célok mögötti eseményeket, és növeld a játékos haladását. Mentsd SQLite-ba vagy fájlba, hogy túlélje a kilépéseket és az újraindításokat.
4.Mutasd meg a haladást
Egy
/questsmenü az aktív és a befejezett küldetésekkel, plusz egy üzenet, cím vagy boss bar, amikor a haladás változik.5.Adj jutalmakat
Tárgyak, tapasztalat, pénz a Vaulton keresztül, vagy konzolparancsok, például
lp user %player% permission set ...minden máshoz.6.Buildeld, és teljesíts egy küldetést játékban
Hagyd, hogy a Codexe lefordítsa, csatlakozz a tesztszerverre, fogadj el egy küldetést, és teljesítsd. Utána indítsd újra, és ellenőrizd, hogy a haladás és a jutalmak elmentődtek-e.
Célok és a mögöttük álló események
| Cél | Esemény | Eldöntendő részlet |
|---|---|---|
| Mobok megölése | EntityDeathEvent | Csak a játékos öléseit számold, vagy a háziállatai és nyilai általiakat is |
| Blokkok törése | BlockBreakEvent | Hagyd figyelmen kívül a játékos által lerakott blokkokat, különben a játékosok ugyanazt a blokkot fogják lerakni és kitörni |
| Tárgyak gyűjtése | Inventory-ellenőrzés vagy felvételi esemény | Elveszi-e a tárgyakat a küldetés leadásakor |
| Tárgyak craftolása | CraftItemEvent | A shift-kattintásos craftolás egyszerre többet készít |
| Egy hely elérése | PlayerMoveEvent | Csak akkor ellenőrizd, amikor a játékos blokkot vált, ne minden mozdulatnál |
| Beszélgetés egy NPC-vel | PlayerInteractEntityEvent | Melyik entitás a küldetésadó |
Küldetésadók
A legegyszerűbb küldetésadó egy parancs vagy egy menü. Egy világbeli karakterhez működik egy falusi vagy páncéltartó egyedi névvel és PersistentDataContainer-címkével, más pluginok nélkül: a plugin felismeri, amikor egy játékos jobb kattintással rákattint. Ha a szervered már használ NPC-plugint, például a Citizenst, nevezd meg a kérésben, hogy a plugin rákapcsolódjon.
Példa leírás
„Egy Paper 1.21.4 küldetésplugin Quests néven. Céltípusok: mobok megölése, blokkok törése (nem a játékosok által lerakottaké), tárgyak gyűjtése és beszélgetés egy küldetésadóként címkézett falusival. A küldetések a quests.yml-ben megadva névvel, célokkal, előfeltétel-küldetéssel és jutalmakkal (tárgyak, tapasztalat, Vault-pénz, konzolparancsok). A /quests egy menüt nyit az elérhető, aktív és befejezett küldetésekkel. A haladás az action barban látszik. Legfeljebb 3 aktív küldetés. A napi küldetések a szerveridő szerinti éjfélkor nullázódnak. A haladás SQLite-ban mentve.”
Napi és ismételhető küldetések
- Írd le, mikor nullázódnak: minden nap egy adott időpontban, vagy 24 órával azután, hogy a játékos befejezte.
- Írd le, hogy a napi küldetések játékosonként véletlenszerűek, vagy mindenkinek ugyanazok.
- Az utolsó teljesítés időpontját tárold, ne egy jelzőt, így a nullázás akkor is működik, amikor a szerver ki van kapcsolva.
Kérdések
Használhatnak a küldetések PlaceholderAPI-t?
Igen. Kérj placeholdereket, például az aktív küldetést és a haladását, hogy a scoreboardok és a tablisták megjeleníthessék őket. Nevezd meg a PlaceholderAPI-t a kérésben, hogy függőségként bekerüljön.
Írhatok küldetéseket Skripttel?
Kis küldetésrendszerek elférnek egy változókat használó Skriptben. Sok céltípust, menüt és több száz játékos mentett haladását pluginban könnyebb gyorsnak és rendezettnek tartani.
Hogyan ellenőrizhetem, hogy működnek a küldetések?
Játszd végig őket a Codexe tesztszerverén, és adj hozzá teszteket a saját szavaiddal, például „egy normál játékos lefuttatja a /quests parancsot, és látja, hogy megnyílik egy menü”. A tesztek üzeneteket, tárgyakat és menüket ellenőriznek, nem mobokat vagy blokkokat a világban.
Készítsd el a küldetéspluginodat
Ez a prompt küldésre készen nyílik meg:
“Egy Paper 1.21.4 küldetésplugin: céltípusok mobok megölése, nem játékosok által lerakott blokkok törése, tárgyak gyűjtése és beszélgetés egy címkézett falusival; küldetések a quests.yml-ben célokkal, előfeltétel-küldetéssel és jutalmakkal (tárgyak, XP, Vault-pénz, konzolparancsok); /quests menü az elérhető, aktív és befejezett küldetésekkel; haladás az action barban; max. 3 aktív küldetés; a napi küldetések éjfélkor nullázódnak; a haladás SQLite-ban mentve.”
Generáld ezt a Codexe-szel