mcMMO Rewards: en guide til level-belønningspluginet til Minecraft
Komplet guide til pluginet mcMMO Rewards til Minecraft-servere: opsætning af level-op-triggere, kommandoer og integration med mcMMO's API.
Komplet guide til pluginet mcMMO Rewards til Minecraft-servere: opsætning af level-op-triggere, kommandoer og integration med mcMMO's API.
Krav:
Loader: Paper / Spigot / Purpur
Minecraft-version: 1.20.x – 1.21.10
Plugins: McMMO
Det populære RPG-system mcMMO tilføjer level-mekanikker for færdigheder til Minecraft-servere, såsom fiskeri, minedrift eller urtekundskab. Udviklerne af det oprindelige plugin har dog ikke indbygget et fleksibelt system til automatisk at uddele genstande, valuta eller brugerdefinerede titler, når spillere når bestemte levels. Tilføjelsen mcMMO Rewards løser netop det problem. Den forbinder mcMMO's levelsystem med serverens konsolkommandoer, så serverejere kan opsætte automatiske belønninger til aktive spillere uden at skrive komplekse scripts.
Håndtering af begivenheder og API-integration
mcMMO Rewards fungerer som en let event listener, der kobler sig direkte på kernen af Spigot/Paper-serveren og kommunikerer med mcMMO-pluginets officielle API.
Aflytning af begivenheden McMMOPlayerLevelUpEvent
Hver gang en spiller stiger i level i en færdighed (for eksempel ved at mine malm eller høste afgrøder), udløser mcMMO en McMMOPlayerLevelUpEvent. mcMMO Rewards opfanger denne begivenhed og kører følgende logik:
Læser navnet på færdigheden og det nye level, som spilleren har nået.
Sammenligner disse data med belønningslisterne, der er defineret i konfigurationsfilen
config.yml.Hvis der findes et match, udfører pluginet på vegne af konsollen den konfigurerede liste af kommandoer og indsætter spillerens navn i stedet for pladsholderen
%player%.
Vigtige begrænsninger ved håndtering af begivenheder
Da pluginet udelukkende er knyttet til begivenheden McMMOPlayerLevelUpEvent, reagerer det kun på naturlige level-op opnået under spillet. ⚠️ Nulstilling af levels og databaseændringer: hvis en administrator ændrer en spillers level direkte via SQLite/MySQL-databasefilerne (for eksempel under en statistikmigrering eller et wipe), eller bruger konsolkommandoer, der ændrer levelværdien uden at udløse den almindelige level-op-begivenhed, aktiveres belønningerne ikke. Pluginet understøtter heller ikke retroaktiv uddeling af belønninger: hvis en spiller allerede havde level 50, før mcMMO Rewards blev installeret, modtager vedkommende ikke belønningerne for de tidligere levels (10, 20 osv.), før næste level nås.
Strukturen af config.yml og opsætning af belønninger
Alle belønninger defineres i én samlet konfigurationsfil, plugins/mcMMORewards/config.yml. Takket være YAML's enkle syntaks kan udviklere hurtigt bygge belønningssystemer med flere niveauer.
Beskrivelse af konfigurationssyntaksen
Hver belønningsblok følger et strengt hierarki:
Færdighedsnavn (Skill): skal matche det officielle færdighedsnavn i mcMMO (for eksempel
mining,woodcutting,swords,herbalism).Level: et heltal — det level, hvor kommandoerne udføres.
Kommandoliste: listen over konsolhandlinger. Der skal ikke sættes en skråstreg
/foran kommandoerne, da de alle udføres direkte af serveren på vegne af konsollen (OP-niveau).
Eksempel på konfigurationsfil
Nedenfor ses et eksempel på en korrekt struktureret fil til uddeling af genstande og penge:
rewards:
mining:
10:
- "give %player% iron_ingot 5"
- "broadcast &6[RPG] &e%player% &fдосяг 10-го рівня видобутку руди!"
50:
- "eco give %player% 1000"
- "give %player% diamond 3"
swords:
25:
- "xp give %player% 500"I dette eksempel modtager spilleren %player% jernbarrer, når vedkommende når level 10 i mining, og der udsendes en besked til hele serveren. Ved level 50 modtager spilleren 1000 valutaenheder via et økonomi-plugin (f.eks. EssentialsX) og 3 diamanter.
Håndtering af pluginet: kommandoer og rettigheder
Da mcMMO Rewards er en meget kompakt tilføjelse, er listen over dets kommandoer og rettigheder begrænset til udelukkende administrative funktioner.
Kommando til genindlæsning af konfiguration
Det er ikke nødvendigt at genstarte hele Minecraft-serveren eller afbryde spillet for at anvende ændringer i filen config.yml. Det er nok at køre kommandoen: /mcmmorewards reload Denne kommando frigør de gamle indstillinger fra serverens hukommelse og indlæser konfigurationsfilen på ny, så de nye belønninger anvendes med det samme.
Administratorrettigheder (Permissions)
Af hensyn til serverens sikkerhed er muligheden for at køre genindlæsningskommandoen begrænset til en dedikeret rettighed (permission node). Almindelige spillere har ikke adgang til denne kommando. For at give rettigheden til en administrator eller moderator (for eksempel via LuckPerms), skal du bruge følgende node: mcmmorewards.reload Som standard gives denne rettighed automatisk til alle spillere med server-operatørstatus (OP).
Konklusion
mcMMO Rewards er et fremragende hjælpeværktøj til Minecraft-servere med RPG- og survival-elementer, der bruger mcMMO's færdighedssystem. Det gør det nemt at opsætte automatisk uddeling af belønninger for spilaktivitet uden at skulle lære komplekse scriptsprog eller bruge tunge scripts.
Sammenlignet med komplekse scripts som Skript (der kræver, at man skriver sin egen syntaks for at lytte efter mcMMO-begivenheder) eller fuldt udbyggede quest-plugins, tilbyder mcMMO Rewards et system, der er så enkelt og hurtigt at sætte op som muligt, med næsten intet forbrug af serverressourcer. Dets fuldstændige afhængighed af, at mcMMO-pluginet er installeret, samt det forhold, at kommandoer kun kan udføres på vegne af konsollen, er dog dets største begrænsninger. Pluginet passer perfekt til servere, der hurtigt vil tilføje simple belønninger for ressourceindsamling eller opgradering af kampfærdigheder.
Installation
En typisk installation tager omkring 5 minutter. Forløbet er det samme; kun Loader og den matchende build er forskellige.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











