Getting Started

Last updated Sep 18, 2026

Getting Started

Install

  1. Install SoapsCommon, MMOCore, and MythicLib.
  2. Place SoapsHungerStamina.jar in plugins/.
  3. Restart the server (full restart, not /reload).
  4. Tune files in plugins/SoapsHungerStamina/, then /shs reload.

First things to tune

File Start here
actions.yml sprint, jump, attack, winded, bed-rest
config.yml general.disabled-worlds, hunger.mode, ui.type, integration.mmocore
weight.yml encumbrance.max-weight, encumbrance.severe-weight
messages.yml Prefix and exhaustion lines

Open /shs gui as OP to flip features while you test. /shs toggle <setting> does the same from chat.

Player commands to try

/stamina
/stamina display actionbar
/stamina display default
/weight

Admins: /stamina debug shows the live multiplier stack after one engine tick.

Presets

Copy a file from presets/ over the matching live YAML selectively (they are overlays, not full replacements):

Preset Intent
public-smp.yml Fair public defaults: softer drains, new-player easing, recovery cues
vanilla-plus.yml Light pressure; mounted/weather/feedback stay off
rpg-combat.yml Dodge, sprint burst, mounted, feedback
hardcore-survival.yml Higher drain, weather + mounted on
identity-fighter.yml Melee-forward overlay
identity-swimmer.yml Swim/coastal overlay
identity-climber.yml Climb/elytra overlay

See Endurance and Class Identity for how MMOCore max stamina and these overlays fit together.
| pvp-balanced.yml | PvP/PvE context multipliers |

Platforms

Paper 26.2, Spigot 26.2, and Folia are supported (tested on Paper 26.2, Java 25). plugin.yml sets folia-supported: true. Folia runs one engine task per player on the entity scheduler.

Companion plugin integration

Other plugins can drain or restore stamina through SHS so overflow, hunger, and session stats stay consistent:

SoapsHungerStamina shs = (SoapsHungerStamina) Bukkit.getPluginManager().getPlugin("SoapsHungerStamina");
if (shs != null) {
    shs.getStaminaService().drainAction(player, cost);
    // shs.getStaminaService().giveRegenCapped(player, profile, max, current, amount);
}

Prefer StaminaService over calling MMOCore directly when SHS owns the server's stamina rules.