promotional bannermobile promotional banner

Pufferfish's Skills - MT Inventory Weight

It lets a player's skill progression increase their maximum inventory weight capacity.

Pufferfish's Skills InventoryWeight

Pufferfish's Skills InventoryWeight is a server-side add-on that connects MT Inventory Weight with Pufferfish's Skills.

It lets a player's skill progression increase their maximum inventory weight capacity, in two ways:

  1. Attribute reward (data-driven) — a skill node grants the Inventory Weight attribute directly. No Java needed; this is how the bundled "Carrying" tree works.
  2. Java event connector — the add-on reads a skill category's experience level and modifies max weight through MT Inventory Weight's event.

It also ships an optional, built-in "Carrying" skill tree you can enable per world.

This mod is not standalone.

Required Dependencies

Pufferfish's Skills is server-authoritative for skill levels, so this add-on runs on the server. It works for both an integrated server (single player / Open to LAN) and a dedicated server.

The Inventory Weight attribute

MT Inventory Weight registers a vanilla-style attribute:

inventoryweight:generic.max_weight

Pufferfish's Skills can grant any registered attribute via its puffish_skills:attribute reward, so a skill node can grant max weight directly.


1. Attribute reward (data-driven, no Java)

In a category's definitions.json, a skill definition lists rewards. Point a puffish_skills:attribute reward at inventoryweight:generic.max_weight:

{
    "type": "puffish_skills:attribute",
    "data": {
        "attribute": "inventoryweight:generic.max_weight",
        "value": 200.0,
        "operation": "addition"
    }
}
operation Effect
addition / add / add_value Flat add (e.g. +200). Recommended.
multiply_base / add_multiplied_base Add a fraction of the attribute base.
multiply_total / add_multiplied_total Multiply the running total.

Prefer addition. If the attribute base is 0, multiply_* operations may have little or no effect.

2. Java event connector (level-based scaling)

The add-on listens to MT Inventory Weight's max-weight event:

InventoryWeightEvents.MODIFY_MAX_WEIGHT

and scales capacity by a skill category's experience level, read via Pufferfish's SkillsAPI (Category.getExperience().getLevel(player)). See the config below.

If a node grants the attribute (path 1) AND you scale the same value by level (path 2), the bonuses stack.


Built-in "Carrying" skill tree

The mod bundles an optional Pufferfish category, carrying:

  • Registered as a Fabric built-in datapack at resourcepacks/carrying/ in the jar, so it shows up in the world-creation Data Packs screen, disabled by default.
  • Nodes grant inventoryweight:generic.max_weight (flat and percent), with a small movement-speed node and a capstone.
  • Earns experience from mining blocks and crafting items.
  • The strong percent/mobility nodes are placed deeper in the tree, gated behind several flat nodes.

Enable it:

  • New world → Create WorldData Packs → move "Carrying Skill Tree" to the active side, or
  • Existing world → /datapack list, then /datapack enable "<id>".

Open the skills screen (default key K) to see the Carrying category.

Default pack vs. your own pack (modpack devs / server admins)

You are not locked into the bundled tree:

  1. Use the default — enable the built-in "Carrying Skill Tree" pack. No files needed.
  2. Override it — ship a datapack that redefines the carrying category under the puffish_skills namespace. A later-loaded pack overrides the built-in files (last pack wins per file). Keep the built-in pack disabled to avoid mixing.
  3. Add a separate tree — define a NEW category with a different id (and your own namespace) and leave the built-in carrying off. Cleanest for modpacks: no conflicts.

Whichever pack's config.json wins must list every category you want loaded.


Configuration (Java event path)

Synced server config via fzzy_config:

config/pufferfishs-skills-inventoryweight/server-config.*

General

Option Default Description
enabled true Master switch.
minimumMaxWeight 1.0 Floor for the final max weight.

category (default on)

Scales by one configured category's experience level.

Option Default Description
category.enabled true Enable category-based scaling.
category.categoryId puffish_skills:adventure Category id to read. Namespace defaults to puffish_skills if omitted.
category.additivePerLevel 0.0 Flat bonus per category level.
category.multiplierPerLevel 0.05 0.05 = +5% per level.

totalLevel (default off)

Scales by the sum of all categories' experience levels.

Option Default Description
totalLevel.enabled false Enable combined-level scaling.
totalLevel.additivePerLevel 0.0 Flat bonus per combined level.
totalLevel.multiplierPerLevel 0.0 0.01 = +1% per combined level.

Formula

result = (currentMaxWeight + additive) * multiplier
result = max(minimumMaxWeight, result)

