Guide
Så gör du ett questplugin för Minecraft
Uppdaterad 18 oktober 2026
Quests ger spelarna en anledning att spela: döda 20 zombies, bryt 64 järn, ge en bybo 10 bröd. Ett questplugin består av tre saker: mål som lyssnar på händelser i spelet, framsteg som sparas för varje spelare, och belöningar. Definierar du quests i en konfigurationsfil kan du lägga till nya utan att röra koden.
Byt ut quests och belöningar mot dina egna.
Generera det här med CodexeSteg för steg
1.Välj typer av mål
Börja med några få: döda en mobtyp, bryt eller placera block, samla föremål, tillverka, nå en plats, prata med en NPC. Varje quest byggs av dessa.
2.Definiera quests i en fil
Varje quest i
quests.yml: ett id, ett namn, en beskrivning, dess mål med antal, belöningar och krav (en annan quest först, en behörighet, en nivå).3.Följ framstegen per spelare
Lyssna på händelserna bakom varje mål och lägg till i spelarens framsteg. Spara dem i SQLite eller en fil så att de klarar utloggningar och omstarter.
4.Visa framstegen
En meny
/questsmed aktiva och avklarade quests, plus ett meddelande, en titel eller en boss bar när framstegen ändras.5.Dela ut belöningar
Föremål, erfarenhet, pengar via Vault, eller konsolkommandon som
lp user %player% permission set ...för allt annat.6.Bygg och klara en quest i spelet
Låt Codexe kompilera det, anslut till testservern, acceptera en quest och slutför den. Starta sedan om och kontrollera att framstegen och belöningarna sparades.
Mål och händelserna bakom dem
| Mål | Händelse | Detalj att bestämma |
|---|---|---|
| Döda mobs | EntityDeathEvent | Räkna bara spelarens egna kills, eller även dem från husdjur och pilar |
| Bryta block | BlockBreakEvent | Ignorera block som spelaren har placerat, annars placerar och bryter spelarna samma block om och om igen |
| Samla föremål | Kontroll av inventariet eller upplockningshändelse | Om föremålen tas när questen lämnas in |
| Tillverka föremål | CraftItemEvent | Shift-klick vid tillverkning gör flera på en gång |
| Nå en plats | PlayerMoveEvent | Kontrollera bara när spelaren byter block, inte vid varje rörelse |
| Prata med en NPC | PlayerInteractEntityEvent | Vilken entitet som är questgivaren |
Questgivare
Den enklaste questgivaren är ett kommando eller en meny. För en karaktär i världen fungerar en bybo eller ett rustningsställ med ett eget namn och en PersistentDataContainer-tagg utan andra plugin: pluginet känner igen den när en spelare högerklickar på den. Om din server redan använder ett NPC-plugin som Citizens, nämn det i begäran så att pluginet kopplar in sig i det.
Exempelbeskrivning
”Ett questplugin för Paper 1.21.4 som heter Quests. Måltyper: döda mobs, bryta block (som inte placerats av spelare), samla föremål och prata med en bybo som taggats som questgivare. Quests definieras i quests.yml med namn, mål, krävd quest och belöningar (föremål, erfarenhet, Vault-pengar, konsolkommandon). /quests öppnar en meny med tillgängliga, aktiva och avklarade quests. Framstegen visas i action bar. Upp till 3 aktiva quests. Dagliga quests återställs vid midnatt enligt serverns tid. Framstegen sparas i SQLite.”
Dagliga och upprepningsbara quests
- Ange när de återställs: vid en fast tid varje dag, eller 24 timmar efter att spelaren slutförde dem.
- Ange om de dagliga questsen är slumpmässiga för varje spelare eller samma för alla.
- Spara tidpunkten för senaste slutförandet, inte en flagga, så att återställningen fungerar även när servern är avstängd.
Frågor
Kan quests använda PlaceholderAPI?
Ja. Be om placeholders som den aktiva questen och dess framsteg, så att scoreboards och tablistor kan visa dem. Nämn PlaceholderAPI i begäran så att det läggs till som beroende.
Kan jag skriva quests med Skript?
Små questsystem ryms i ett Skript med variabler. Många måltyper, menyer och sparade framsteg för hundratals spelare är lättare att hålla snabba och ordnade i ett plugin.
Hur kontrollerar jag att questsen fungerar?
Spela dem på Codexes testserver och lägg till tester med egna ord, till exempel ”en vanlig spelare kör /quests och ser en meny öppnas”. Testerna kontrollerar meddelanden, föremål och menyer, inte mobs eller block i världen.
Gör ditt questplugin
Den här prompten öppnas färdig att skicka:
“Ett questplugin för Paper 1.21.4: måltyperna döda mobs, bryta block som inte placerats av spelare, samla föremål och prata med en taggad bybo; quests i quests.yml med mål, krävd quest och belöningar (föremål, XP, Vault-pengar, konsolkommandon); meny /quests med tillgängliga, aktiva och avklarade quests; framsteg i action bar; max 3 aktiva quests; dagliga quests återställs vid midnatt; framsteg sparade i SQLite.”
Generera det här med Codexe