Modscraper Modscraper Minecraft
Pufferfish's Unofficial Additions logo

Pufferfish's Unofficial Additions

Mod

by Cadentem

Additional experience sources and rewards

Type

Mod

CurseForge Downloads

2,885,745

CurseForge ID

935166

Modrinth Downloads

253,200

Modrinth ID

IAao6ECB

Last Updated

Jun 12, 2026

Description

# General Addon to [Pufferfish's Skills](https://modrinth.com/mod/skills) Contains support for - [Iron's Spells 'n Spellbooks](https://modrinth.com/mod/irons-spells-n-spellbooks) 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](https://modrinth.com/mod/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](https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes#minecraft-player)) - `block`: The block being harvested (prototype is [Block State](https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes#minecraft-block-state)) - `tool`: The tool being used (prototype is [Item Stack](https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes#minecraft-item-stack)) - `dropped_seeds`: Amount of dropped seeds based on `#forge:seeds` (prototype is `number`) - `dropped_crops`: Amount of dropped crops based on `#forge:crops` (prototype is `number`) Example: ```json { "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](https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes#minecraft-player)) - `tool`: The tool being used (prototype is [Item Stack](https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes#minecraft-item-stack)) - `fished`: The item being fished (prototype is [Item Stack](https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes#minecraft-item-stack)) Example: ```json { "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) ```json { "type": "pufferfish_unofficial_additions:effect", "data": { "effect": "minecraft:regeneration", "amplifier": 0, "type": "GRANT" } } ``` Grant immunity up to a certain amplifier: ```json { "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 `0` due to modifications the effect will not be applied - Valid operations are `+`, `-`, `x` and `/` - This element is optional - If the amplifier goes below `0` due to modifications the effect will not be applied ```json { "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 ```json { "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](https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes#minecraft-player)) - `main_hand`: Item in main hand (prototype is [Item Stack](https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes#minecraft-item-stack)) - `spellbook`: The currently equipped spell book (prototype is [Item Stack](https://puffish.net/skillsmod/docs/creators/configuration/calculations/prototypes#minecraft-item-stack)) - `school`: The school type of the spell (prototype is custom) - The value is defined with `school` - `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 is `number`) - `max_level`: The maximum level of this type of spell (prototype is `number`) - `cast_type`: The way the spell is being cast (`INSTANT`, `LONG`, `CONTINUOUS`) (prototype is custom) - The value is defined with `value` - `level`: The level of the spell (incl. modifications through items etc.) (prototype is `number`) - `min_level_rarity`: The minimum level of the spell based on the rarity (prototype is `number`) - `rarity_name`: Name of the rarity (`COMMON`, `RARE`, `EPIC`, `LEGENDARY`) (prototype is custom) - The value is defined with `value` - `rarity`: The ordinal of the rarity (`0` is `COMMON` and `4` is `LEGENDARY`) (prototype is `number`) - `mana_cost`: Mana cost for the spell at that level (if the cast consumes mana) (prototype is `number`) - `mana_cost_per_second`: Only set for continuous spells (and if the cast costs mana) (prototype is `number`) - `cast_duration`: Duration of continuous spells (in seconds) (prototype is `number`) - `cast_charge_time`: Charge-up time of spells (if they have one) (in seconds) (prototype is `number`) - `cooldown`: Cooldown after the spell was cast (in seconds) (prototype is `number`) - `expected_ticks`: Will be `1` for instant and long type spells - for continuous it's the amount of spell ticks if the whole duration is used (prototype is `number`) Example: ```json { "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

Forge Neoforge

Game Versions

1.19.2 1.20 1.20.1 1.21 1.21.1

Similar Mods

Included in Modpacks

