Skip to main content
Fitheid is een getal dat laat zien hoe fit een speler is. Hoe hoger je fitheid, hoe sneller je loopt. Je kunt per fitheidsniveau ook effecten geven, zoals Jump Boost. Spelers verdienen fitheid door te bewegen, te eten en te drinken.

Hoe fitheid werkt

De totale fitheid van een speler bestaat uit:
  • de startwaarde default-fitness-level (standaard 20);
  • de fitheid die hij met elke statistiek heeft verdiend;
  • de som van al zijn actieve boosters.
De totale fitheid is minimaal 1 en maximaal max-fitness-level (standaard 225). De plugin rekent de fitheid regelmatig opnieuw uit. Krijgt een speler een booster, dan gebeurt dat binnen een paar seconden. Fitheid telt ook mee voor het level van een speler. Zie Levels en speeltijd.

Statistieken

Elke statistiek levert fitheid op tot een eigen maximum. De afstanden komen uit de Minecraft-statistieken van de speler. Afstand die een speler al had afgelegd voordat je de plugin installeerde, telt dus ook mee.
In de huidige versie werkt de plugin een bewegingsstatistiek niet meer bij zodra de berekende fitheid boven het maximum uitkomt. Had een speler bij de eerste berekening al meer afstand dan nodig is voor het maximum, dan krijgt hij voor die statistiek 0 fitheid.Bij Drinken en Eten kan de verdiende fitheid 1 hoger worden dan het maximum, dus 21 bij een maximum van 20.

Drinken

Een speler krijgt punten als hij een drankje (potion) drinkt:
  • een waterfles geeft points-per-water-bottle punten (standaard 0,02);
  • een ander drankje geeft points-per-potion punten (standaard 0,05).
Na het drinken moet de speler drinking-cooldown minuten wachten (standaard 5). Probeert hij eerder te drinken, dan wordt het drinken geannuleerd en krijgt hij de melding fitness_drinking_cooldown.

Eten

In food-items staan twee lijsten: luxury en cheap. Een item uit luxury geeft points-for-luxury-food punten (standaard 0,05). Een item uit cheap geeft points-for-cheap-food punten (standaard 0,02). Een item telt mee als het material en de custom-model-data allebei overeenkomen. Een waarde van 0 bij custom-model-data is niet toegestaan; de plugin slaat zo’n regel over. De plugin houdt bij hoeveel items uit cheap en uit luxury een speler heeft gegeten. Bij elke herberekening rekent hij die aantallen om naar punten. Bij 1 punt of meer krijgt de speler 1 fitheid.
In de huidige versie telt een item alleen mee als het een custom model data heeft die gelijk is aan custom-model-data. Gewoon eten zonder custom model data telt niet mee, ook niet met de standaardwaarde -1.De aantallen gegeten items gaan na het verdienen van fitheid niet terug naar 0. Heeft een speler eenmaal 1 punt bereikt, dan krijgt hij bij elke herberekening opnieuw 1 fitheid, tot het maximum.

Fatsoenlijk eten

In de eerste minuut van elk uur speeltijd kijkt de plugin naar de hongerbalk van de speler. De plugin controleert elke speler ongeveer elke 15 tot 50 seconden. Daardoor gebeurt de check in die minuut vaak meer dan één keer, en elke check telt mee. Een volle hongerbalk is 20. Tussen 11 en 17 verandert er niets.
De sleutel check-interval staat in fitness.yml, maar de plugin gebruikt hem op dit moment niet. De check gebeurt altijd in de eerste minuut van elk uur speeltijd.

Effecten per fitheidsniveau

Onder levels stel je per bereik van fitheid de loopsnelheid en effecten in. Een bereik schrijf je als minimum-maximum, bijvoorbeeld 20-29.
  • walk-speed is de loopsnelheid. De normale Minecraft-loopsnelheid is 0.2.
  • effects is een lijst met effecten als EFFECT:niveau, bijvoorbeeld JUMP_BOOST:1 voor Jump Boost I. Niveau 0 geeft geen effect.
De effecten gelden alleen in een Minetopia-wereld of stad. Zie Plaatsen. Daarbuiten haalt de plugin de effecten weg en zet hij de loopsnelheid terug op 0.2. Staat rain-slowdown-enabled op true, dan loopt een speler 0,05 langzamer als het in zijn wereld regent of stormt. De loopsnelheid wordt nooit lager dan 0.1.

Boosters

Een booster geeft een speler extra fitheid, of juist minder als het getal negatief is. Een booster is tijdelijk of permanent. Verlopen boosters haalt de plugin vanzelf weg. Een speler krijgt een booster op drie manieren:
  • Met een commando. Gebruik /fitheid booster <speler> <hoeveelheid> [seconden]. Laat je de seconden weg of vul je 0 of minder in, dan is de booster permanent.
  • Met een fitheid-item. Items stel je in onder items in fitness.yml. Een speler gebruikt het item door het op te eten of te drinken. Is het item niet eetbaar, dan werkt rechtsklikken ook. Het item wordt verbruikt en de speler krijgt fitness.amount fitheid voor fitness.duration seconden.
  • Door dood te gaan. Staat death-punishment.enabled op true, dan krijgt een speler bij doodgaan een booster van amount (standaard -20) voor duration minuten (standaard 1440, dus 24 uur).

Fitheid-items

Een fitheid-item ziet er zo uit:
Een item in de hand van de speler telt als fitheid-item als het materiaal, de custom model data, de damage en het item model overeenkomen.

Fitheid resetten

Een speler kan zijn fitheid alleen resetten als een stafflid dat toestaat.
1

Geef de speler een reset

Gebruik /fitheid togglereset <speler> true.
2

De speler reset zijn fitheid

De speler typt /fitheid reset.
Bij een reset zet de plugin alle statistieken op 0, ook de afstanden in de Minecraft-statistieken. Alle boosters worden verwijderd. De fitheid gaat terug naar default-fitness-level. Daarna kan de speler niet nog een keer resetten, tot hij opnieuw een reset krijgt.

Commando’s

/fitheid heeft ook de alias /fitness.

Configuratie

De instellingen staan in fitness.yml.
Bij de eerste start voegt de plugin onder statistics.health zelf nog points-per-health-level: 1.0 toe. De sleutel points-per-fitness-level onder health leest de plugin niet. Na een wijziging laad je fitness.yml opnieuw met /openminetopia reload. Zie Configuratie. Wil je fitheid helemaal uitzetten, zet dan fitness in disabled-modules in config.yml.

Meldingen

De meldingen van deze module staan in messages.yml en beginnen met fitness_. Bijvoorbeeld fitness_drinking_cooldown, fitness_no_reset, fitness_reset en fitness_booster_added_to.

Placeholders

Gebruik <fitness> en <max_fitness> in de chat, het scoreboard en de actionbar. Via PlaceholderAPI zijn ze ook beschikbaar. Zie Placeholders.

Voor developers

Andere plugins kunnen eigen statistieken toevoegen. Maak een klasse die FitnessStatisticType implementeert en registreer die met FitnessStatisticTypes.register(...). Een statistiek heeft: De verdiende fitheid van alle statistieken van een speler telt mee in zijn totale fitheid. Je plugin houdt zelf de voortgang van een eigen statistiek bij.