Pufferfish's Unofficial Additions
No reviews yet
Additional experience sources and rewards
Does not follow a specific thematic focus apart from vanilla Minecraft.
Features role-playing elements like character progression, quests, and story-driven gameplay.
Introduces player leveling systems with skills and abilities.
Adds skill trees or abilities for character progression.
Adds extra features or content to an existing mod.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
Runs entirely on the server. Also works in singleplayer.
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
General
Addon to https://www.curseforge.com/minecraft/mc-mods/puffish-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 withvalue
- 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"
}
]
}
}
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
- If the amplifier goes below
0due to modifications the effect will not be applied
- Valid operations are
{
"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 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)
- The value is defined with
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"
}
]
}
}
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers