Pufferfish's Unofficial Additions
Modby Cadentem
Additional experience sources and rewards
Type
Mod
CurseForge Downloads
4,178,662
CurseForge ID
Modrinth Downloads
355,177
Modrinth ID
Last Updated
Nov 6, 2026
Description
General
Addon to Pufferfish's Skills
Contains support for
Recommend checking the documentation:
- https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes
- https://puffish.net/skillsmod/docs/creators/configuration/calculations/operations/operation
Attributes have been moved to Additional Attributes
Experience Source
Harvesting Crops
Hooks into the method which gets the items from the loot table
Operations:
player: The player harvesting the crops (prototype is Player)block: The block being harvested (prototype is Block State)tool: The tool being used (prototype is Item Stack)dropped_seeds: Amount of dropped seeds based on#forge:seeds(prototype isnumber)dropped_crops: Amount of dropped crops based on#forge:crops(prototype isnumber)
Example:
{
"type": "pufferfish_unofficial_additions:harvest_crops",
"data": {
"variables": {
"crops": {
"operations": [
{
"type": "block"
},
{
"type": "puffish_skills:test",
"data": {
"block": "#minecraft:crops"
}
}
]
},
"dropped_crops": {
"operations": [
{
"type": "dropped_crops"
}
]
},
"dropped_seeds": {
"operations": [
{
"type": "dropped_seeds"
}
]
}
},
"experience": [
{
"condition": "crops",
"expression": "dropped_crops + (dropped_seeds * 0.2)"
}
]
}
}
Fishing Experience
Gets called per fished item
Operations:
player: The player who is fishing (prototype is Player)tool: The tool being used (prototype is Item Stack)fished: The item being fished (prototype is Item Stack)
Example:
{
"type": "pufferfish_unofficial_additions:fishing",
"data": {
"variables": {
"fishes": {
"operations": [
{
"type": "fished"
},
{
"type": "puffish_skills:test",
"data": {
"item": "#minecraft:fishes"
}
}
]
},
"fished_amount": {
"operations": [
{
"type": "fished"
},
{
"type": "count"
}
]
}
},
"experience": [
{
"condition": "fishes",
"expression": "fished_amount * 4"
},
{
"condition": "!fishes",
"expression": "fished_amount * 2"
}
]
}
}
Rewards
Effect
Apply effects (infinite duration):
- Before removing the reward from the definition you'll have to reset the skills (or manually remove the effects yourself)
{
"type": "pufferfish_unofficial_additions:effect",
"data": {
"effect": "minecraft:regeneration",
"amplifier": 0,
"type": "GRANT"
}
}
Grant immunity up to a certain amplifier:
{
"type": "pufferfish_unofficial_additions:effect",
"data": {
"effect": "minecraft:wither",
"amplifier": 1,
"type": "IMMUNE"
}
}
Modify duration and / or amplifier of incoming effects:
- If the duration reaches
0due to modifications the effect will not be applied- Valid operations are
+,-,xand/ - This element is optional
- Valid operations are
- If the amplifier goes below
0due to modifications the effect will not be applied
{
"type": "pufferfish_unofficial_additions:effect",
"data": {
"effect": "minecraft:slowness",
"amplifier": -2,
"duration_modification": "/2.5",
"type": "MODIFY"
}
}
Walkable Powder Snow
Allows walking on powder snow
{
"type": "puffish_skills:tag",
"data": {
"tag": "walk_on_powder_snow"
}
}
Iron's Spells 'n Spellbooks
Experience Sources
Added an experience source for casting spells
Note: The experience source will trigger for each spell tick, meaning for continuous spells it can happen multiple
times (see the expected_ticks parameter)
Operations:
player: The caster (prototype is Player)main_hand: Item in main hand (prototype is Item Stack)spellbook: The currently equipped spell book (prototype is Item Stack)school: The school type of the spell (prototype is custom)- The value is defined with
school
- The value is defined with
spell: The spell (prototype is custom)- The value is defined with
spell - Contains the following sub-operations:
min_level: The minimum level of this type of spell (prototype isnumber)max_level: The maximum level of this type of spell (prototype isnumber)cast_type: The way the spell is being cast (INSTANT,LONG,CONTINUOUS) (prototype is custom)- The value is defined with
value
- The value is defined with
- The value is defined with
level: The level of the spell (incl. modifications through items etc.) (prototype isnumber)min_level_rarity: The minimum level of the spell based on the rarity (prototype isnumber)rarity_name: Name of the rarity (COMMON,RARE,EPIC,LEGENDARY) (prototype is custom)- The value is defined with
value
- The value is defined with
rarity: The ordinal of the rarity (0isCOMMONand4isLEGENDARY) (prototype isnumber)mana_cost: Mana cost for the spell at that level (if the cast consumes mana) (prototype isnumber)mana_cost_per_second: Only set for continuous spells (and if the cast costs mana) (prototype isnumber)cast_duration: Duration of continuous spells (in seconds) (prototype isnumber)cast_charge_time: Charge-up time of spells (if they have one) (in seconds) (prototype isnumber)cooldown: Cooldown after the spell was cast (in seconds) (prototype isnumber)expected_ticks: Will be1for instant and long type spells - for continuous it's the amount of spell ticks if the whole duration is used (prototype isnumber)
Example:
{
"type": "pufferfish_unofficial_additions:spell_casting",
"data": {
"variables": {
"level": {
"operations": [
{
"type": "level"
}
]
},
"rarity": {
"operations": [
{
"type": "rarity_name"
},
{
"type": "puffish_skills:test",
"data": {
"value": "LEGENDARY"
}
},
{
"type": "switch",
"data": {
"true": 5,
"false": 1
}
}
]
},
"mana_cost": {
"operations": [
{
"type": "mana_cost"
}
]
},
"mana_cost_per_second": {
"operations": [
{
"type": "mana_cost_per_second"
}
]
},
"spellbook": {
"operations": [
{
"type": "spellbook"
},
{
"type": "puffish_skills:test",
"data": {
"item": "irons_spellbooks:iron_spell_book"
}
}
]
},
"fire_school": {
"operations": [
{
"type": "school"
},
{
"type": "puffish_skills:test",
"data": {
"school": "irons_spellbooks:fire"
}
}
]
},
"blaze_storm": {
"operations": [
{
"type": "spell"
},
{
"type": "puffish_skills:test",
"data": {
"spell": "irons_spellbooks:blaze_storm"
}
}
]
}
},
"experience": [
{
"condition": "spellbook & !blaze_storm & fire_school",
"expression": "level + (mana_cost / 5) + rarity"
},
{
"condition": "blaze_storm",
"expression": "(level + (mana_cost_per_second / 10)) / 2"
}
]
}
}
Compatibility
Mod Loaders
Game Versions
Recommended Gear
AffiliateHardware and extras that pair well with this mod.
As an Amazon Associate I earn from qualifying purchases.
Similar Mods
Transparent
Allows resource packs to make certain entities support transparency.
Biome Music[Forge/Fabric]
change delay between music, more varied music, fix modded biomes not playing music
Stalwart Dungeons
🏰 Adds hard dungeons for adventurers who want to collect relics and artifacts
Zombie Awareness
- Smarter more aware zombies (and skeletons), they track you down via blood scent, sound, and light source awareness
Better Foliage
Makes the vegetation in your world more natural and awesome
EvilCraft
An evil mod for Minecraft.
Included in Modpacks (134)
Most downloaded
The Clash of Epochs
Storm Chasers Saga 2