Opas
Miten tehdä Minecraft-tehtäväplugin
Päivitetty 18. lokakuuta 2026
Tehtävät antavat pelaajille syyn pelata: tapa 20 zombia, louhi 64 rautaa, vie kyläläiselle 10 leipää. Tehtäväplugin koostuu kolmesta asiasta: tavoitteista, jotka kuuntelevat pelin tapahtumia, jokaiselle pelaajalle tallennetusta edistymisestä ja palkinnoista. Kun tehtävät määritellään asetustiedostossa, voit lisätä uusia koskematta koodiin.
Vaihda tehtävät ja palkinnot omiksesi.
Generoi tämä CodexellaVaihe vaiheelta
1.Valitse tavoitetyypit
Aloita muutamasta: tapa tietyn tyyppinen mobi, riko tai aseta kuutioita, kerää esineitä, valmista, saavu paikkaan, puhu NPC:lle. Jokainen tehtävä rakennetaan näistä.
2.Määrittele tehtävät tiedostossa
Jokainen tehtävä tiedostossa
quests.yml: tunniste, nimi, kuvaus, tavoitteet määrineen, palkinnot ja vaatimukset (ensin toinen tehtävä, oikeus, taso).3.Seuraa edistymistä pelaajakohtaisesti
Kuuntele kunkin tavoitteen taustalla olevia tapahtumia ja kasvata pelaajan edistymistä. Tallenna se SQLiteen tai tiedostoon, jotta se säilyy uloskirjautumisten ja uudelleenkäynnistysten yli.
4.Näytä edistyminen
/quests-valikko aktiivisille ja valmiille tehtäville sekä viesti, otsikko tai boss bar, kun edistyminen muuttuu.5.Anna palkinnot
Esineitä, kokemusta, rahaa Vaultin kautta tai konsolikomentoja, kuten
lp user %player% permission set ..., kaikkeen muuhun.6.Kokoa ja suorita tehtävä pelissä
Anna Codexen kääntää se, liity testipalvelimelle, ota tehtävä vastaan ja suorita se. Käynnistä sitten uudelleen ja tarkista, että edistyminen ja palkinnot tallentuivat.
Tavoitteet ja niiden taustalla olevat tapahtumat
| Tavoite | Tapahtuma | Päätettävä yksityiskohta |
|---|---|---|
| Tapa mobeja | EntityDeathEvent | Lasketaanko vain pelaajan omat tapot vai myös lemmikkien ja nuolten tapot |
| Riko kuutioita | BlockBreakEvent | Ohita pelaajan asettamat kuutiot, muuten pelaajat asettavat ja rikkovat saman kuution |
| Kerää esineitä | Inventaarion tarkistus tai poimintatapahtuma | Otetaanko esineet pois, kun tehtävä palautetaan |
| Valmista esineitä | CraftItemEvent | Shift-klikkauksella valmistus tekee useita kerralla |
| Saavu paikkaan | PlayerMoveEvent | Tarkista vain, kun pelaaja vaihtaa kuutiota, ei jokaisella liikkeellä |
| Puhu NPC:lle | PlayerInteractEntityEvent | Mikä entiteetti on tehtävänantaja |
Tehtävänantajat
Yksinkertaisin tehtävänantaja on komento tai valikko. Maailmassa olevaksi hahmoksi sopii kyläläinen tai panssariteline, jolla on mukautettu nimi ja PersistentDataContainer-tunniste, eikä muita plugineja tarvita: plugin tunnistaa sen, kun pelaaja klikkaa sitä hiiren oikealla. Jos palvelimesi käyttää jo NPC-pluginia, kuten Citizensia, mainitse se pyynnössä, jotta plugin liittyy siihen.
Esimerkkikuvaus
"Paper 1.21.4 -tehtäväplugin nimeltä Quests. Tavoitetyypit: tapa mobeja, riko kuutioita (joita pelaajat eivät ole asettaneet), kerää esineitä ja puhu tehtävänantajaksi merkitylle kyläläiselle. Tehtävät määritellään quests.yml-tiedostossa nimen, tavoitteiden, vaaditun tehtävän ja palkintojen (esineet, kokemus, Vault-raha, konsolikomennot) kanssa. /quests avaa valikon, jossa ovat saatavilla olevat, aktiiviset ja valmiit tehtävät. Edistyminen näytetään toimintopalkissa. Enintään 3 aktiivista tehtävää. Päivittäiset tehtävät nollautuvat keskiyöllä palvelimen aikaa. Edistyminen tallennetaan SQLiteen."
Päivittäiset ja toistettavat tehtävät
- Kerro, milloin ne nollautuvat: kiinteään aikaan joka päivä vai 24 tuntia sen jälkeen, kun pelaaja suoritti tehtävän.
- Kerro, ovatko päivittäiset tehtävät satunnaisia jokaiselle pelaajalle vai samat kaikille.
- Tallenna viimeisimmän suorituksen aika, älä lippua, jotta nollaukset toimivat myös palvelimen ollessa pois päältä.
Kysymykset
Voivatko tehtävät käyttää PlaceholderAPI:a?
Kyllä. Pyydä paikkamerkkejä, kuten aktiivinen tehtävä ja sen edistyminen, jotta tulostaulut ja tab-listat voivat näyttää ne. Mainitse PlaceholderAPI pyynnössä, jotta se lisätään riippuvuudeksi.
Voinko kirjoittaa tehtävät Skriptillä?
Pienet tehtäväjärjestelmät mahtuvat muuttujia käyttävään Skriptiin. Monet tavoitetyypit, valikot ja satojen pelaajien tallennettu edistyminen on helpompi pitää nopeana ja järjestyksessä pluginissa.
Miten tarkistan, että tehtävät toimivat?
Pelaa ne Codexen testipalvelimella ja lisää testejä omin sanoin, esimerkiksi "tavallinen pelaaja ajaa /quests ja näkee valikon aukeavan". Testit tarkistavat viestit, esineet ja valikot, eivät maailman mobeja tai kuutioita.
Tee tehtäväpluginisi
Tämä kehote aukeaa valmiina lähetettäväksi:
“Paper 1.21.4 -tehtäväplugin: tavoitetyypit mobien tappaminen, muiden kuin pelaajien asettamien kuutioiden rikkominen, esineiden keräily ja puhuminen merkitylle kyläläiselle; tehtävät quests.yml-tiedostossa tavoitteineen, vaadittuine tehtävineen ja palkintoineen (esineet, XP, Vault-raha, konsolikomennot); /quests-valikko saatavilla olevilla, aktiivisilla ja valmiilla tehtävillä; edistyminen toimintopalkissa; enintään 3 aktiivista tehtävää; päivittäiset tehtävät nollautuvat keskiyöllä; edistyminen tallennetaan SQLiteen.”
Generoi tämä Codexella