Description
Heft (Fabric)
Heft adds weight (in grams) to almost all objects, a limited carrying capacity, and load-related effects on the player. Everything is configurable via config/heft/heft.json, with the option to override weights via config/heft/item_weight_overrides.json. The values below are the mod’s default values.
What is weighed
- Main inventory, action bar, off-hand.
- Equipped armor: each piece has an equipment multiplier (default 0.6 of the piece’s calculated weight). The recognized backpack worn on the chest (
#heft:worn_backpackor Travelers / Sophisticated compatible) uses 0.6 on the entire stack (shell + contents). - Player’s 2×2 crafting grid: included by default.
- Shulkers, bundles, and “nested” containers: their contents are added together with compression coefficients (default: shulker 0.7, bundle 0.85, other containers 1.0).
Weights are derived from the mod’s built-in table + overrides; a “simple” mode can ignore the table and use only rough categories (disabled by default).
Carry Capacity (grams)
The displayed capacity is at least 1000 g. It is calculated as follows:
- Base Capacity: 60,000 g (60 kg), key
baseCarryCapacityGrams. - + Attribute
heft:carry_capacity_bonus(sum of bonuses from items, enchantments, harnesses, etc.). - + Training: attribute
heft:carry_training_bonus(see Training section). - + Stamina:
stamina points × 4,000 g(attributeheft:endurance, default 4 kg per point). - + Strength (vanilla effect): +10 kg base + +5 kg per amplifier level above 0.
- + Sated (carry) (
heft:sated_carry): +6 kg while the effect is active. - − Muscle Soreness (
heft:muscle_burn): −1 kg × (amplifier + 1) by default. - + Relief (
heft:relief): +5.6 kg while the effect lasts. - ± Other potion effects: the mod applies a (default) table of bonuses/penalties in grams per active effect, multiplied by (amplifier + 1) (Strength and Weakness are handled separately for the “flat” portion).
- − Low Hunger: if food < 4 half-bars, −10 kg.
- − Weakness: −16 kg.
- − Serious injury: if alive < 8 hearts, −10 kg.
Displayed ratio and “perceived mass”
The ratio used for throttling, the logical HUD, and the curves is perceived mass ÷ capacity, capped at 2.0 for display purposes.
- Lightness (
heft:lightness): perceived mass is multiplied by 0.86^(N+1) where N = amplifier (0 = first level). - Heaviness (
heft:heft): multiplier 1.14^(N+1) applied to perceived mass.
These two effects do not directly alter the capacity in grams; they distort the displayed ratio and thus all the mechanics tied to it.
Load thresholds (zones, default)
The thresholds are fractions of the capacity (ratio 0 = empty, 1 = full). They are configurable (zoneVeryLightEnd, etc.). Default:
- Very Light: ratio < 0.20 (strictly below 20%).
- Light: 20% ≤ ratio < 50%.
- Normal: 50% ≤ ratio < 75% — the speed curve is calibrated so that the middle of this zone behaves like the vanilla setting (no movement bonuses or penalties at ~62.5%).
- Heavy: 75% ≤ ratio < 90%.
- Critical: ratio ≥ 90% up to the overload limit (seebelow).
Carrying Overload: as long as gross weight (without Lightness/Heaviness) ÷ capacity ≤ 1.1 (default overloadMaxRatio), you can still pick up items; beyond that, picking up is denied (except in Creative mode or with immunity). Between 100% and 110%, the game may apply Nausea (an amplifier based on the time spent above 100%).
Sprint: disabled if the ratio is ≥ 0.95 or if the speed penalty from the curve drops to ≤ −0.28 (total additive to speed).
Continuous effects of the load (curves, defects)
If the corresponding option is enabled in the gameplay section of the config file (everything is set to true by default unless otherwise specified):
- Movement: slight bonus at very light/light; increasing penalty starting from high “normal,” then heavy/critical; additional water penalty; on ice at very high load, small “slip” penalty.
- Jump: low bonus when light, penalty when heavy (floor to prevent blocking a jump by a block).
- Interaction range: slight reduction when heavy/critical.
- Attack Speed: Slowdown combining 30% of the overall ratio and 70% of the “heaviness” of the main-hand item (reference ~9 kg to saturate the hand factor).
- Recoil Inflicted: increases at high load (heavier but slower strikes).
- Block breaking: up to −10% depending on the mass of the main-hand tool.
- Recoil resistance: at very light, you take slightly more recoil (negative on the attribute).
- Hunger: below 50% ratio, slight saturation bonus; above, increased fatigue.
- Damage taken: only very light, multiplier up to ×1.10 (instability: “too light”).
- Bow / crossbow: shot dispersion (angle error) based on the ratio.
Potion effects in the mod
- Weight Immunity (
heft:weight_immunity): no more carrying penalties, unlimited looting,burden_strain,muscle_burn, andreliefeffects removed, curves disabled. Base potion 3 min. Alchemy: Awkward + gold ingot. - Lightness (
heft:lightness): lightens the ratio (see formula). Potion 3 min. Alchemy: Awkward + feather. - Heft (
heft:heft): increases the ratio. Potion 1 min 30. Alchemy: Awkward + iron block. - Load Strain (
heft:burden_strain): potion effect 30 s; “world” version: if you remain at ≥ 90% load for 600 ticks (30 s) in a row, the server reapplies an infinite version with an increasing multiplier (max 4) that increases damage taken by +4% × (multiplier + 1). Alchemy: Awkward + Echo Shard. - Sated (carry) (
heft:sated_carry): +6 kg capacity; base potion 5 min (creative / command); via food from the tag#heft:carry_meal_foods(cooked meats, soups, pumpkin pie, golden carrots, etc.) for 5 min by default. - Muscle Soreness (
heft:muscle_burn): ability penalty (see above); intensifies after 50 s of continuous exposure in the Heavy + Critical zone; base duration 3 min, extendable up to 6 min as long as the load remains intense. A 3-minute potion exists (creative / command; no vanilla still recipe added by default). - Relief (
heft:relief): +5.6 kg for 12 s (base potion, creative / command); triggered automatically after 6 s in a Very Light or Light zone if a “recent load memory” (time spent ≥ 75%) is still active (max memory 12 min of ticks in default settings).
Still (recipes added by the mod): Awkward + feather → Lightness; Awkward + iron block → Heaviness; Awkward + gold ingot → Weight Immunity; Awkward + echo shard → Load Tension (potion). Other Heft potions are saved for commands / creative / datapack extensions.
Food with the tag #heft:weight_immunity_foods (golden apple, enchanted apple, honey bottle) grants 8 min of Weight Immunity.
Enchantments
- Vigor (
heft:vigor): boots only, levels I–III. Adds toheft:carry_capacity_bonus: +4 kg per level (linear: I +4 kg, II +8 kg, III +12 kg). - Burden (
heft:burden): armor, levels I–IV (effective cap 8 for calculation). Reduces the armor piece’s contribution to the carried weight: factormax(0.35; 1 − 0.12 × effective_level)(default).
Carry Harness
Three leg slots heft:harness_*: +10 kg (leather), +50 kg (iron), +120 kg (netherite) via carry_capacity_bonus. Vanilla leg slot; with Trinkets, a harness in a slot of the legs group also counts (reflection, no compile dependency). Mod's creative tab.
Training
If enduranceProgression is true in gameplay: when the ratio remains within the range [75%; 90%[ (between the end of “normal” and the start of “critical”), you gain approximately +4 kg of capacity per real hour spent in this range, up to +40 kg stored in carry_training_bonus.
Interface
- Inventory screen: button to the Heft Stats screen (capacity, ratio, active effects, heavy contributions).
- Hover over a stack: details of grams (inventory overlay).
Quick Compatibility
- Tags / config for known bags; modded item weights via the
modded_weight_overridestable + file inconfig/heft/. - The mod declares a suggestion for Trinkets (leg slots for harnesses).


