Mod
Pufferfish's Skills - MT Inventory Weight
No reviews yet
It lets a player's skill progression increase their maximum inventory weight capacity.
Includes quality of life improvements and small tweaks to enhance and customize gameplay.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
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.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
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:
- Attribute reward (data-driven) — a skill node grants the Inventory Weight attribute directly. No Java needed; this is how the bundled "Carrying" tree works.
- 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
- MT Inventory Weight — provides
com.megatrex4.api.v1 - Pufferfish's Skills (
puffish_skills) - fzzy_config (config)
- Fabric API + Fabric Loader
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 is0,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 World → Data 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:
- Use the default — enable the built-in "Carrying Skill Tree" pack. No files needed.
- Override it — ship a datapack that redefines the
carryingcategory under thepuffish_skillsnamespace. A later-loaded pack overrides the built-in files (last pack wins per file). Keep the built-in pack disabled to avoid mixing. - Add a separate tree — define a NEW category with a different id (and your own
namespace) and leave the built-in
carryingoff. Cleanest for modpacks: no conflicts.
Whichever pack's
config.jsonwins 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
0if 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, preferoperation: 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.mcmetawon'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:
- Attribute reward (data-driven) — a skill node grants the Inventory Weight attribute directly. No Java needed; this is how the bundled "Carrying" tree works.
- 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 is0,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 World → Data 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:
- Use the default — enable the built-in "Carrying Skill Tree" pack. No files needed.
- Override it — ship a datapack that redefines the
carryingcategory under thepuffish_skillsnamespace. A later-loaded pack overrides the built-in files (last pack wins per file). Keep the built-in pack disabled to avoid mixing. - Add a separate tree — define a NEW category with a different id (and your own
namespace) and leave the built-in
carryingoff. Cleanest for modpacks: no conflicts.
Whichever pack's
config.jsonwins 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
0if 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, preferoperation: 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.mcmetawon'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
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
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources