Configuration

Last updated Sep 18, 2026

Configuration

config.yml holds global systems. Action costs are in Actions. Item weight is in Weight and Encumbrance.

Tune in-game with /shs toggle, /shs config set, or /shs gui.


Worlds

general:
  disabled-worlds:
    stamina: []   # no drain, UI, or stamina engine
    weight: []    # no encumbrance / armor-weight / pack relief
worlds:
  # world_nether: 1.25
action-world-overrides:
  # world_nether:
  #   mounted: 0.8

worlds: — global multiplier stacked on all drains (movement tick drains and instant/event drains like attacks, mining, projectiles).

action-world-overrides — per-action enabled + extra multiplier on top of the global world multiplier. Keys include movement, combat, mining, and abilities: dodge, sprint-burst, bed-rest, stamina-food (see comment list in config.yml).


Hunger and MMOCore

See Hunger Modes.

integration:
  mmocore:
    use-combat-state: true
    activity-regen-scale: 0.85
    block-native-regen-while-active: true

activity-regen-scale multiplies SHS sneak/idle regen so it does not stack harshly with MMOCore STA_REGEN. Tune live with /shs config set mmocore activity-regen-scale 0.85 or System values (SHS idle regen scale).

block-native-regen-while-active cancels MMOCore stamina regeneration while the player is sprinting, fighting, or otherwise busy. SHS grants (bed rest, second wind, food, /shs stamina give) still work. Set false if you want soft native regen during activity and prefer tuning class STA_REGEN instead.


UI and display choice

ui:
  enabled: true
  type: BOSS_BAR          # ACTION_BAR | BOSS_BAR | CHAT
player-display-choice:
  enabled: true
  first-join-tip: true    # once-per-player tip; stored as tip-seen in playerdata

Players with soapsstamina.display.choose run /stamina display <off|actionbar|bossbar|default>. Preference is saved under playerdata/<uuid>.yml. default clears the file key and uses ui.type.

When first-join-tip is true, players see a short tip once after join (message command.first-join-tip). Set tip-seen: true in their playerdata to skip it.

If ui.enabled: false, nobody gets a stamina HUD.


Engine

engine:
  tick-interval: 4        # ticks between engine passes
  players-per-tick: 0     # 0 = all players; set e.g. 25 on huge Paper/Spigot boxes
  regen-block-idle-while-swimming: false  # true = old behavior (no idle regen while floating)

On Folia the engine is one task per player; players-per-tick is ignored.


Drain multiplier stacking

When several systems apply at once, SHS multiplies them on movement and combat drain:

armor × encumbrance × biome × altitude × world × scaling-drain × well-rested × terrain (soul sand / honey) × potion speed

Notes:

  • scaling-drain replaces tier encumbrance drain multipliers when enabled, but slowness, sprint block, and drowning still use penalty weight tiers.
  • Instant drains (attacks, block break, projectiles, dodge) use PvP/PvE and world multipliers by default. Optional actions.apply-load-multipliers-to-instant: true also stacks armor, encumbrance/scaling-drain, speed potion, well-rested, and new-player easing on those costs.
  • actions.sprint.lock.warn-player (default true) sends a one-shot message when sprint is blocked at empty stamina.
  • actions.sprint-burst.cooldown-message (default false) shows the cooldown message on double-tap sprint burst.
  • Pair integration.mmocore.activity-regen-scale with MMOCore class STA_REGEN so sneak/idle regen complements native regen instead of stacking harshly.
  • Use /stamina debug to read live multiplier lines during play.

Weather (off by default)

Requires weather.enabled: true. Sprint/mounted drain uses rain/thunder multipliers even if biomes are off. Exposure timers only move if biomes are enabled.

weather:
  enabled: false
  rain:
    hot-exposure-decay-multiplier: 2.0
    cold-exposure-build-multiplier: 1.2
    sprint-drain-multiplier: 1.05
  thunder:
    sprint-drain-multiplier: 1.12
    exposure-build-multiplier: 1.08

Bypass: soapsstamina.bypass.weather.

Toggle: /shs toggle weather
Set: /shs config set weather rain-sprint-drain-multiplier 1.05

Placeholders: %shs_weather%, %shs_weather_drain_mult%.


Feedback (off by default)

Quiet particles at the mouth (eye minus a little Y, plus a short forward offset). Sounds are player-local and respect sounds.enabled.

feedback:
  enabled: false
  low:
    threshold-percent: 25.0
  critical:
    threshold-percent: 15.0
  encumbered-footsteps:
    enabled: true

Bypass: soapsstamina.bypass.feedback (also skipped by global effects bypass).


Biomes and altitude

Both default off. Biomes add COLD/HOT exposure, freeze, and sweat. Altitude adds high/low Y drain. Weather layers on biome exposure when both are on.


Overexertion and exhaustion effects

Keep pushing at 0 stamina → warning, then damage. Exhaustion effects (slowness, sweat, breathing, stumble) are separate from the 1.1.0 feedback manager.