All Mods Resource Packs Data Packs Shaders Modpacks Plugins
Pufferfish's Unofficial Additions

Pufferfish's Unofficial Additions

by Cadentem • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

General

Addon to Pufferfish's Skills

Contains support for

Recommend checking the documentation:


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 is number)
  • dropped_crops: Amount of dropped crops based on #forge:crops (prototype is number)

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 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
{
  "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
  • 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:

    {
  "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"
      }
    ]
  }
}

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
1.21.x
Neoforge
1d ago 1
1.20.x
Forge
1d ago 1
1.21.x
Neoforge
1d ago 1
1.19.2
Forge
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Neoforge
1d ago 1
1.20.x
Forge Neoforge
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Neoforge
1d ago 1
1.21.x
Neoforge
1d ago 1
1.20.x
Forge Neoforge
1d ago 1
1.20.x
Forge Neoforge
1d ago 1
1.20.x
Forge Neoforge
1d ago 1
1.19.2
Forge
1d ago 1
1.20.x
Forge Neoforge
1d ago 1
1.19.2
Forge
1d ago 1
1.20.x
Forge Neoforge
1d ago 1
1.19.2
Forge
1d ago 1
1.20.x
Forge Neoforge
1d ago 1
1.19.2
Forge
1d ago 1
1.20.x
Forge Neoforge
1d ago 1
1.19.2
Forge
1d ago 1
1.20.x
Forge Neoforge
1d ago 1
1.19.2
Forge
1d ago 1
1.20.1
Forge Neoforge
1d ago 1
1.19.2
Forge
1d ago 1
fix a potential crash related to loading effects
fix a potential crash related to loading effects
  • fixed a potential crash with iron's spells 'n spellbooks
  • added optional show_icon field for effect rewards
  • added effect reward from newer versions (incl. a new field show_icon, which is used by the grant type to show the icon in the gui)
  • made iron's spells an optional dependency
  • fixed a compatibility issue with the newest puffish skills version
  • adjusted debug logging for spell cast experience source


adjusted effect reward behaviour
  • amplifier of infinite duration effects are now properly modified
  • if the amplifier goes below 0 or the duration reaches 0 (or goes below 0) the effect will not be applied
fixed an issue where experience was not granted when a condition was present that compared spell or school types
recompile to fix a weird crash with pufferfish's skills' latest version
fix incompatibility with latest pufferfish's skills version
fix incompatibility with latest pufferfish's skills version
  • fix wrong name for amplifier effect reward (was 'amplifierOptional' but should have been just 'amplifier')
  • fix irons spellbooks not being optional
update to latest puffish skill version
+ use irons spellbooks event instead of mixin
+ remove temporary attribute fix mixins

syntax changed (see description)
update to latest puffish skill version
+ use irons spellbooks event instead of mixin
+ remove temporary attribute fix mixins

syntax changed (see description)
fix fishing experience source not working in singelplayer
fix fishing experience source not working in singelplayer
BEWARE

Moved attributes to a different mod: [Additional Attributes](https://modrinth.com/mod/additional-attributes)

There are some attempts to make things work but it won't catch all cases
BEWARE

Moved attributes to a different mod: [Additional Attributes](https://modrinth.com/mod/additional-attributes)

There are some attempts to make things work but it won't catch all cases
revert harvest with ease fix since it caused xp being granted twice - the issue was actually with majrusz library (it's now compatible with it)
revert harvest with ease fix since it caused xp being granted twice - the issue was actually with majrusz library (it's now compatible with it)
  • fix experience source not working when harvest with ease is installed
  • add spellbook condition to spell cast experience source (spellbook, spellbook_nbt and spellbook_tag)
  • allow negative spell level results (cap at 0 - if it is 0 then the spell cannot be cast)
  • fix experience source not working when harvest with ease is installed
  • add spellbook condition to spell cast experience source (spellbook, spellbook_nbt and spellbook_tag)
  • allow negative spell level results (cap at 0 - if it is 0 then the spell cannot be cast)
change spell experience behaviour
  • continuous spells grant experience per spell tick
  • mana cost parameters are 0 if the spell does not consume mana
  • fixed a bug where cancelling charged-up (long) spells granted experience
  • added debug output in debug.log which will display information about the experience source everytime a player casts a spell
  • added new conditions
  • cast type (INSTANT, LONG, CONTINUOUS)
  • rarity (COMMON, UNCOMMON, RARE, EPIC, LEGENDARY)
  • added new parameters
  • min_level_rarity (min. level for the rarity)
  • mana_cost_per_second
  • cast_duration (in seconds, for continuous spells)
  • cast_charge_time (in seconds, for long spells)
  • cooldown (in seconds)
  • expected ticks (for continuous spells - instant and long will be 1)
change spell experience behaviour
  • continuous spells grant experience per spell tick
  • mana cost parameters are 0 if the spell does not consume mana
  • fixed a bug where cancelling charged-up (long) spells granted experience
  • added debug output in debug.log which will display information about the experience source everytime a player casts a spell
  • added new conditions
  • cast type (INSTANT, LONG, CONTINUOUS)
  • rarity (COMMON, UNCOMMON, RARE, EPIC, LEGENDARY)
  • added new parameters
  • min_level_rarity (min. level for the rarity)
  • mana_cost_per_second
  • cast_duration (in seconds, for continuous spells)
  • cast_charge_time (in seconds, for long spells)
  • cooldown (in seconds)
  • expected ticks (for continuous spells - instant and long will be 1)
Initial Modrinth release
Initial Modrinth release
Pufferfish's Unofficial Additions Icon
Download Pufferfish's Unofficial Additions
Select game version
Select platform