Download Pufferfish's Unofficial Additions — Minecraft Mods — MetaMods

Pufferfish's Unofficial Additions

Active

Downloads

37

Last update

1 month ago

Versions

1.19.2 — 1.21.1
Client and server
Forge
Neoforge
Game mechanics
Addons

Pufferfish's Unofficial Additions

This mod is an extension for Pufferfish's Skills, adding new experience sources and reward options. It also includes support for the Iron's Spells 'n Spellbooks mod.

Experience Sources

Harvesting Crops

The system integrates with the loot table mechanism when harvesting agricultural crops. Available operations include:

  • player - the player harvesting crops
  • block - the block being harvested
  • tool - the tool being used
  • dropped_seeds - number of dropped seeds
  • dropped_crops - amount of harvested crops

Configuration 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 is awarded for each caught item. Available operations:

  • player - the player fishing
  • tool - the fishing rod being used
  • fished - the caught item

Fishing configuration 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

Effects

The mod allows applying effects with infinite duration. Important: before removing a reward from the definition, you must reset skills or manually remove the effects.

Example of granting regeneration effect:

{
  "type": "pufferfish_unofficial_additions:effect",
  "data": {
    "effect": "minecraft:regeneration",
    "amplifier": 0,
    "type": "GRANT"
  }
}

Effect immunity:

{
  "type": "pufferfish_unofficial_additions:effect",
  "data": {
    "effect": "minecraft:wither",
    "amplifier": 1,
    "type": "IMMUNE"
  }
}

Effect modification:

{
  "type": "pufferfish_unofficial_additions:effect",
  "data": {
    "effect": "minecraft:slowness",
    "amplifier": -2,
    "duration_modification": "/2.5",
    "type": "MODIFY"
  }
}

Walking on Powder Snow

Reward allows walking on powder snow without sinking:

{
  "type": "puffish_skills:tag",
  "data": {
    "tag": "walk_on_powder_snow"
  }
}

Iron's Spells 'n Spellbooks Integration

Spell Casting Experience Sources

Added experience source for casting spells. Important: for continuous spells, experience can be awarded multiple times (see expected_ticks parameter).

Available operations include:

  • player - the caster
  • main_hand - item in main hand
  • spellbook - current spell book
  • school - magic school
  • spell - specific spell
  • level - spell level
  • mana_cost - mana cost
  • cooldown - cooldown time
  • and other parameters

Spell configuration 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"
      }
    ]
  }
}
Project members
Cadentem

Cadentem

Developer

Created: 7 Dec 2023

ID: 6298