All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Peak Stamina

Peak Stamina

by swisscheese819 • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

Peak Stamina

Replaces vanilla sprinting mechanics with a resource management system based on fatigue and hunger. comes with compatibility for Tough as Nails, Cold Sweat, ParCool and, Combat roll. For additional custom penalties or integrations, refer to the Advanced Features section below. ONLY COMPATIBLE WITH PARCOOL 3.4.3.3


Features

  • Action Costs: Stamina is drained by sprinting, jumping, attacking, mining, swimming, climbing, and using items.
  • Fatigue: Dropping below 25% stamina and staying there accumulates Fatigue, which temporarily reduces your maximum stamina cap.
  • Food Poisoning: Eating bad food applies a lingering Poison penalty (purple bar) that blocks a portion of your max stamina until it decays.
  • Weight System: Carrying heavy items reduces your max stamina. The more you carry, the greater the penalty.
  • Climbing: Ladders consume stamina. Holding Shift enables a Slow Climb (40% speed) that costs no stamina and allows gradual regeneration.
  • Hunger Penalty: Low food levels reduce your maximum stamina cap.
  • HUD: A custom, low-profile stamina bar with visual indicators for fatigue, poison, weight, and active penalties.

BAR mode Peak Stamina BAR HUD ICON mode Peak Stamina ICON HUD


Configuration Files

  • config/peak_stamina/common.toml: All core gameplay values (costs, recovery, penalties).

  • config/peak_stamina/lists.toml: Weight system, item costs, consumables, universal penalties/buffs, and exhaustion profiles.

  • config/peak_stamina/client.toml: HUD and visual settings.

  • Note: With the update v2.0.0 there is now an in game config ui! You can see what it will look like in the gallery. As of update v2.2.0 I will no longer update the description, you can still see some of the older features here in the desc though but it will be missing a lot.


Base Settings

General

  • enableStamina (Default: true): Master switch for the mod.
  • disableInCreative (Default: true): If true, Creative mode players are excluded from the stamina system entirely.
  • disableInSpectator (Default: true): If true, Spectator mode players are excluded from the stamina system entirely.
  • initialMaxStamina (Default: 100.0): The starting maximum stamina for all players. All penalties and modifiers are calculated against this base value.
  • slowClimbSpeed (Default: 0.4): The movement speed multiplier when slow climbing (set to 1 to disable)

Action Costs

Set any value to 0 to disable it. Use a negative value to restore stamina during that action instead of draining it.

  • depletionSprint (Default: 0.15): Drain per tick while running.
  • depletionJump (Default: 0.85): Instant drain on jump.
  • depletionAttack (Default: 3.45): Instant drain on weapon swing.
  • depletionMissedAttack (Default: 1.0): Instant drain on a missed swing.
  • depletionBlockBreak (Default: 1.1): Instant drain on block break.
  • depletionBlockPlace (Default: 1.1): Instant drain on block place.
  • depletionClimb (Default: 0.7): Drain per tick while on ladders.
  • depletionSwim (Default: 0.05): Drain per tick while in water.
  • itemInterruptionCooldown (Default: 120): Ticks an item remains unusable after running out of stamina while using it.

Recovery

  • recoveryPerTick (Default: 0.36): Base regeneration speed.
  • recoveryRestMult (Default: 1.45): Multiplier applied when standing still.
  • recoveryClimbMult (Default: 0.7): Multiplier applied when resting on a ladder.
  • recoveryDelay (Default: 50): Ticks before regeneration begins after performing an action.

Enchantments

These values act as multipliers. For example, 0.15 means a 15% reduction, and 0.60 means a 60% reduction.

  • lightweightLvl1 (Default: 0.25): Weight reduction multiplier for the Lightweight I enchantment.
  • lightweightLvl2 (Default: 0.50): Weight reduction multiplier for the Lightweight II enchantment.
  • lightweightLvl3 (Default: 0.75): Weight reduction multiplier for the Lightweight III enchantment.
  • tirelessLvl1 (Default: 0.20): Stamina cost reduction multiplier for the Tireless I enchantment.
  • tirelessLvl2 (Default: 0.40): Stamina cost reduction multiplier for the Tireless II enchantment.
  • tirelessLvl3 (Default: 0.60): Stamina cost reduction multiplier for the Tireless III enchantment.

Penalties & Limits

  • fatigueThreshold (Default: 0.25): Stamina percentage at which fatigue begins accumulating.
  • fatigueDurationToPenalty (Default: 180): Ticks spent in the critical zone before the fatigue penalty activates.
  • maxExertionPenalty (Default: 30.0): Maximum stamina lost due to fatigue.
  • maxHungerPenalty (Default: 30.0): Maximum stamina lost due to starvation.
  • hungerPenaltyThreshold (Default: 6): Food level (3 shanks) at which hunger penalties begin.
  • minMaxStamina (Default: 10.0): Hard floor for maximum stamina: it can never be reduced below this value.
  • penaltyRecoveryDelay (Default: 100): Ticks before fatigue begins healing after conditions improve.
  • penaltyBuildupRate (Default: 0.1): Penalty accumulated per tick when conditions worsen.
  • penaltyDecayRate (Default: 0.05): Penalty recovered per tick when conditions improve.

Intermediate Features

Sleep Mechanics

  • sleepMode (Default: DEFAULT): Controls how fatigue decays:
    • DEFAULT: Fatigue decays naturally over time. Sleeping and eating fatigue-curing food both reduce it.
    • HARDCORE: Fatigue never decays on its own. You must sleep or eat fatigue-curing food to remove it.
  • sleepFatigueReduction (Default: 20.0): Flat amount of fatigue penalty removed after a successful sleep. Set to a high number to fully clear it.

Note: Only food tagged with CURE;FATIGUE;value will cure fatigue. Multiple CURE entries can be chained on a single item: for example, CURE;FATIGUE;10;CURE;universalpenalty;10 removes 10 points of both. See the Consumables section for a full guide.


Combat & Dynamic Weapon Weight

The Weight Scaling Formula:

When weight scaling is enabled, the stamina drained by an attack is multiplied by a calculated weight factor based on the weapon you are holding.

Multiplier = 1.0 + (((WeaponWeight - Normalizer) / Normalizer) * ScaleFactor)

Hit Attack Settings:

  • depletionAttack (Default: 3.45): Base stamina drained per successful attack.
  • attackCostScalesWithWeight (Default: true): Enables or disables the dynamic weight formula for successful hits.
  • attackWeightNormalizer (Default: 3.0): The baseline weapon weight that results in exactly a 1.0x stamina cost multiplier.
  • attackWeightScaleFactor (Default: 1.0): How intensely weight affects the attack cost.
  • attackWeightMinMultiplier (Default: 0.4): The absolute minimum stamina cost multiplier.
  • attackWeightMaxMultiplier (Default: 5.0): The absolute maximum stamina cost multiplier.

Missed Attack Settings:

  • depletionMissedAttack (Default: 1.0): Base stamina drained when swinging at the air.
  • missedAttackCostScalesWithWeight (Default: true): Enables or disables the dynamic weight formula for missed attacks.
  • missedAttackWeightNormalizer (Default: 3.0): The baseline weapon weight for a 1.0x multiplier on missed attacks.
  • missedAttackWeightScaleFactor (Default: 1.0): How intensely weight affects the missed attack cost.
  • missedAttackWeightMinMultiplier (Default: 0.4): The minimum possible stamina cost multiplier for missed attacks.
  • missedAttackWeightMaxMultiplier (Default: 5.0): The maximum possible stamina cost multiplier for missed attacks.

Elytra Mechanics

Controls what happens when a player runs out of stamina while flying.

  • depletionElytra (Default: 0.25): Drain per tick while flying.
  • disableElytraWhenExhausted (Default: true): If true, the Elytra will aerodynamically stall when stamina hits 0. If false, flight continues normally.
  • exhaustedElytraDrag (Default: 0.86): Horizontal speed retained per tick during a stall. Lower = faster deceleration. (0.9 = 10% speed loss per tick.)
  • exhaustedElytraGravity (Default: -0.025): Extra vertical gravity per tick during a stall. Negative values pull the player downward.
  • exhaustedElytraMinSpeed (Default: 0.5): Speed threshold below which the Elytra force-closes and drops the player.
  • exhaustedElytraTickInterval (Default: 3): How often in ticks drag physics are applied. 1 = every tick.

Bonus Stamina

Controls how players earn bonus stamina and how it decays over time.

When Bonus Stamina exceeds your maximum capacity, the HUD bar dynamically stacks on top of itself. Each overflow tier is shaded slightly darker, and a multiplier label (e.g., 2x, 3x) appears on the left side of the bar.

  • enableExcessStaminaConversion (Default: true): If true, restoring stamina past the max via consumables converts the overflow into Bonus Stamina.
  • excessConversionRate (Default: 0.5): Percentage of excess converted. 0.5 = 50% (e.g., 10 overflow → 5 Bonus Stamina).
  • bonusStaminaDecayDelay (Default: 20): Ticks before Bonus Stamina begins decaying after being gained or used. (20 ticks = 1 second.)
  • bonusDecayScalesWithAmount (Default: true): If true, decay is a percentage of current bonus stamina: it burns faster when you have more. If false, decay is a flat amount.
  • bonusStaminaDecayRate (Default: 0.05): Bonus Stamina lost per second. With scaling enabled, 0.05 = 5% per second.