currentMaxWeight is the value MT Inventory Weight already computed, so this stacks with the base config, armor pockets, and other Inventory Weight add-ons.

Example

Base max weight:            100
category level (adventure):  10
category.multiplierPerLevel: 0.05

multiplier = 1 + 10 * 0.05 = 1.5
result     = (100 + 0) * 1.5 = 150

Notes

  • A category contributes 0 if it doesn't exist or has no experience source.
  • Negative config values are clamped to neutral.
  • Find category ids in your Pufferfish's Skills datapack/config (the puffish_skills:<id>).
  • The built-in tree is NORMAL (off by default); enable it in the Data Packs screen.

Troubleshooting

  • A skill grants no weight — confirm the attribute id is exactly inventoryweight:generic.max_weight, prefer operation: addition, and reset the skill after editing a reward so the modifier reapplies.
  • Built-in tree missing — it's disabled by default; enable it. Check the log for Registered built-in 'carrying' datapack: true.
  • pack.mcmeta won't load — the description must be strict JSON (no smart quotes / trailing commas).
  • Unknown variable 'true' in experience.json — conditions must reference a defined variable; for unconditional XP use a bare string like "experience": "1".

Documentation

Full documentation: see https://megatrex4.github.io/inventory-weight/guide/addons/pufferfishs-skills (or the online docs site).

The Pufferfish's Skills - MT Inventory Weight Team

profile avatar
  • 6
    Followers
  • 23
    Projects
  • 225.3K
    Downloads

More from MEGATREX4View all

  • FTB Ranks - MT Inventory Weight project image

    FTB Ranks - MT Inventory Weight

    • 16
    • Mods

    FTB Ranks InventoryWeight connects FTB Ranks with MT Inventory Weight, allowing server admins to grant flat, percent, or multiplier-based carry capacity bonuses through FTB Ranks meta keys.

    • 16
    • June 14, 2026
    • Mods
    • +2
  • LevelZ - MT Inventory Weight project image

    LevelZ - MT Inventory Weight

    • 16
    • Mods

    It connects LevelZ progression with inventory weight capacity, allowing a player's overall LevelZ character level and/or a configured LevelZ skill to increase maximum inventory weight.

    • 16
    • June 14, 2026
    • Mods
    • +2
  • PlayerEX - MT Inventory Weight project image

    PlayerEX - MT Inventory Weight

    • 4
    • Mods

    Connects PlayerEX progression with MT Inventory Weight, allowing PlayerEX level and a configurable PlayerEX attribute/skill such as Carrying to increase maximum inventory weight.

    • 4
    • June 13, 2026
    • Mods
    • +1
  • LuckPerms - MT Inventory Weight project image

    LuckPerms - MT Inventory Weight

    • 21
    • Mods

    LuckPerms InventoryWeight connects LuckPerms rank meta values with MT Inventory Weight, allowing server admins to grant flat, percent, or multiplier-based carry capacity bonuses through LuckPerms meta keys.

    • 21
    • June 13, 2026
    • Mods
    • +1
  • FTB Ranks - MT Inventory Weight project image

    FTB Ranks - MT Inventory Weight

    • 16
    • Mods

    FTB Ranks InventoryWeight connects FTB Ranks with MT Inventory Weight, allowing server admins to grant flat, percent, or multiplier-based carry capacity bonuses through FTB Ranks meta keys.

    • 16
    • June 14, 2026
    • Mods
    • +2
  • LevelZ - MT Inventory Weight project image

    LevelZ - MT Inventory Weight

    • 16
    • Mods

    It connects LevelZ progression with inventory weight capacity, allowing a player's overall LevelZ character level and/or a configured LevelZ skill to increase maximum inventory weight.

    • 16
    • June 14, 2026
    • Mods
    • +2
  • PlayerEX - MT Inventory Weight project image

    PlayerEX - MT Inventory Weight

    • 4
    • Mods

    Connects PlayerEX progression with MT Inventory Weight, allowing PlayerEX level and a configurable PlayerEX attribute/skill such as Carrying to increase maximum inventory weight.

    • 4
    • June 13, 2026
    • Mods
    • +1
  • LuckPerms - MT Inventory Weight project image

    LuckPerms - MT Inventory Weight

    • 21
    • Mods

    LuckPerms InventoryWeight connects LuckPerms rank meta values with MT Inventory Weight, allowing server admins to grant flat, percent, or multiplier-based carry capacity bonuses through LuckPerms meta keys.

    • 21
    • June 13, 2026
    • Mods
    • +1