Mod

Pufferfish's Skills - MT Inventory Weight

Quick rating

Pufferfish's Skills - MT Inventory Weight

No reviews yet

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

QoL & Tweaks
Mod Loaders
Fabric
Minecraft
26.1

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Optional
Server Required

About

Project Details

Type
Mod
License
Creative Commons Attribution 4.0 International
Latest Version
Pufferfish's Skills - MT Inventory Weight 1.0.0+26.1
Authors
CurseForge
Modrinth

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID
Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

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).

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.

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 docs/pufferfishs-skills.md (or the online docs site).

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Total Downloads
CurseForge
<1,000
Modrinth
<1,000
Last Updated
CurseForge
Created
CurseForge
Modrinth
Last synced
When ModDex last fetched and imported data for this project from CurseForge or Modrinth. High-traffic and active projects are checked more often.
Next pipeline sync