▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Pufferfish's Skills - MT Inventory Weight
Pufferfish's Skills - MT Inventory Weight

Pufferfish's Skills - MT Inventory Weight

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

Оцените первым
82
0

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"
    }
}
operationEffect
addition / add / add_valueFlat add (e.g. +200). Recommended.
multiply_base / add_multiplied_baseAdd a fraction of the attribute base.
multiply_total / add_multiplied_totalMultiply 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

OptionDefaultDescription
enabledtrueMaster switch.
minimumMaxWeight1.0Floor for the final max weight.

category (default on)

Scales by one configured category's experience level.

OptionDefaultDescription
category.enabledtrueEnable category-based scaling.
category.categoryIdpuffish_skills:adventureCategory id to read. Namespace defaults to puffish_skills if omitted.
category.additivePerLevel0.0Flat bonus per category level.
category.multiplierPerLevel0.050.05 = +5% per level.

totalLevel (default off)

Scales by the sum of all categories' experience levels.

OptionDefaultDescription
totalLevel.enabledfalseEnable combined-level scaling.
totalLevel.additivePerLevel0.0Flat bonus per combined level.
totalLevel.multiplierPerLevel0.00.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).

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.1.x1.21.x1.20.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Создатели

Детали

Лицензия:
Опубликован:1 месяц назад
Обновлён:4 недели назад
Главная