Handleiding
Een questplugin voor Minecraft maken
Bijgewerkt 18 oktober 2026
Quests geven spelers een reden om te spelen: dood 20 zombies, mijn 64 ijzer, breng een villager 10 broden. Een questplugin bestaat uit drie dingen: doelen die naar game-events luisteren, voortgang die voor elke speler wordt opgeslagen, en beloningen. Als je quests in een configbestand definieert, kun je nieuwe toevoegen zonder de code aan te raken.
Vervang de quests en beloningen door die van jou.
Genereer dit met CodexeStap voor stap
1.Kies de soorten doelen
Begin met een paar: een mobsoort doden, blokken breken of plaatsen, items verzamelen, craften, een plek bereiken, met een NPC praten. Elke quest wordt hieruit opgebouwd.
2.Definieer quests in een bestand
Elke quest in
quests.yml: een id, een naam, een beschrijving, de doelen met aantallen, beloningen en vereisten (eerst een andere quest, een permissie, een level).3.Houd de voortgang per speler bij
Luister naar de events achter elk doel en tel ze op bij de voortgang van de speler. Sla die op in SQLite of een bestand, zodat ze uitloggen en herstarts overleeft.
4.Toon de voortgang
Een menu
/questsmet actieve en voltooide quests, plus een bericht, titel of bossbar als de voortgang verandert.5.Geef beloningen
Items, ervaring, geld via Vault, of consolecommando's zoals
lp user %player% permission set ...voor al het andere.6.Bouw en voltooi een quest in de game
Laat Codexe het compileren, join de testserver, accepteer een quest en voltooi hem. Herstart daarna en controleer of de voortgang en beloningen zijn opgeslagen.
Doelen en de events erachter
| Doel | Gebeurtenis | Detail om te bepalen |
|---|---|---|
| Mobs doden | EntityDeathEvent | Alleen kills door de speler tellen, of ook door zijn huisdieren en pijlen |
| Blokken breken | BlockBreakEvent | Negeer blokken die de speler zelf heeft geplaatst, anders plaatsen en breken spelers steeds hetzelfde blok |
| Items verzamelen | Inventorycontrole of pickup-event | Of de items worden ingenomen als de quest wordt ingeleverd |
| Items craften | CraftItemEvent | Craften met shift-klik maakt er meerdere tegelijk |
| Een plek bereiken | PlayerMoveEvent | Controleer alleen als de speler van blok wisselt, niet bij elke beweging |
| Met een NPC praten | PlayerInteractEntityEvent | Welke entity de questgever is |
Questgevers
De eenvoudigste questgever is een commando of een menu. Voor een personage in de wereld werkt een villager of armor stand met een eigen naam en een PersistentDataContainer-tag zonder andere plugins: de plugin herkent hem als een speler erop rechtsklikt. Gebruikt je server al een NPC-plugin zoals Citizens, noem die dan in het verzoek, zodat de plugin erop aansluit.
Voorbeeldbeschrijving
"Een Paper 1.21.4-questplugin genaamd Quests. Soorten doelen: mobs doden, blokken breken (niet door spelers geplaatst), items verzamelen en praten met een villager die als questgever is getagd. Quests gedefinieerd in quests.yml met naam, doelen, vereiste quest en beloningen (items, ervaring, Vault-geld, consolecommando's). /quests opent een menu met beschikbare, actieve en voltooide quests. Voortgang getoond in de action bar. Maximaal 3 actieve quests. Dagelijkse quests resetten om middernacht servertijd. Voortgang opgeslagen in SQLite."
Dagelijkse en herhaalbare quests
- Zeg wanneer ze resetten: op een vast tijdstip per dag, of 24 uur nadat de speler klaar was.
- Zeg of dagelijkse quests per speler willekeurig zijn of voor iedereen hetzelfde.
- Sla het tijdstip van de laatste voltooiing op, geen vlag, zodat resets ook werken terwijl de server uit staat.
Vragen
Kunnen quests PlaceholderAPI gebruiken?
Ja. Vraag om placeholders zoals de actieve quest en de voortgang ervan, zodat scoreboards en tablijsten ze kunnen tonen. Noem PlaceholderAPI in het verzoek, zodat het als dependency wordt toegevoegd.
Kan ik quests met Skript schrijven?
Kleine questsystemen passen in een Skript met variabelen. Veel soorten doelen, menu's en opgeslagen voortgang voor honderden spelers blijven in een plugin makkelijker snel en overzichtelijk.
Hoe controleer ik of de quests werken?
Speel ze op de testserver van Codexe en voeg tests in je eigen woorden toe, bijvoorbeeld "een gewone speler voert /quests uit en ziet een menu openen". Tests controleren berichten, items en menu's, geen mobs of blokken in de wereld.
Maak je questplugin
Deze prompt opent klaar om te versturen:
“Een Paper 1.21.4-questplugin: soorten doelen mobs doden, blokken breken die niet door spelers zijn geplaatst, items verzamelen en praten met een getagde villager; quests in quests.yml met doelen, vereiste quest en beloningen (items, XP, Vault-geld, consolecommando's); menu /quests met beschikbare, actieve en voltooide quests; voortgang in de action bar; max. 3 actieve quests; dagelijkse quests resetten om middernacht; voortgang opgeslagen in SQLite.”
Genereer dit met Codexe