Description
Pufferfish's Skills Configuration Expanded (Unofficial)
Pufferfish's Skills Configuration Expanded (Unofficial) is a NeoForge 1.21.1 server-side progression layer for Pufferfish's Skills. It adds personal, FTB-team, and server-global XP pools; level limits; configured free/disabled skills; operator commands; and an optional FTB Quests reward.
This unofficial add-on is not affiliated with the creator of Pufferfish's Skills.
Dependencies
- Pufferfish's Skills 0.18.0 or newer is required.
- FTB Teams is optional. It is needed for team progression and team overrides.
- FTB Quests is optional. When installed, PCE registers the
Puffish Skill Tree Reward.
Configuration
The single instance-wide file is config/puffish_configuration_expanded.toml. It is created on first launch. Fields inherit in this order:
- global defaults;
- global tree override;
- team defaults;
- team tree override.
An omitted field inherits. A present field replaces the inherited value, including an explicitly empty skill list.
schema_version = 1
debug = false # enables extra diagnostic logging; errors are always logged
[global]
enabled = true
progression_scope = "personal" # personal, team, or global
minimum_level = 0
maximum_level = 100
always_enabled = []
always_disabled = []
on_team_leave = "retain" # retain or restore_personal
insufficient_points_policy = "debt" # debt or revoke_random_edge_skills
[global.trees."example:mining"]
progression_scope = "global"
maximum_level = 50
always_enabled = ["starter"]
[teams."00000000-0000-0000-0000-000000000000"]
enabled = true
label = "Blue" # documentation only; matching uses the UUID
progression_scope = "team"
[teams."00000000-0000-0000-0000-000000000000".trees."example:mining"]
maximum_level = 30
always_enabled = [] # replaces the inherited list
always_disabled = ["overpowered_skill"]
always_disabled wins over always_enabled. Free skills cost no points. PCE persists whether a free skill was previously purchased so removing the rule can correctly restore or remove it. Disabling a prerequisite revokes descendants only when no alternate unlocked path remains.
Configuration reloads are transactional. An invalid reload leaves the last valid configuration active.
Commands
All commands require permission level 2.
/pce xp <add|set|remove> global <tree_id> <amount>
/pce xp <add|set|remove> team <team> <tree_id> <amount>
/pce points <add|set|remove> global <tree_id> <amount>
/pce points <add|set|remove> team <team> <tree_id> <amount>
/pce whole_levels <add|set|remove> global <tree_id> <amount>
/pce whole_levels <add|set|remove> team <team> <tree_id> <amount>
/pce reload
/pce team-id [team]
Team arguments accept a UUID, exact FTB short name, or unique display name. Team and tree arguments have suggestions. XP is raw Puffish XP; set uses absolute accumulated XP, and remove floors at the configured minimum. Point commands modify bonus-point entitlement and floor at zero. Whole-level commands preserve progress within the current level: add and remove move relative to the current level, while set selects an absolute level. All level mutations respect the configured minimum and maximum. Persistent team/global records allow mutations while every affected player is offline.
FTB Quests reward
With FTB Quests installed, add a Puffish Skill Tree Reward to a quest and configure:
- the Pufferfish skill tree, selected from the available tree IDs;
- reward kind:
Experience,Points, orWhole Levels; - a positive amount.
Experience adds the specified amount of raw skill-tree XP. Points adds
spendable skill points directly without changing XP or level. Whole Levels
adds however much XP the tree's experience curve requires to advance by the
specified number of complete levels.
Whole-level rewards preserve current within-level progress. For example, a claimant at level 4 with 40/100 XP who receives one whole level ends at level 5 with 40 XP toward level 6. The reward targets the claimant's currently effective personal, team, or global pool.