Ascendra Ascendra BETTER FANTASY - Overture BETTER FANTASY - Overture Craftoria Craftoria Storm Chasers Saga 2 Storm Chasers Saga 2 Over Stars Over Stars Medieval MC [NEOFORGE] MMC5 Medieval MC [NEOFORGE] MMC5 GamerPotion's Magic and Tweaks - RPG Edition (MATS) GamerPotion's Magic and Tweaks - RPG Edition (MATS) [MODIFIED] Cobblemon: OVERCLOCKED! [MODIFIED] Cobblemon: OVERCLOCKED! Magician Path Magician Path Summoner Delight Summoner Delight Fiefdom - Medieval Fantasy RPG Fiefdom - Medieval Fantasy RPG Sinborn Odyssey 2 Sinborn Odyssey 2 AVENTURA - The Adventure Experience AVENTURA - The Adventure Experience NeoTech Reborn NeoTech Reborn MC Eternal 2 MC Eternal 2 Dark Fantasy [FORGE] Dark Fantasy [FORGE] World of Minecolonies World of Minecolonies GamblingCraft Reforged GamblingCraft Reforged RPG 101: The Storm Scourge RPG 101: The Storm Scourge Infinite Mayhem Infinite Mayhem Vampiric Realms Vampiric Realms The SV Vault The SV Vault CGM (Create Guns and Magic) CGM (Create Guns and Magic) KEO RPG optimized KEO RPG optimized MineColonies-Caos e Ordem [Unnoficial] MineColonies-Caos e Ordem [Unnoficial] DND: Narnia DND: Narnia Mad-Kingdoms SMP Mad-Kingdoms SMP GeoThronesSMP GeoThronesSMP Lite Aeronautics Lite Aeronautics DarkRPG - RPG with Vampires, Dragons, Magic, Quests, Adventure DarkRPG - RPG with Vampires, Dragons, Magic, Quests, Adventure GenesisNW - Medieval GenesisNW - Medieval Dragonworld Dragonworld Vampirism Extra Vampirism Extra Forged Frontier Forged Frontier iByte Odyssey iByte Odyssey LightCraft Season 3 LightCraft Season 3 Magecraft: A Gods Tale Magecraft: A Gods Tale The Clash of Epochs The Clash of Epochs Farming Bosses Farming Bosses Cobblemon Survival with Friends Cobblemon Survival with Friends Creatopia Unbound Creatopia Unbound Oathbound Oathbound A Song Of Fire And Ash A Song Of Fire And Ash Atherian Trials Atherian Trials Isekai's Starshine [Discontinued] Isekai's Starshine [Discontinued] Mystic Arts & Spellbooks Mystic Arts & Spellbooks Cannons and Cantrips - CaC Cannons and Cantrips - CaC Realms of Simia Realms of Simia Headstone Craft Headstone Craft Wandering Hollows Season 2 Wandering Hollows Season 2 Braincells Magical Creation Braincells Magical Creation DoomsDay Universe DoomsDay Universe SPELLCRAFT-SMP SPELLCRAFT-SMP Pigster's Spells and Dragons Pigster's Spells and Dragons Echo One Group Echo One Group DracoNeo - Council of Wyrms DracoNeo - Council of Wyrms Redwolf's Crazy World Redwolf's Crazy World Darkness & Dragons 2 Darkness & Dragons 2 RattcoreRevived RattcoreRevived Tensura Cardinal Awakening Tensura Cardinal Awakening Create pack Create pack Whim Whim MayraLand MayraLand Tensura Abyss Tensura Abyss The Pond Edition [NEOFORGE] The Pond Edition [NEOFORGE] SuperHero Survival Inscint SuperHero Survival Inscint Sky Ground Next Level Sky Ground Next Level Pherocraft Pherocraft Remnants of The Old Kingdom Remnants of The Old Kingdom This World Is Yours: The Roaring Hells This World Is Yours: The Roaring Hells Hotel de le Fresco Hotel de le Fresco Crafted Madness: Modern Era Crafted Madness: Modern Era Arcane Empires & Ancient Evils Arcane Empires & Ancient Evils Based Off Frieren Beyond Journeys End Based Off Frieren Beyond Journeys End Above Infinity Above Infinity Inso's Craft Inso's Craft SoloLevelingCraft-SLC SoloLevelingCraft-SLC Mantecraft Mantecraft bliblu bliblu Reqium Reqium Project Heroes Project Heroes Fritz's RPG Fritz's RPG The Adventure of 1000 - Hunters of Evil The Adventure of 1000 - Hunters of Evil Voloron 3 Voloron 3

External Resources