Langue

Pufferfish's Skills - MT Inventory Weight

Pufferfish's Skills - MT Inventory Weight

Modrinth

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

24 téléchargements mis à jour 1d ago
dernière v1.0.0+26.1 Modrinth
Fabric 1.20.1 – 26.1 Game-mechanicsManagementUtility

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

Versions

Release
1.0.0+26.1
fabric · 26.1 · 1d ago
4
Release
1.0.0+1.21.3
fabric · 1.21.3, 1.21.4, 1.21.5 · 1d ago
2
Release
1.0.0+1.21
fabric · 1.21, 1.21.1 · 1d ago
6
Release
1.0.0
fabric · 1.20.1, 1.20.4 · 7d ago
8

Commentaires 0

Aucun commentaire pour l'instant. Sois le premier à donner ton avis.

Télécharger Pufferfish's Skills - MT Inventory Weight

Les fichiers proviennent directement de la source d'origine. Modgrid ne les héberge ni ne les modifie.