Advanced Features

Advanced configuration is located in config/peak_stamina/lists.toml.


Weight System

Tracks the total weight of items in your inventory and applies a stamina penalty when you carry too much. Penalty scales linearly between the threshold and the limit.

  • enableWeightSystem (Default: true): Enable or disable weight calculations.
  • weightPenaltyThreshold (Default: 125.0): Total weight at which the penalty begins (0%).
  • weightPenaltyLimit (Default: 400.0): Total weight at which the penalty reaches maximum (100%).
  • maxWeightPenaltyAmount (Default: 40.0): Maximum stamina reduction at full weight.
  • maxWeightRecursionDepth (Default: 3): How many levels deep to scan nested containers.
  • autoWeightBase (Default: 10.0): Base weight for items not explicitly listed.

How Weights Are Calculated

Every item's weight is determined by one of four priority tiers (highest wins):

  1. Explicit Item Weights: defined in customItemWeights (Supports standard IDs and Virtual NBT IDs).
  2. Tag Weights: defined in customTagWeights.
  3. Advanced NBT Extraction: defined in nbtWeightPaths (Extracts hidden IDs to check against explicit weights).
  4. Auto-Weigher: heuristic fallback: Weight = (autoWeightBase / MaxStackSize) × Count.

With autoWeightBase = 10.0, a sword (stack 1), 16 Ender Pearls, and 64 dirt blocks all weigh 10.0 total: carrying more of a stackable item doesn't multiply weight indefinitely. Containers (shulker boxes, backpacks) include the weight of their contents. Shulker Boxes, Curios, and PackedUp are supported automatically.

Explicit Item Weights

Format: "modid:item;weight": weight is per individual item, not per stack. Note: This list also accepts "Virtual IDs" extracted by the Advanced NBT system (e.g., "tacz:9mm;0.05").

customItemWeights = [
    "minecraft:netherite_chestplate;15.0",
    "minecraft:diamond_sword;4.0",
    "minecraft:obsidian;1.2",
    "tacz:9mm;0.05"
]

Tag Weights

Format: "tag;weight": weight applies to each individual item within the tag.

customTagWeights = [
    "forge:ores;0.25",
    "forge:storage_blocks;0.15",
    "forge:ingots;0.2"
]

Custom Container Paths

For backpack mods that store items in custom NBT. Only needed if a mod isn't detected automatically.

Format: "modid:item;path.to.list"

customContainerPaths = [
    "somemod:satchel;Inventory",
    "anothermod:backpack;StorageTag.Items"
]

Advanced NBT Weight Extraction (For Complex Mods)

WHEN TO USE THIS: Most items in Minecraft use a standard Item ID (e.g., minecraft:apple). For those, you do NOT need this list; just put them directly into the Explicit Item Weights list.

However, some complex mods (like TACZ) use a single base item (e.g., tacz:ammo) and store the actual specific item ID (like tacz:9mm) hidden inside NBT folders. This list tells the weight system exactly where to look inside the NBT data to find that true "Virtual ID".

WHERE TO PUT THE IDS: Once you define a path here, the weight system will extract the hidden Virtual ID. You must then put that extracted ID into your Explicit Item Weights list to assign it a weight.

Format: "base_item_id ; nbt.path.to.id ; fallbackWeight ; applyFallbackIfMissing"

Examples:

nbtWeightPaths = [
    # Example 1: Ammo (Uses 'true' for the fallback flag)
    # Looks inside 'tacz:ammo' for 'AmmoId'. If it finds an ID like 'tacz:9mm', it checks Explicit Weights.
    # If 'tacz:9mm' isn't explicitly configured, it adds 0.05 weight. 
    # If the AmmoId tag is missing entirely, it still adds 0.05 because the flag is true.
    "tacz:ammo;AmmoId;0.05;true",

    # Example 2: Attachments (Uses 'false' for the fallback flag)
    # Digs through a gun's NBT folders (opens AttachmentSCOPE, then tag, to read AttachmentId) to check for a scope.
    # If a scope is found, it checks Explicit Weights, else adds 0.5.
    # If no scope is equipped (the folder is empty), it adds 0.0 weight because the flag is false.
    # (If it was true, it would add 0.5 phantom weight even if the gun had no scope. So false is better here)
    "tacz:modern_kinetic_gun;AttachmentSCOPE.tag.AttachmentId;0.5;false"
]

Weight Limit Attribute

Increase a player's carry capacity with /stamina attr weight_limit <value>. Each point adds +0.5 to the threshold and +1.0 to the limit.


Item Depletion Costs

Assign stamina costs to any item. Multiple cost types can be stacked on a single item (e.g., a shield that drains stamina both to hold and to block with).

Use a negative cost value to restore stamina during the action instead of draining it.

  • itemInterruptionCooldown (Default: 80): Cooldown in ticks if you run out of stamina while using an item.
  • enableAttackCooldownWhenExhausted (Default: false): Different from itemInterruptionCooldown this one targets weapons, swords, axes, etc.
  • exhaustedAttackCooldownDuration (Default: 80): How long the cooldown for weapons is when swung while out of stamina.
    Format: "ItemId;TYPE;Cost;TYPE;Cost..." Cost types:
  • TICK: Drains stamina continuously while the item is in use. Cancels the action if stamina hits 0.
  • BLOCK: Drains stamina only when a Shield successfully blocks damage. Supports dynamic scaling: BLOCK;BaseCost;DamageMultiplier.
  • USE: Drains stamina instantly on right-click.
  • USE_ON_BLOCK: Drains stamina only when the tool successfully modifies a block state.

Examples:

# Shield: `0.2/tick` to hold; when hit, `2.0` flat + `80%` of incoming damage:
"minecraft:shield;TICK;0.2;BLOCK;2.0;0.8"

# Bow: `0.5/tick` to draw:
"minecraft:bow;TICK;0.5"

# Fishing Rod: `3.0` stamina to cast:
"minecraft:fishing_rod;USE;3.0"

A tag based list is also available using the same format, with a tag ID instead of an item ID. Specific item entries always take priority over tag entries.


Consumables System

Chain multiple effects onto a single item to create complex food and consumable interactions.

  • penaltyReliefDuration (Default: 25): Seconds the Resistance buff lasts after eating a relief item.
  • maxPoisonPenalty (Default: 40.0): Maximum stamina blocked by food poisoning.
  • poisonDecayDelay (Default: 45): Seconds after eating before the poison penalty begins to heal.
  • poisonDecayRate (Default: 0.05): How fast the poison bar drains after the delay expires.

Format: "ItemId;TYPE;Args...;TYPE;Args..."

Effect types:

  • INSTANT;Amount: Instantly restores Amount stamina.
  • BONUS;Amount: Grants Amount Bonus Stamina (gold bar). Consumed before normal stamina and decays over time.
  • POISON;Amount: Applies a food poisoning penalty (purple bar) of Amount. Decays after poisonDecayDelay seconds.
  • REGEN;Amount;Seconds: Modifies regen speed for Seconds. Positive = faster, negative = slower. (0.2 = +20%, -0.3 = -30%.)
  • PENALTY;Amount: Grants Resistance for penaltyReliefDuration seconds. Formula: 30% base + (Amount / 100). Caps at 80%.
  • CURE;Target;Amount: Removes Amount from a specific penalty. Valid targets: FATIGUE, HUNGER, POISON, WEIGHT, ALL, or any custom key (e.g., temperature or modid:effectid).

Examples:

# Restores 10.0 stamina and grants 5.0 Bonus Stamina.
"minecraft:apple;INSTANT;10.0;BONUS;5.0"

# Grants ~50% Resistance to penalty gain for the configured relief duration.
"minecraft:golden_carrot;PENALTY;20.0"

# Removes 100.0 points of Food Poisoning.
"minecraft:milk_bucket;CURE;POISON;100.0"

# Removes 50.0 Poison and 20.0 Fatigue.
"modid:herbal_tea;CURE;POISON;50.0;CURE;FATIGUE;20.0"

# Removes 100.0 points of penalty caused by the Wither Effect.
"minecraft:honey_bottle;CURE;minecraft:wither;100.0"

# Removes 50.0 from all active penalties and grants ~55% Resistance.
"minecraft:golden_apple;CURE;ALL;50.0;PENALTY;25.0"

Exhaustion Penalties

Define what happens when a player's stamina hits 0.

  • exhaustionCooldownDuration (Default: 60): Ticks (3 seconds) the penalties persist after hitting 0.
  • exhaustedSpeedPenalty (Default: -0.65): Sprint speed reduction when running at 0 stamina. Players will not regenerate stamina while doing this.
  • customExhaustionPenalties: A list of attribute modifiers applied at exhaustion.

Format: "AttributeName;Amount;Operation"

Operations: 0 = Add flat, 1 = Multiply base, 2 = Multiply total. Example: slow the player by 15%:

"minecraft:generic.movement_speed;-0.15;2"

Universal Penalties (NBT & Status Effects)

Link any mod's data: thirst, temperature, radiation, magic: to the stamina system using comparators. Supports gradual buildup or instant application.

  • universalPenalties: The list of rules defining external penalties.
  • showIcons (Default: true): Toggle penalty icons on the HUD. _(Located in peak_stamina-client.toml. Check your version's config comments for availability.)_

Format: "Type;Key;Comparator;Threshold;WorstValue;MaxPenalty;ColorInt;IconText"

Parameter Description
Type NBT (checks player data) or EFFECT (checks potion amplifier/level).
Key The NBT path (e.g., thirstLevel) or Effect ID (e.g., minecraft:poison).
Comparator Logic for calculating the penalty. See comparator modes below.
Threshold The safe value where penalty starts (0%).
WorstValue In SCALE mode: The value where penalty reaches 100%.
In MULTIPLIER mode: The Maximum total penalty allowed (Hard Cap).
MaxPenalty In SCALE mode: Total penalty amount at WorstValue.
In MULTIPLIER mode: Penalty amount per 1 unit of difference.
ColorInt Decimal color code for the HUD overlay (e.g., 16711680 is Red).
IconText Emoji or text to display on the bar. Write none to disable.

EFFECT checks the amplifier, not the displayed level. Amplifier 0 = Level I.

Comparator Modes

Operator Behavior
> Linear penalty as value rises above Threshold, maxing at WorstValue.
< Linear penalty as value falls below Threshold, maxing at WorstValue.
* Each point above Threshold adds MaxPenalty, capped at WorstValue. Formula: (Current - Threshold) * MaxPenalty
*< Each point below Threshold adds MaxPenalty, capped at WorstValue. Formula: (Threshold - Current) * MaxPenalty

Prefix any operator with ! (e.g., !>, !*<) to apply the penalty instantly rather than building up gradually.

The 8th argument (IconText) sets what appears on the bar. Type any character or emoji directly (e.g., 💧, 🔥), or use none to hide it.

Examples

# Linear penalty as thirst level falls below 6
"NBT;thirstLevel;<;6;0;20.0;38143;💧"

Cold Sweat (Heat & Cold):

# Linear penalty for extreme heat (> 2) or extreme cold (< 2)
"NBT;targetTemperatureLevel;>;2;4;20.0;16724016;🔥"
"NBT;targetTemperatureLevel;<;2;0;20.0;65535;❄"

Multiplier (Thirst):

# Each point below 6 adds 2.0 penalty, capped at 30
"NBT;thirstLevel;*<;6;30;2.0;38143;💧"

Multiplier (Poison Effect):

# Each amplifier level adds 5.0 penalty, capped at 50
"EFFECT;minecraft:poison;*;0;50;5.0;4488448;☣"

Instant Application:

# Instantly applies the penalty using the ! prefix
"EFFECT;hordes:infected;!*;0;80;10.0;8388736;🦠"

Universal Buffs (NBT & Status Effects)

Works identically to Universal Penalties, but grants Bonus Stamina instead of penalizing the player.

  • universalBuffs: The list of rules defining external buffs.
  • universalBuffRegenWhileActive (Default: false): If false, Bonus Stamina from PASSIVE/BOTH modes pauses regeneration while the player is actively draining stamina or on regen cooldown.

Format: "Type;Key;ActionMode;Threshold;LimitOrCooldown;Amount;BurstAmount;ScalingFactor"

BurstAmount is exclusive to BOTH modes. ScalingFactor is exclusive to MULTIPLIER modes.

Action Modes:

Action Mode Behavior
PASSIVE_OVER / PASSIVE_UNDER Regenerates Bonus Stamina per second while the stat is above/below Threshold.
BURST_OVER / BURST_UNDER Instantly grants Bonus Stamina once when the stat crosses Threshold.
BOTH_OVER / BOTH_UNDER Grants a one-time burst when crossing Threshold, then regenerates passively up to the hardcap.

Append _MULTIPLIER to any mode (e.g., PASSIVE_OVER_MULTIPLIER) to scale the effect based on how far past the threshold the player is.

LimitOrCooldown is context dependent: for PASSIVE/BOTH modes it sets the Bonus Stamina hardcap; for BURST modes it sets the cooldown in ticks before the burst can re-trigger.

Examples:

Passive (Regeneration Effect):

# Generates 1.0/sec while active, cap 20.0
"EFFECT;minecraft:regeneration;PASSIVE_OVER;-1;20.0;1.0"

Burst + Passive (NBT Mana Stat):

# Burst of 30.0 when mana exceeds 50, then 2.0/sec passively up to cap 100.0
"NBT;player_mana;BOTH_OVER;50;100.0;2.0;30.0"

Multiplier (Strength Effect):

# Strength I (Amp 0): 1.25x -> 2.5/sec, cap 25.0
# Strength II (Amp 1): 1.50x -> 3.0/sec, cap 30.0
"EFFECT;minecraft:strength;PASSIVE_OVER_MULTIPLIER;-1;20.0;2.0;1.25"

Nested NBT Paths

Use . to navigate inside nested NBT tags, chaining as many levels as needed:

# ForgeCaps tag → legendarysurvivaloverhaul:thirst tag → hydrationLevel value 
"ForgeCaps.legendarysurvivaloverhaul:thirst.hydrationLevel" 

# ForgeCaps tag → legendarysurvivaloverhaul:temperature tag → temperature value 
"ForgeCaps.legendarysurvivaloverhaul:temperature.temperature" 

# ForgeCaps tag → somemod:player_stats tag → skills tag → mining_level value 
"ForgeCaps.somemod:player_stats.skills.mining_level"

Troubleshooting: If the correct path still doesn't work, try prefixing with ForgeCaps. followed by the rest of the path. Example: "NBT;ForgeCaps.legendarysurvivaloverhaul:temperature.temperature;*<;12;40;2.0;65535;❄"


⚠️ Experimental Features

These features are experimental and may impact performance or game balance. Use with caution.

Entity Stamina

Brings exhaustion mechanics to non-player entities, allowing mobs to run out of stamina and suffer attribute debuffs during combat.

  • enableMobStamina (Default: false): Master toggle for the mob stamina system.
  • enableExhaustionParticles (Default: true): Toggles the visual "sweat" particle effect when a mob enters an exhausted state.

Exhaustion Profiles

Define reusable attribute debuff templates that can be assigned to any mob. Modded attributes are fully supported.

Format: "ProfileName;AttributeID=Multiplier,AttributeID=Multiplier..."

Examples:

"MeleeTired;minecraft:generic.movement_speed=-0.40,minecraft:generic.attack_damage=-0.4"
"HeavyMelee;minecraft:generic.movement_speed=-0.60,minecraft:generic.attack_damage=-0.50"

Custom Mob Stamina (Whitelist)

Defines exactly which mobs participate in the stamina system. Mobs not listed here are completely unaffected.

Note: Boss entities are not guaranteed to function correctly with this system.

Format: "EntityID;MaxAttacks;ExhaustionTicks;ProfileName"

  • EntityID: The registry name of the mob (e.g., minecraft:zombie).
  • MaxAttacks: Number of melee hits or ranged shots before exhaustion triggers. For ranged mobs, counts shots fired regardless of whether they land.
  • ExhaustionTicks: Duration the mob stays exhausted. (20 ticks = 1 second.)
  • ProfileName: The Exhaustion Profile to apply, as defined above.

Ranged mobs using bows or crossbows that have an attack damage reduction in their Exhaustion Profile will also suffer reduced arrow velocity while exhausted.

Custom Stamina Actions

This system allows you to define specific triggers that consume or regenerate stamina. Each action follows a specific string format consisting of three main components.

Format: "Event_Type;Argument;Cost"

Parameter Description
Event_Type The specific category of interaction or event that triggers the cost (e.g., MOUNT, HURT).
Argument Filters the event. Use a specific ID to target one object, or ANY to trigger the cost for all events in that category.
Cost The amount of stamina consumed.

Available Event Types & Arguments

Event Type Argument Description
MOUNT entity_id Triggers when the player mounts an entity (e.g., minecraft:horse, minecraft:boat)
INTERACT_ENTITY entity_id Triggers when right-clicking an entity (e.g., minecraft:villager, minecraft:pig).
HURT damage_source Triggers when the player takes damage (e.g., fall, onFire, mob, arrow).
FISH damage_source Triggers when the player successfully catches something with a fishing rod.

Examples

  • "HURT;fall;10.0" Losing 10 stamina when taking fall damage.
  • "MOUNT;minecraft:horse;25.0" A one time cost of 25 stamina to mount a horse.
  • "FISH;ANY;-5.0" Regenerating 5 stamina every time you catch a fish.
  • "INTERACT_ENTITY;ANY;2.0" A small stamina drain for interacting with any mob.

Note: Use ANY for the argument if you want the stamina cost to apply regardless of the specific entity or damage source type. Negative values regen stamina instead.


ParCool Compat

As long as any stamina remains (> 0), you can initiate a ParCool action: even if the cost exceeds your current amount. You will simply drop to 0. Fast run and fast swim costs are added on top of the base sprint and swim costs.

Use a negative cost value to restore stamina during an action instead of draining it.

  • parCoolActionCosts: The list defining stamina costs for specific parkour moves.

Format: "ActionName;START;Cost;CONTINUE;Cost"

  • START: One-time cost when the action begins.
  • CONTINUE: Cost per tick while the action is active.

Examples:

# Vault: 8.0 stamina instantly:
"Vault;START;8.0"

# Wall Run: 15.0 to start, then 0.5/tick:
"WallRun;START;15.0;CONTINUE;0.5"

Combat Roll Compat

You can only use a roll when you have sufficient stamina to initiate one. Otherwise you can't.

  • combatRollCost: How much each roll costs.

Auto HUD System

All visual and HUD settings are in config/peak_stamina/client.toml. Disabled by default.

  • autoHudMode: How the bar animates: FADE, SLIDE, or BOTH.
  • autoHudSlideDir: Direction the bar travels when sliding away: UP, DOWN, LEFT, RIGHT.
  • autoHudEasing: Animation curve: LINEAR, SMOOTHSTEP, EASE_OUT_SINE, or EASE_OUT_EXPO. Detailed descriptions are in the config file comments.
  • autoHudFadeInSpeed / autoHudFadeOutSpeed: Independent speed controls for transparency transitions.
  • autoHudSlideInSpeed / autoHudSlideOutSpeed: Independent speed controls for slide movement.
  • autoHudSlideDistance: Pixels the bar moves when sliding off-screen.
  • autoHudLingerTime: Ticks the bar stays visible after stamina stops changing.
  • autoHudThreshold: Automatically shows the bar if stamina drops below this percentage.
  • autoHudShowOnPenalties: Forces the bar to stay visible whenever any active penalty is present.

Custom Tooltips

All visual and HUD settings are in config/peak_stamina/client.toml.

This system allows you to define which stamina related statistics appear on item tooltips in game.

  • enableTooltips (Default: true): Toggle to enable or disable stamina information on item tooltips.
  • advancedTooltipsOnly (Default: false): If true, stamina tooltips will only appear when F3+H (Advanced Tooltips) is active in game.

Format: "Content_Type;Placement;Label_Color;Value_Color"

Parameter Description
Content_Type The specific stamina stat or effect to display (e.g., WEIGHT, INSTANT_STAMINA).
Placement Where the tooltip appears: BOTTOM (end of tooltip) or BELOW_NAME (immediately under the item name).
Label_Color The color of the stat name (e.g., "Weight:"). See color list below.
Value_Color The color of the numerical value or effect (e.g., "15.0"). See color list below.

Available Content Types

  • WEIGHT: Displays the item's weight.
  • ATTACK_COST: Shows stamina drain per successful swing.
  • MISSED_ATTACK_COST: Shows stamina drain when swinging at air.
  • USE_COST: Shows instant cost on right-click.
  • TICK_COST: Shows continuous drain while holding/using.
  • BLOCK_COST: Shows stamina drain when blocking with a shield.
  • INSTANT_STAMINA: Displays how much stamina is restored upon consumption.
  • BONUS_STAMINA: Displays the amount of gold "Bonus Stamina" granted.
  • REGEN_MODIFIER: Shows the percentage boost or penalty to recovery speed.
  • CURES: Lists which penalties (Fatigue, Poison, etc.) the item removes.

    You can configure what will show in the tooltips for each of them as well.

Color Palette

You can use the following standard Minecraft color names for both labels and values:

BLACK, DARK_BLUE, DARK_GREEN, DARK_AQUA, DARK_RED, DARK_PURPLE, GOLD, GRAY, DARK_GRAY, BLUE, GREEN, AQUA, RED, LIGHT_PURPLE, YELLOW, WHITE.

Examples

The order in which you list these entries determines the order they appear in your tooltips.

customTooltips = [
    "WEIGHT;BOTTOM;DARK_GRAY;WHITE",
    "ATTACK_COST;BOTTOM;DARK_GRAY;WHITE",
    "INSTANT_STAMINA;BOTTOM;DARK_GRAY;GREEN",
    "BONUS_STAMINA;BOTTOM;DARK_GRAY;GOLD",
    "CURES;BOTTOM;DARK_GRAY;WHITE"
]

Note: Tooltips will only appear on items that actually possess the corresponding stat or effect. For example, a WEIGHT tooltip won't show on an item with 0 weight unless explicitly configured.


Attributes & Commands

Attributes

peak_stamina:max_stamina
peak_stamina:stamina_regen
peak_stamina:stamina_action_recovery          # Multiplies stamina restored during actions
peak_stamina:regen_delay_multiplier
peak_stamina:exhaustion_duration_multiplier
peak_stamina:current_stamina
peak_stamina:penalty_gain_multiplier
peak_stamina:penalty_decay_multiplier
peak_stamina:max_global_penalty_multiplier
peak_stamina:max_fatigue_penalty_multiplier
peak_stamina:max_hunger_penalty_multiplier
peak_stamina:max_poison_penalty_multiplier
peak_stamina:max_weight_penalty_multiplier
peak_stamina:slow_climb_speed
peak_stamina:exhausted_sprint_speed
peak_stamina:weight_limit
peak_stamina:current_weight
peak_stamina:weight_calculation_multiplier    # Multiplies the weight of all items
peak_stamina:global_stamina_usage
peak_stamina:jump_cost_multiplier
peak_stamina:sprint_cost_multiplier
peak_stamina:attack_cost_multiplier
peak_stamina:missed_attack_cost_multiplier
peak_stamina:shield_block_cost_multiplier
peak_stamina:shieldexp_parry_cost_multiplier
peak_stamina:item_cost_multiplier
peak_stamina:block_break_cost_multiplier
peak_stamina:block_place_cost_multiplier
peak_stamina:swim_cost_multiplier
peak_stamina:climb_cost_multiplier
peak_stamina:elytra_cost_multiplier
peak_stamina:parcool_cost_multiplier
peak_stamina:walljumptxf_cost_multiplier
peak_stamina:combatroll_cost_multiplier
peak_stamina:bonus_stamina_capacity
peak_stamina:bonus_stamina_decay_rate
peak_stamina:bonus_stamina_decay_delay
peak_stamina:excess_conversion_multiplier
peak_stamina:shieldexp_bonus_gain_multiplier

Commands

  • /stamina get: View your current and maximum stamina.
  • /stamina set <amount>: Set your current stamina to a specific value.
  • /stamina attr <attribute> <value>: Modify a personal stamina attribute.
  • /stamina debug: Full debug readout of all stamina stats, penalties, and attribute multipliers.
  • /stamina reload: Reloads all caches and config values.

Debugging

Finding the Correct NBT Path

Guess the path in your config, then launch the game and check logs/latest.log. If the path is wrong, the mod prints a WARNING listing the available keys at that level: use those to correct it.

If a correct path still doesn't work, try prefixing with ForgeCaps. followed by the rest of the path. Example: "NBT;ForgeCaps.legendarysurvivaloverhaul:temperature.temperature;*<;12;40;2.0;65535;❄"

Getting Decimal Colors

Minecraft configs use decimal color values. Take your hex color (e.g., FF0000), run it through any Hex to Decimal converter, and paste the result into your config (e.g., 16711680).


Q&A

Q: Can you add compatibility for X mod (thirst, temperature, etc.)? You can do it yourself using the Universal Penalties & Buffs section above

Q: How do I disable the Hunger penalty? Set maxHungerPenalty to 0.0. You can also set maxExertionPenalty to 0.0 to disable Fatigue.

Q: How do I disable the Weight System? Set enableWeightSystem to false.

Q: Do I need this mod on the server? Yes.

Q: Does this work in multiplayer? While not exhaustively tested across all versions, testing has not revealed any issues.

How to Install Peak Stamina (Mod)

Peak Stamina by swisscheese819 is verified for Forge, Neoforge across Minecraft versions 1.20.1, 1.21.1 (latest release: 2.2.2, file size: 392 KB). Follow the steps below to install it safely from ModCraft.tv:

  1. Click the Download button above and select your Minecraft version (1.20.1, 1.21.1) and platform (Forge, Neoforge).
  2. Make sure you have the compatible loader or environment installed for Forge, Neoforge.
  3. Move the downloaded Peak Stamina file into your Minecraft .minecraft/mods folder and launch the game.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.20.1
Forge
1mo ago 1
1.21.1
Neoforge
1mo ago 1
1.20.1
Forge
2mo ago 1
1.21.1
Neoforge
2mo ago 1
1.20.1
Forge
3mo ago 1
1.21.1
Neoforge
3mo ago 1
1.21.1
Neoforge
3mo ago 1
1.20.1
Forge
4mo ago 1
1.20.1
Forge
5mo ago 1
1.21.1
Neoforge
5mo ago 1
1.20.1
Forge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.21.1
Neoforge
6mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
7mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
8mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
9mo ago 1
1.20.1
Forge
10mo ago 1
1.20.1
Forge
10mo ago 1
1.20.1
Forge
10mo ago 1
1.20.1
Forge
10mo ago 1
1.20.1
Forge
10mo ago 1
1.20.1
Forge
10mo ago 1
1.20.1
Forge
10mo ago 1
1.20.1
Forge
10mo ago 1
1.20.1
Forge
10mo ago 1
1.20.1
Forge
11mo ago 1
[2.2.2] Peak Stamina Forge 2.2.2 by swisscheese819 on Sep 25, 2026
Download
## Minor<br>

  • Updated Custom Action Hooks:** Added three new hook types to the experimental action system:<br>
  • KILL_ENTITY: Apply stamina costs or rewards upon killing an entity. Supports negative values (restores stamina on kill).<br>
  • INTERACT_BLOCK: Gate right-click block interactions (e.g., workstations, machines, doors) behind stamina costs. Cancels the interaction if stamina is insufficient.<br>
  • BREAK_BLOCK_SPECIFIC: Assign unique, heavy stamina costs to mining specific blocks (e.g., obsidian) independently from global block-breaking costs.<br><br>

  • Priority:** Prioritizes exact namespace/ID matches before falling back to ANY.<br><br>

  • Auto HUD Rework:** Fixed an issue where active penalties (such as a 30-point weight penalty) would permanently cap stamina and prevent the Auto HUD from ever fading out, even when "Auto Hud Show On Penalties" was set to False. <br><br><br>

### Configuration & Defaults<br>

  • Default Experimental Hooks:** Updated default customActionHooks with clear vanilla examples showcasing stamina refunds, workstation interactions, and high-cost block mining:<br>
  • KILL_ENTITY; ANY; -10.0<br>
  • INTERACT_BLOCK; minecraft:anvil; 5.0<br>
  • BREAK_BLOCK_SPECIFIC; minecraft:obsidian; 20.0<br>

### Bug Fixes<br>

  • Better Combat & Item Cooldowns Crashes:** Fixed a critical issue where attacking with a weapon on cooldown (e.g., from a Simply Swords weapon ability) would cause an UnsupportedOperationException crash with Better Combat. Peak Stamina now properly respects the enableAttackCooldownWhenExhausted config and no longer illegally cancels LeftClickEmpty events when the feature is disabled.<br>
  • With that being said, peak stamina is now technically fully compatible with better combat and simply swords (unless there is another crash I don't know about, please let me know!)<br><br>

  • Dedicated Server Crash ("Invalid Player Data"):** Fixed a critical error where dedicated servers threw an exception and kicked connecting players with "Invalid Player Data" during login. The ConfigMigrator now strictly checks for a physical client environment before querying client.toml settings.<br><br>

  • Admin Only Config Warnings:** Outdated config chat alerts on dedicated servers are now restricted to server operators (permission level 2+) and singleplayer sessions.<br><br>

  • Dual Wielding Offhand Bypass:** Fixed a bug where offhand weapons could bypass stamina cooldown restrictions. Raw mouse and key inputs are now intercepted at high priority to block offhand swings while on cooldown.<br><br>

  • ParCool + Auto HUD Bug:** Fixed an issue where performing ParCool movement actions would permanently freeze the stamina bar on the screen until the player relogged. <br><br>

  • Auto HUD Text Flashing:** Fixed a vanilla Minecraft font rendering quirk where text elements (the numerical readout, text-based icons, bonus multipliers, and regen indicators) would briefly fla
...
[2.2.2] Peak Stamina NeoForge 2.2.2 by swisscheese819 on Sep 25, 2026
Download
## Minor<br>

  • Updated Custom Action Hooks:** Added three new hook types to the experimental action system:<br>
  • KILL_ENTITY: Apply stamina costs or rewards upon killing an entity. Supports negative values (restores stamina on kill).<br>
  • INTERACT_BLOCK: Gate right-click block interactions (e.g., workstations, machines, doors) behind stamina costs. Cancels the interaction if stamina is insufficient.<br>
  • BREAK_BLOCK_SPECIFIC: Assign unique, heavy stamina costs to mining specific blocks (e.g., obsidian) independently from global block-breaking costs.<br><br>

  • Priority:** Prioritizes exact namespace/ID matches before falling back to ANY.<br><br>

  • Auto HUD Rework:** Fixed an issue where active penalties (such as a 30-point weight penalty) would permanently cap stamina and prevent the Auto HUD from ever fading out, even when "Auto Hud Show On Penalties" was set to False. <br><br><br>

### Configuration & Defaults<br>

  • Default Experimental Hooks:** Updated default customActionHooks with clear vanilla examples showcasing stamina refunds, workstation interactions, and high-cost block mining:<br>
  • KILL_ENTITY; ANY; -10.0<br>
  • INTERACT_BLOCK; minecraft:anvil; 5.0<br>
  • BREAK_BLOCK_SPECIFIC; minecraft:obsidian; 20.0<br>

### Bug Fixes<br>

  • Better Combat & Item Cooldowns Crashes:** Fixed a critical issue where attacking with a weapon on cooldown (e.g., from a Simply Swords weapon ability) would cause an UnsupportedOperationException crash with Better Combat. Peak Stamina now properly respects the enableAttackCooldownWhenExhausted config and no longer illegally cancels LeftClickEmpty events when the feature is disabled.<br>
  • With that being said, peak stamina is now technically fully compatible with better combat and simply swords (unless there is another crash I don't know about, please let me know!)<br><br>

  • Dedicated Server Crash ("Invalid Player Data"):** Fixed a critical error where dedicated servers threw an exception and kicked connecting players with "Invalid Player Data" during login. The ConfigMigrator now strictly checks for a physical client environment before querying client.toml settings.<br><br>

  • Admin Only Config Warnings:** Outdated config chat alerts on dedicated servers are now restricted to server operators (permission level 2+) and singleplayer sessions.<br><br>

  • Dual Wielding Offhand Bypass:** Fixed a bug where offhand weapons could bypass stamina cooldown restrictions. Raw mouse and key inputs are now intercepted at high priority to block offhand swings while on cooldown.<br><br>

  • ParCool + Auto HUD Bug:** Fixed an issue where performing ParCool movement actions would permanently freeze the stamina bar on the screen until the player relogged. <br><br>

  • Auto HUD Text Flashing:** Fixed a vanilla Minecraft font rendering quirk where text elements (the numerical readout, text-based icons, bonus multipliers, and regen indicators) would briefly fla
...
[2.2.1] Peak Stamina Forge 2.2.1 by swisscheese819 on Sep 16, 2026
Download
## Semi Major <br>

  • Config Migration:** Added config migration so you can automatically (with the click of a button) update your configs to the newest version while keeping your current configs.
  • Added an internal version for the configs, this will let you know to migrate the configs to the newer version (also the notification).<br><br>

  • Config Reset Button:** Added a "Reset to Default" button next to the configuration options in the in-game Config.<br>
  • You can now revert specific values, lists, and booleans back to their original defaults without needing to delete or wipe your .toml files.<br><br>

### Compatibility<br>
  • Dual Wielding:** Added compat for the Dual Wielding mod. <br>
  • Note:** The compat for offhand combat will ONLY work for people using the dual wielding mod. If you want offhand combat to work properly then I suggest using this mod as other offhand combat mods will be a lower priority. Link to mod below:<br>

https://www.curseforge.com/minecraft/mc-mods/dual-wielding<br><br><br>


## Minor<br>

  • New Config:** Enable Stamina HUD_(Default: true):_ If false, the main stamina bar/icon overlay will be completely hidden.

  • Updated Swimming:** The swimming mechanics have been overhauled. The swimming cost is now split between treading and sprint swimming (you can no longer regen stamina by just not sprint swimming in water).<br><br>
  • Actively staying afloat in deep water (without touching the bottom) now slowly drains stamina. Running out of stamina in the water will now cause you to sink downwards, you can still swim up although at a heavily reduced speed. Submerged players with zero stamina will lose their oxygen supply significantly faster.<br><br>
  • Configs:<br>
  • treadingWaterDrain _(default: 0.015)_: Stamina drained per tick just for staying afloat.<br>
  • sinkInWaterWhenExhausted _(default: true)_: If true, players will sink when out of stamina.<br>
  • exhaustedWaterGravity _(default: -0.005)_: How strong the downward pull is when exhausted in water (negative value).<br>
  • exhaustedAirDrain _(default: 1.0)_: Extra air lost per second when out of stamina underwater.<br><br>

  • Missed Attacks:** You can now toggle missed attack stamina drain so it only applies when you are holding a melee weapon or tool.<br>
  • Configs:<br>
  • missedAttackRequiresWeapon _(default: false)_: If true, missed attacks only drain stamina if holding a weapon or tool (Swords, Pickaxes, etc). <br><br>

  • Reworked Tooltips:** After looking at the tooltips (aside from the messed up defaults since I forgot to update it from the tooltip studio update) it is very obtuse and confusing to a player that has not read the configs. In response to that I have done the following:<br><br>

  • Fixed the default tooltips and added reset to default button and reset all tooltips to default button.<br>
  • Made the tooltips use display names instead of the keys (ex: instead of 'ALL' it is now 'All Penalties' an
...
[2.2.1] Peak Stamina NeoForge 2.2.1 by swisscheese819 on Sep 16, 2026
Download
## Semi Major <br>

  • Config Migration:** Added config migration so you can automatically (with the click of a button) update your configs to the newest version while keeping your current configs.
  • Added an internal version for the configs, this will let you know to migrate the configs to the newer version (also the notification).<br><br>

  • Config Reset Button:** Added a "Reset to Default" button next to the configuration options in the in-game Config.<br>
  • You can now revert specific values, lists, and booleans back to their original defaults without needing to delete or wipe your .toml files.<br><br>

### Compatibility<br>
  • Dual Wielding:** Added compat for the Dual Wielding mod. <br>
  • Note:** The compat for offhand combat will ONLY work for people using the dual wielding mod. If you want offhand combat to work properly then I suggest using this mod as other offhand combat mods will be a lower priority. Link to mod below:<br>

https://www.curseforge.com/minecraft/mc-mods/dual-wielding<br><br><br>


## Minor<br>

  • New Config:** Enable Stamina HUD_(Default: true):_ If false, the main stamina bar/icon overlay will be completely hidden.

  • Updated Swimming:** The swimming mechanics have been overhauled. The swimming cost is now split between treading and sprint swimming (you can no longer regen stamina by just not sprint swimming in water).<br><br>
  • Actively staying afloat in deep water (without touching the bottom) now slowly drains stamina. Running out of stamina in the water will now cause you to sink downwards, you can still swim up although at a heavily reduced speed. Submerged players with zero stamina will lose their oxygen supply significantly faster.<br><br>
  • Configs:<br>
  • treadingWaterDrain _(default: 0.015)_: Stamina drained per tick just for staying afloat.<br>
  • sinkInWaterWhenExhausted _(default: true)_: If true, players will sink when out of stamina.<br>
  • exhaustedWaterGravity _(default: -0.005)_: How strong the downward pull is when exhausted in water (negative value).<br>
  • exhaustedAirDrain _(default: 1.0)_: Extra air lost per second when out of stamina underwater.<br><br>

  • Missed Attacks:** You can now toggle missed attack stamina drain so it only applies when you are holding a melee weapon or tool.<br>
  • Configs:<br>
  • missedAttackRequiresWeapon _(default: false)_: If true, missed attacks only drain stamina if holding a weapon or tool (Swords, Pickaxes, etc). <br><br>

  • Reworked Tooltips:** After looking at the tooltips (aside from the messed up defaults since I forgot to update it from the tooltip studio update) it is very obtuse and confusing to a player that has not read the configs. In response to that I have done the following:<br><br>

  • Fixed the default tooltips and added reset to default button and reset all tooltips to default button.<br>
  • Made the tooltips use display names instead of the keys (ex: instead of 'ALL' it is now 'All Penalties' an
...

  • Hotfixes:**<br>
  • Fixed incorrect version number.<br>
  • Fixed a major ParCool compatibility desync where stamina would regenerate instead of draining during continuous movement actions.<br>
  • Fixed stamina bar visual rubber-banding during ParCool actions by adding client-side prediction and proper server packets.<br>
  • Fixed negative stamina costs and regeneration delays not applying correctly for ParCool actions.<br><br><br>

Heya! Here with v2.2.0, I realize that this mod is getting HUGE with a ton of features (I do wonder if its a bit much and if people are intimidated and/or confused about how any of the features work... [if that's a the case pls let me know and maybe provide a suggestion to make it easier]). Adding this new complex thing isn't exactly helping that issue either but nonetheless for the people that do know what they are doing, here you go!<br><br><br>

## Major<br>

  • Mod Icon Update:** Drawn by my good friend " Nihao² ", He has drawn a decent portion of the art and textures in this mod.

  • Consumable System Update:** Updated the consumables configuration to allow food and drinks to apply temporary Attribute Modifiers upon consumption, should support modded attributes.<br>

  • You can now configure specific attribute targets, math operations (addition, multiply base, multiply total), amount, and buff duration in seconds. See format guide for more information.<br>
  • Supports chaining multiple attribute buffs or debuffs onto a single consumable item.<br>
  • Added full NBT tag support to target specific items with custom NBT data (e.g., targeting specific potion types like minecraft:potion{Potion:"minecraft:water"}).<br><br>

With this update, I also updated the tooltips system to include a buffs section and a few other configs that go with that. (for the buffs tooltip to show up, you have to add it to your pre-existing lists, or you reset to default by deleting lists.toml, it will show up in suggestion box).<br>

  • Configs:<br>
  • colorCodeBuffs _(default: true)_: Color code attribute buffs and debuffs (Green for positive, Red for negative).<br>
  • invertedTooltipAttributes: A list of attribute IDs where a negative/lower value being buff (colored green).<br>
  • labelAttribute _(default: "Buff: ")_: Text shown before an Attribute Buff value.<br><br>

There is also a display buffs button added to the inventory UI in the case that you would like to see the active buffs. The Active Buffs screen groups active effects by their attribute names, displays the item icon that applied it, and includes a scrollbar for when you have a ton of buffs active.<br>

  • Configs:<br>
  • enableActiveBuffsHUD _(default: true)_: Enable the Active Buffs button in the inventory.<br>
  • activeBuffsXOffset _(default: -24)_: X position offset for the Active Buffs button.<br>
  • activeBuffsYOffset _(default: 10)_: Y position offset for the Active Buffs button.<br>
  • `activeBuffsButtonLabel
...
  • Hotfixes:**<br>
  • Fixed a major ParCool compatibility desync where stamina would regenerate instead of draining during continuous movement actions.<br>
  • Fixed stamina bar visual rubber-banding during ParCool actions by adding client-side prediction and proper server packets.<br>
  • Fixed negative stamina costs and regeneration delays not applying correctly for ParCool actions.<br><br><br>



Heya! Here with v2.2.0, I realize that this mod is getting HUGE with a ton of features (I do wonder if its a bit much and if people are intimidated and/or confused about how any of the features work... [if that's a the case pls let me know and maybe provide a suggestion to make it easier]). Adding this new complex thing isn't exactly helping that issue either but nonetheless for the people that do know what they are doing, here you go!<br><br><br>

## Major<br>

  • Mod Icon Update:** Drawn by my good friend " Nihao² ", He has drawn a decent portion of the art and textures in this mod.

  • Consumable System Update:** Updated the consumables configuration to allow food and drinks to apply temporary Attribute Modifiers upon consumption, should support modded attributes.<br>

  • You can now configure specific attribute targets, math operations (addition, multiply base, multiply total), amount, and buff duration in seconds. See format guide for more information.<br>
  • Supports chaining multiple attribute buffs or debuffs onto a single consumable item.<br>
  • Added full NBT tag support to target specific items with custom NBT data (e.g., targeting specific potion types like minecraft:potion{Potion:"minecraft:water"}).<br><br>

With this update, I also updated the tooltips system to include a buffs section and a few other configs that go with that. (for the buffs tooltip to show up, you have to add it to your pre-existing lists, or you reset to default by deleting lists.toml, it will show up in suggestion box).<br>

  • Configs:<br>
  • colorCodeBuffs _(default: true)_: Color code attribute buffs and debuffs (Green for positive, Red for negative).<br>
  • invertedTooltipAttributes: A list of attribute IDs where a negative/lower value being buff (colored green).<br>
  • labelAttribute _(default: "Buff: ")_: Text shown before an Attribute Buff value.<br><br>

There is also a display buffs button added to the inventory UI in the case that you would like to see the active buffs. The Active Buffs screen groups active effects by their attribute names, displays the item icon that applied it, and includes a scrollbar for when you have a ton of buffs active.<br>

  • Configs:<br>
  • enableActiveBuffsHUD _(default: true)_: Enable the Active Buffs button in the inventory.<br>
  • activeBuffsXOffset _(default: -24)_: X position offset for the Active Buffs button.<br>
  • activeBuffsYOffset _(default: 10)_: Y position offset for the Active Buffs button.<br>
  • activeBuffsButtonLabel _(default: "⬆")_: The text/icon dis
...


Sorry for the long wait! Updates will start slowing down as my university starts up again. I will try for at least one update a month, you can also expect a new mod being released sometime within the next month or so, it will overhaul entity AI to and will use player sound and its line of sight to see you instead of vanillas 360 degree rotation! It will have sneaking mechanics and back stabbing (toggleable) so as long as you dont make too much noise and stay out of their line of sight, you can sneak through hordes of monsters (if you wear armor that reduces the noise and visibility). Or just create a distraction.<br><br><br>

## Hotfix
  • Fixed stamina being drained for just holding a shield (not in active blocking) and taking damage.

## Major Features<br>

  • Custom icons:** Added custom icons and an in-game Icon Studio. Made new icons for the default Hunger, Fatigue, Weight, and Poison penalties using the new icon studio.<br><br>

The custom icons are saved inside custom_icons.json in the peakstamina config folder. I suggest not touching that file and instead use the in-game icon studio to delete, modify, or create icons instead.<br><br><br>

## Minor Features<br>
Added config that lets you toggle whether items used to attack/miss will have a cooldown if you use it when out of stamina.<br><br>

Configs:<br>
  • enableAttackCooldownWhenExhausted: Different from itemInterruptionCooldown this one targets weapons, swords, axes, etc. (Default: false)<br>
  • exhaustedAttackCooldownDuration: How long the cooldown for weapons is when swung while out of stamina. (Default: 80) <br><br>

  • Suggestion box categories:** Added categories to the suggestions box.<br><br>

  • Icon picker sheet:** When picking an icon for a penalty, you can now click the "Select Icon" button to open a sheet showing all available default (emoji) and custom icons.<br><br>

  • New Attributes:**<br>

  • parcool_cost_multiplier<br>
  • walljumptxf_cost_multiplier<br>
  • shieldexp_bonus_gain_multiplier<br>
  • shieldexp_parry_cost_multiplier<br>
  • combatroll_cost_multiplier<br>
  • max_poison_penalty_multiplier<br>
  • max_fatigue_penalty_multiplier<br>
  • max_hunger_penalty_multiplier<br>
  • max_weight_penalty_multiplier<br>

renamed penalty_amount_multiplier to max_global_penalty_multiplier<br>
renamed stamina_usage to global_stamina_usage<br>
renamed sprint_speed to exhausted_sprint_speed<br><br>

Commands were updated and overhauled.<br><br><br>

## Bugfixes<br><br>

Fixed parcool actions only draining normal stamina and ignoring your bonus stamina.<br><br>
Fixed parcool tick drain (CONTINUE type) not draining stamina.
[2.1.0] Peak Stamina Forge 2.1.0 by swisscheese819 on Jul 18, 2026
Download


Sorry for the long wait! Updates will start slowing down as my university starts up again. I will try for at least one update a month, you can also expect a new mod being released sometime within the next month or so, it will overhaul entity AI to and will use player sound and its line of sight to see you instead of vanillas 360 degree rotation! It will have sneaking mechanics and back stabbing (toggleable) so as long as you dont make too much noise and stay out of their line of sight, you can sneak through hordes of monsters (if you wear armor that reduces the noise and visibility). Or just create a distraction.<br><br><br>

## Major Features<br>

  • Custom icons:** Added custom icons and an in-game Icon Studio. Made new icons for the default Hunger, Fatigue, Weight, and Poison penalties using the new icon studio.<br><br>

The custom icons are saved inside custom_icons.json in the peakstamina config folder. I suggest not touching that file and instead use the in-game icon studio to delete, modify, or create icons instead.<br><br><br>

## Minor Features<br>
Added config that lets you toggle whether items used to attack/miss will have a cooldown if you use it when out of stamina.<br><br>

Configs:<br>
  • enableAttackCooldownWhenExhausted: Different from itemInterruptionCooldown this one targets weapons, swords, axes, etc. (Default: false)<br>
  • exhaustedAttackCooldownDuration: How long the cooldown for weapons is when swung while out of stamina. (Default: 80) <br><br>

  • Suggestion box categories:** Added categories to the suggestions box.<br><br>

  • Icon picker sheet:** When picking an icon for a penalty, you can now click the "Select Icon" button to open a sheet showing all available default (emoji) and custom icons.<br><br>

  • New Attributes:**<br>

  • parcool_cost_multiplier<br>
  • walljumptxf_cost_multiplier<br>
  • shieldexp_bonus_gain_multiplier<br>
  • shieldexp_parry_cost_multiplier<br>
  • combatroll_cost_multiplier<br>
  • max_poison_penalty_multiplier<br>
  • max_fatigue_penalty_multiplier<br>
  • max_hunger_penalty_multiplier<br>
  • max_weight_penalty_multiplier<br>

renamed penalty_amount_multiplier to max_global_penalty_multiplier<br>
renamed stamina_usage to global_stamina_usage<br>
renamed sprint_speed to exhausted_sprint_speed<br><br>

Commands were updated and overhauled.<br><br><br>

## Bugfixes<br><br>

Fixed parcool actions only draining normal stamina and ignoring your bonus stamina.<br><br>
Fixed parcool tick drain (CONTINUE type) not draining stamina.
Hotfix 2
  • Fixed Crash on startup for dedicated servers [issue #10](https://github.com/Swiss8191/Peak-Stamina/issues/10)
  • Fixed some suggestion boxes not showing all possible options. (a good example of this is the suggestion box for weight not showing minecraft:oak_log.) <br><br><br>

Hey! Never thought I would make it to this point but here I am. Version 2.0.0 was quite a struggle but its here and with some QOL changes and some other requested features. If you have any bugs (or suggestions) please let me know by either posting a comment or making an issue in github, enjoy! <br><br><br>

## Major Features <br>

  • In-game config menu:** Added an in-game config menu (made it myself, no dependencies) that you can access in Menu -> Mods -> Peak Stamina -> Config. You can see som ephotos of what it looks like in the gallery. <br><br>

It features:<br>
  • Categorized Sidebar:** A sidebar to jump between different categories and sub sections, with scroll tracking. <br><br>
  • Search Bar:** Instantly filter and find specific settings by their name or description, utilizing a clean top-right dropdown search menu. <br><br>
  • Setting Descriptions:** Hovering directly over a setting name displays detailed <br><br>descriptions. If a setting is disabled, the tooltip will tell you exactly which master toggle you need to turn on first. <br><br>
  • Quick Navigation:** You can click a category or a sub category to instantly go to that section. <br><br>
  • Advanced List Editor:** Complex string lists open in a dedicated sub-screen with a format guide that will appear when you click the button on the top right, syntax validation, and an autocomplete suggestion system. <br><br>


  • Custom UI texture sheet:** Created a dedicated texture sheet that you can freely paint over to create resource packs and anything else, as long as you correctly label the starting X and Y coordinates, as well as the width and height of the texture. A tutorial on how to use it is included in the .txt file inside the assets folder. <br><br>

  • Customizable regen indicators:** Moved away from code created textures into pixel art so people can use resource packs with it for the regen indicators. You can select to use the default >>> text or use the custom texture on the texture sheet. <br><br>

Configs:<br>
  • regenIndicatorStyle: Regen Arrow Style: DEFAULT (uses >>> ), CUSTOM (uses your custom texture made in the sprite sheet) or OFF. (Default: RegenIndicatorStyle.DEFAULT)<br>
  • showRegenBorder: If true, draws a slightly dark border around the regen indicators (>). (Default: true) <br><br>



## Minor Features <br>
  • Updated exhaustion penalties:** Exhaustion penalties can now accept status effects.<br><br>

Configs:<br>
  • customExhaustionPenalties: List of Attribute Penalties to apply when Stamina hits 0… You can also apply Potion Effects. (Default: `["minecraft:generic.movement_speed;-0.10;2", "minecraft:generic.attack
...
Hotfix 2
  • Fixed Crash on startup for dedicated servers [issue #9](https://github.com/Swiss8191/Peak-Stamina/issues/9)
  • Fixed crashing when missing an attack [issue#8](https://github.com/Swiss8191/Peak-Stamina/issues/8)
  • Fixed/Changed the internal weight being kg instead of lbs for consistency.
  • Fixed some suggestion boxes not showing all possible options. (a good example of this is the suggestion box for weight not showing minecraft:oak_log.)
  • Fixed the default configs for tags being in forge: instead of c:
  • Fixed the incorrect tag id from c:tools/shields to c:tools/shield, the shield draining should work again when using the tag costs. <br><br><br>



Hey! Never thought I would make it to this point but here I am. Version 2.0.0 was quite a struggle but its here and with some QOL changes and some other requested features. If you have any bugs (or suggestions) please let me know by either posting a comment or making an issue in github, enjoy! <br><br><br>

## Major Features <br>

  • In-game config menu:** Added an in-game config menu (made it myself, no dependencies) that you can access in Menu -> Mods -> Peak Stamina -> Config. You can see som ephotos of what it looks like in the gallery. <br><br>

It features:<br>
  • Categorized Sidebar:** A sidebar to jump between different categories and sub sections, with scroll tracking. <br><br>
  • Search Bar:** Instantly filter and find specific settings by their name or description, utilizing a clean top-right dropdown search menu. <br><br>
  • Setting Descriptions:** Hovering directly over a setting name displays detailed <br><br>descriptions. If a setting is disabled, the tooltip will tell you exactly which master toggle you need to turn on first. <br><br>
  • Quick Navigation:** You can click a category or a sub category to instantly go to that section. <br><br>
  • Advanced List Editor:** Complex string lists open in a dedicated sub-screen with a format guide that will appear when you click the button on the top right, syntax validation, and an autocomplete suggestion system. <br><br>


  • Custom UI texture sheet:** Created a dedicated texture sheet that you can freely paint over to create resource packs and anything else, as long as you correctly label the starting X and Y coordinates, as well as the width and height of the texture. A tutorial on how to use it is included in the .txt file inside the assets folder. <br><br>

  • Customizable regen indicators:** Moved away from code created textures into pixel art so people can use resource packs with it for the regen indicators. You can select to use the default >>> text or use the custom texture on the texture sheet. <br><br>

Configs:<br>
  • regenIndicatorStyle: Regen Arrow Style: DEFAULT (uses >>> ), CUSTOM (uses your custom texture made in the sprite sheet) or OFF. (Default: RegenIndicatorStyle.DEFAULT)<br>
  • showRegenBorder: If true, draws a slightly dark border around the regen indicators (>).
...
[1.9.19] Peak Stamina Forge 1.9.19 by swisscheese819 on May 18, 2026
Download


## **Minor Features**<br><br>

### Weight Inventory Readout<br>
Somehow I didn't think to add this till now. You can now see your total weight in lbs in your inventory above your character model. It will turn yellow if it crosses the threshold and red if you are maxed out in the threshold. It will come with its configs. <br><br>

These settings are located in your client config (client.toml) under the Encumbrance UI section:<br>
  • enableWeightHUD (Default: true): Master switch to toggle the readout on or off.<br>
  • weightHudX & weightHudY: Adjust the X and Y offsets to freely move the text wherever you prefer on your screen.<br><br>

### Enchantments<br>
Two new custom enchantments have been added. Both enchantments can be found in enchantment tables or as loot, and their exact reduction values (Tiers I - III) can be fully configured in the main configuration file.<br><br>
These settings are located in your common config (common.toml) under the Enchantments section:<br>
  • Tireless:** Can be applied to any tool, weapon, bow, or shield. It significantly reduces the stamina cost of swinging, mining, drawing, and blocking.<br>
  • Lightweight (Weightless):** Reduces the calculated weight of the enchanted item to lower your overall encumbrance. It can be applied to almost anything! _(Note: If you apply this to a placeable block, placing and breaking the block will cause it to lose the enchantment)._<br><br>

### Slow Climb Toggle<br>
  • Added a new configuration option (enableSlowClimb) allowing you to disable the slow climb mechanic if you prefer vanilla ladder speeds. (Default: true).<br><br>

  • Minor Config Change:** For the default tooltips, made all of them use the mode UNDER_NAME instead of BOTTOM.<br><br>

Sorry for the wait! Im currently travelling and fighting against the great firewall of China.

## **Minor Features**<br><br>
### Weight Inventory Readout<br>
Somehow I didn't think to add this till now. You can now see your total weight in lbs in your inventory above your character model. It will turn yellow if it crosses the threshold and red if you are maxed out in the threshold. It will come with its configs. <br><br>
These settings are located in your client config (client.toml) under the Encumbrance UI section:<br>
  • enableWeightHUD (Default: true): Master switch to toggle the readout on or off.<br>
  • weightHudX & weightHudY: Adjust the X and Y offsets to freely move the text wherever you prefer on your screen.<br><br>

### Enchantments<br>
Two new custom enchantments have been added. Both enchantments can be found in enchantment tables or as loot, and their exact reduction values (Tiers I - III) can be fully configured in the main configuration file.<br><br>
These settings are located in your common config (common.toml) under the Enchantments section:<br>
  • Tireless:** Can be applied to any tool, weapon, bow, or shield. It significantly reduces the stamina cost of swinging, mining, drawing, and blocking.<br>
  • Lightweight (Weightless):** Reduces the calculated weight of the enchanted item to lower your overall encumbrance. It can be applied to almost anything! _(Note: If you apply this to a placeable block, placing and breaking the block will cause it to lose the enchantment)._<br><br>

### Slow Climb Toggle<br>
  • Added a new configuration option (enableSlowClimb) allowing you to disable the slow climb mechanic if you prefer vanilla ladder speeds. (Default: true).<br><br>

  • Minor Config Change:** For the default tooltips, made all of them use the mode UNDER_NAME instead of BOTTOM.<br><br>
### Fixes<br>
  • Fixed the en_us lang file not being properly read and therefore leaving every peak stamina attribute and future items as the translation key instead of a clear name.<br>
  • Fixed incorrect comments that was left in when copying config files from forge to neoforge (specifically the universal integrations section examples where it said forgecaps).<br><br>
Sorry for the wait! Im currently travelling and fighting against the great firewall of China.
[1.9.18] Peak Stamina Neoforge 1.9.18 by swisscheese819 on May 01, 2026
Download
The 1.21.1 neoforge version of the mod. Contains all the same features as the forge version.
[1.9.18] Peak Stamina 1.9.18 by swisscheese819 on Apr 22, 2026
Download


Sorry for the long time between updates! It was finals season.

## Major Features<br><br>

### Custom Tooltips<br>
This allows you to define which stamina related statistics appear on item tooltips in game. These settings are located in config/peak_stamina/client.toml.<br><br>
  • enableTooltips (Default: true): Master switch to enable or disable stamina information on item tooltips.<br><br>
  • advancedTooltipsOnly (Default: false): If true, stamina tooltips will only appear when F3+H (Advanced Tooltips) is active in-game.<br><br>
  • customTooltips: A list that defines which statistics are shown, their placement, and their colors.<br><br>
  • Format**: "CONTENT_TYPE;PLACEMENT;LABEL_COLOR;VALUE_COLOR".<br><br><br>
  • Content Types**: WEIGHT, ATTACK_COST, MISSED_ATTACK_COST, USE_COST, TICK_COST, BLOCK_COST, INSTANT_STAMINA, BONUS_STAMINA, REGEN_MODIFIER, CURES.<br><br><br>
  • Placements**: BOTTOM (end of tooltip) or BELOW_NAME (directly under the item name).<br><br><br>
  • Colors**: Standard Minecraft color names (e.g., DARK_GRAY, WHITE, GOLD, GREEN).<br><br>

You can also define the specific text that appears before each value in the tooltip using the following keys:<br><br>
  • labelWeight: Text shown before the Weight value (Default: "Weight: ").<br>
  • labelAttackCost: Text shown before the Attack Cost value (Default: "Attack Cost: ").<br>
  • labelUseCost: Text shown before the Use Cost value (Default: "Use Cost: ").<br>
  • labelTickCost: Text shown before the Tick/Active Cost value (Default: "Active Cost: ").<br>
  • labelBlockCost: Text shown before the Block Cost value (Default: "Block Cost: ").<br>
  • labelMissCost: Text shown before the Missed Attack Cost value (Default: "Miss Cost: ").<br>
  • labelInstant: Text shown before the Instant Stamina value (Default: "Restores: ").<br>
  • labelBonus: Text shown before the Bonus Stamina value (Default: "Bonus: ").<br>
  • labelRegen: Text shown before the Regen Modifier value (Default: "Regen: ").<br>
  • labelCures: Text shown before the Cures value (Default: "Cures: ").<br><br>


### Custom Stamina Actions<br>
Located in config/peak_stamina/experimental.toml, this system allows you to define specific triggers that consume or regenerate stamina based on player events. This is in the experimental section since it is pretty bare bones right now, I will likely revisit it at some point.<br><br>

  • Format**: "EVENT_TYPE;ARGUMENT;COST".<br><br>
  • Event Types and Arguments**:<br>
  • MOUNT: Triggers when mounting an entity (e.g., minecraft:horse, minecraft:boat, or ANY).<br>
  • INTERACT_ENTITY: Triggers when right-clicking an entity (e.g., minecraft:villager, or ANY).<br>
  • HURT: Triggers when taking damage (e.g., fall, onFire, mob, arrow, or ANY).<br>
  • FISH: Triggers when successfully catching something (use ANY).<br><br>
...
[1.8.18] Peak Stamina 1.8.18 by swisscheese819 on Apr 01, 2026
Download
## Minor Update

  • Weight system Update:** Completely rewrote the weight handler to support complex mods (like TACZ) purely through the config, alongside some highly requested quality-of-life additions.<br><br>

  • nbtWeightPaths: A new config list that extracts hidden IDs (like tacz:9mm or equipped scopes on guns) from an item's NBT data and assigns them specific fallback weights.<br><br>
  • _Example 1 (Ammo):_ Adding "tacz:ammo;AmmoId;0.05;true" tells the weight system to look inside the base tacz:ammo item to find the specific AmmoId. If the ammo isn't configured individually, it defaults to a fallback weight of 0.05 per bullet.<br><br>
  • _Example 2 (Attachments):_ Adding "tacz:modern_kinetic_gun;AttachmentSCOPE.tag.AttachmentId;0.5;false" tells the system to dig through a gun's NBT folders (specifically, it opens the AttachmentSCOPE folder, then the tag folder inside of it, to read the AttachmentId) to check for an equipped scope. If a scope is found, it checks your explicit weights or defaults to adding 0.5 weight. If no scope is equipped, it adds 0.0 weight (because the final flag is false).<br><br>
  • Special NBTs Support: The standard customItemWeights list now supports those extracted raw string IDs, allowing you to assign weight to nested items and attachments. (The reason this is needed is because mods like TACZ use a single base registry ID like tacz:ammo for all bullets, hiding the specific ammo type under an NBT label).<br><br>
  • Once the NBT paths are set up above, you can simply add "tacz:9mm;0.02" or "tacz:sight_exp3;0.8" directly into your standard customItemWeights list to balance them perfectly!<br><br>


  • New command:** /stamina reload: A new command to instantly refresh all weight caches, tag caches, and NBT configs in game without restarting your server.<br><br>
  • _Example:_ Tweak your item weights in the lists.toml file, save the file, and type /stamina reload in chat. Your new weights will apply to player inventories immediately!
Peak Stamina Icon
Download Peak Stamina
Select game version
Select platform