What are you searching for?

Pufferfish's Unofficial Additions

Pufferfish's Unofficial Additions

Additional experience sources and rewards

download 134.8K Downloads · favorite 24 Followers · Updated 1 month ago
Forge Game-mechanics Neoforge 1.19.2 1.20 1.20.1 1.21 1.21.1

Versions

inventory_2
Pufferfish's Unofficial Additions 1.21.1 - 2.2.8

2.2.8 · 1 month ago · 51.73 KB

Release download
Neoforge 1.21 1.21.1
inventory_2
Pufferfish's Unofficial Additions 1.20.1 - 2.2.4

2.2.4 · 1 month ago · 224.93 KB

Release download
Forge 1.20 1.20.1
inventory_2
Pufferfish's Unofficial Additions - 1.21.1 - 2.2.7

2.2.7 · 4 months ago · 51.68 KB

Release download
Neoforge 1.21 1.21.1
inventory_2
Pufferfish's Unofficial Additions 1.19.2 - 2.2.0

2.2.0 · 8 months ago · 252.39 KB

Release download
Forge 1.19.2
inventory_2
Pufferfish's Unofficial Additions 1.21.1 - 2.2.6

2.2.6 · 8 months ago · 51.40 KB

Release download
Neoforge 1.21 1.21.1

About

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"
      }
    ]
  }
}
open_in_new View on Modrinth
Categories
Compatibility
Client: Unsupported Server: Required
gavel MIT

Conversation

What are your thoughts?

Related projects

Game mechanics Library Utility
Geckolib
Geckolib

by Gecko

A 3D animation library for entities, blocks, items, armor, and more!

download 37.4M
favorite 2,496
Cursed Equipment Game mechanics
Veinminer
Veinminer

by Miraculixx

Mine the whole vine on mining a single ore. Known feature by modpacks and pvp games like UHC (quick mine)

download 33.6M
favorite 3,870
Decoration Game mechanics Utility
BetterF3
BetterF3

by TreyRuffy

BetterF3 is a mod that replaces Minecraft's original debug HUD with a highly customizable, more human-readable HUD.

download 20.7M
favorite 10,083
Adventure Game mechanics Mobs
Cobblemon
Cobblemon

by CobbledStudios

A Pokémon mod for Fabric and NeoForge

download 19.7M
favorite 6,841
lock Cookie consent

SkinMC uses cookies to provide functionality and features.