An API mod that allows using Cobblemon events with Pufferfish's Skills as experience sources and skill modifiers.
Requirements
- Minecraft 1.21.1
- Cobblemon 1.7.3
- Puffish Skills 0.17.3
Neoforge
- NeoForge 21.1.219
Fabric
- Fabric 0.18.4
- Fabric API 0.116.9+1.21.1
Skill Modifiers
This mod registers a custom Pufferfish reward: cobblemon_puffish_skills_api:modifier.
Example Skill:
{
"type": "cobblemon_puffish_skills_api:modifier",
"data": {
"modifier": "catch_rate_increase",
"operation": "add",
"value": 20
}
}
Data Fields
modifier: which modifier to apply (see list below)operation:add,set, orremovevalue: integer value (meaning depends on modifier)<type>values:normal,fire,water,grass,electric,ice,fighting,poison,ground,flying,psychic,bug,rock,ghost,dragon,dark,steel,fairy<stat>values:hp,attack,defense,special_attack,special_defense,speed<item_path>values: use the cobblemon item id (IE,cobblemon:elixir)
Modifier List and Behavior
Battle
battle_experience_percent: Adds a percent multiplier to Pokémon experience gained from battle.battle_stat_increase: Adds a flat amount to all Pokémon stats while in battle only.battle_stat_increase_<stat>: Adds a flat amount to a specific Pokémon stat while in battle only.battle_stat_increase_<stat>_<type>: Adds a flat amount to a specific Pokémon stat while in battle only when matching type.battle_stat_increase_percent: Adds a percent multiplier to all Pokémon stats while in battle only.battle_stat_increase_percent_<stat>: Adds a percent multiplier to a specific Pokémon stat while in battle only.battle_stat_increase_percent_<stat>_<type>: Adds a percent multiplier to a specific Pokémon stat while in battle only when matching type.
Catch
bait_power: Makes all numeric bait effects stronger by this percent, roundingrarity_buckettier increases up, and does not affect bite time or base spawn chance.catch_rate_critical: Adds a percent chance for a critical capture.catch_rate_critical_<type>: Adds a percent chance for a critical capture when the Pokémon matches the type.catch_rate_increase: Adds a percent multiplier to base catch rate (e.g., 20 = +20%).catch_rate_increase_<type>: Adds a percent multiplier to base catch rate when the Pokémon matches the type.catch_rate_minimum: Sets a minimum capture chance for all Pokémon.catch_rate_minimum_<type>: Sets a minimum capture chance when the Pokémon matches the type.
Crafting
coarse_mulch_yield: Flat extra coarse mulch added on craft.coarse_mulch_yield_chance: Each 100 adds +1 coarse mulch; remainder is percent chance.growth_mulch_yield: Flat extra growth mulch added on craft.growth_mulch_yield_chance: Each 100 adds +1 growth mulch; remainder is percent chance.humid_mulch_yield: Flat extra humid mulch added on craft.humid_mulch_yield_chance: Each 100 adds +1 humid mulch; remainder is percent chance.loamy_mulch_yield: Flat extra loamy mulch added on craft.loamy_mulch_yield_chance: Each 100 adds +1 loamy mulch; remainder is percent chance.mulch_base_yield: Flat extra mulch base added on craft.mulch_base_yield_chance: Each 100 adds +1 mulch base; remainder is percent chance.peat_mulch_yield: Flat extra peat mulch added on craft.peat_mulch_yield_chance: Each 100 adds +1 peat mulch; remainder is percent chance.rich_mulch_yield: Flat extra rich mulch added on craft.rich_mulch_yield_chance: Each 100 adds +1 rich mulch; remainder is percent chance.sandy_mulch_yield: Flat extra sandy mulch added on craft.sandy_mulch_yield_chance: Each 100 adds +1 sandy mulch; remainder is percent chance.surprise_mulch_yield: Flat extra surprise mulch added on craft.surprise_mulch_yield_chance: Each 100 adds +1 surprise mulch; remainder is percent chance.<item_path>_yield: Flat extra output added per recipe stack when taking output from the campfire pot or brewing stand.<item_path>_yield_chance: Each 100 adds +1 output per recipe stack; remainder is percent chance when taking output from the campfire pot or brewing stand.
Harvesting
apricorn_yield: Flat extra apricorn count added on harvest.apricorn_yield_chance: Each 100 adds +1 apricorn; remainder is percent chance.berry_yield: Flat extra berry count added to yield (overflow dropped at the plant).berry_yield_chance: Each 100 adds +1 berry; remainder is percent chance.big_root_yield: Flat extra big root count added on harvest.big_root_yield_chance: Each 100 adds +1 big root; remainder is percent chance.cyan_mint_yield: Flat extra cyan mint seeds/leaves added on harvest.cyan_mint_yield_chance: Each 100 adds +1 cyan mint seeds/leaves; remainder is percent chance.energy_root_yield: Flat extra energy root count added on harvest and shearing.energy_root_yield_chance: Each 100 adds +1 energy root; remainder is percent chance.galarica_nuts_yield: Flat extra galarica nuts added on harvest.galarica_nuts_yield_chance: Each 100 adds +1 galarica nuts; remainder is percent chance.green_mint_yield: Flat extra green mint seeds/leaves added on harvest.green_mint_yield_chance: Each 100 adds +1 green mint seeds/leaves; remainder is percent chance.hearty_grains_yield: Flat extra hearty grains added on harvest.hearty_grains_yield_chance: Each 100 adds +1 hearty grains; remainder is percent chance.medicinal_leek_yield: Flat extra medicinal leek count added on harvest.medicinal_leek_yield_chance: Each 100 adds +1 medicinal leek; remainder is percent chance.mental_herb_yield: Flat extra mental herbs added on harvest (mutation drops).mental_herb_yield_chance: Each 100 adds +1 mental herbs; remainder is percent chance.mirror_herb_yield: Flat extra mirror herbs added on harvest (mutation drops).mirror_herb_yield_chance: Each 100 adds +1 mirror herbs; remainder is percent chance.pep_up_flower_yield: Flat extra pep-up flowers added on harvest.pep_up_flower_yield_chance: Each 100 adds +1 pep-up flowers; remainder is percent chance.pink_mint_yield: Flat extra pink mint seeds/leaves added on harvest.pink_mint_yield_chance: Each 100 adds +1 pink mint seeds/leaves; remainder is percent chance.power_herb_yield: Flat extra power herbs added on harvest (mutation drops).power_herb_yield_chance: Each 100 adds +1 power herbs; remainder is percent chance.red_mint_yield: Flat extra red mint seeds/leaves added on harvest.red_mint_yield_chance: Each 100 adds +1 red mint seeds/leaves; remainder is percent chance.revival_herb_yield: Flat extra revival herbs added on harvest.revival_herb_yield_chance: Each 100 adds +1 revival herbs; remainder is percent chance.vivichoke_yield: Flat extra vivichoke count added on harvest (also affects vivichoke seeds).vivichoke_yield_chance: Each 100 adds +1 vivichoke; remainder is percent chance.white_herb_yield: Flat extra white herbs added on harvest (mutation drops).white_herb_yield_chance: Each 100 adds +1 white herbs; remainder is percent chance.white_mint_yield: Flat extra white mint seeds/leaves added on harvest.white_mint_yield_chance: Each 100 adds +1 white mint seeds/leaves; remainder is percent chance.
Stat Changes
ev_increase: Adds a flat amount to all EVs when gained.ev_increase_<stat>: Adds a flat amount to a specific EV when gained.ev_increase_<stat>_<type>: Adds a flat amount to a specific EV when gained when matching type.ev_increase_percent: Adds a percent multiplier to all EVs when gained.ev_increase_percent_<stat>: Adds a percent multiplier to a specific EV when gained.ev_increase_percent_<stat>_<type>: Adds a percent multiplier to a specific EV when gained when matching type.friendship_increase: Adds a flat amount to Pokémon friendship when gained.friendship_increase_<type>: Adds a flat amount to Pokémon friendship when gained when matching type.friendship_increase_percent: Adds a percent multiplier to Pokémon friendship when gained.friendship_increase_percent_<type>: Adds a percent multiplier to Pokémon friendship when gained when matching type.iv_hatch_increase: Adds a flat amount to all IVs when hatching.iv_hatch_increase_<stat>: Adds a flat amount to a specific IV when hatching.iv_hatch_increase_<stat>_<type>: Adds a flat amount to a specific IV when hatching when matching type.iv_hatch_increase_percent: Adds a percent multiplier to all IVs when hatching.iv_hatch_increase_percent_<stat>: Adds a percent multiplier to a specific IV when hatching.iv_hatch_increase_percent_<stat>_<type>: Adds a percent multiplier to a specific IV when hatching when matching type.iv_increase: Adds a flat amount to all IVs when capturing or hyper training.iv_increase_<stat>: Adds a flat amount to a specific IV when capturing or hyper training.iv_increase_<stat>_<type>: Adds a flat amount to a specific IV when capturing or hyper training when matching type.iv_increase_percent: Adds a percent multiplier to all IVs when capturing or hyper training.iv_increase_percent_<stat>: Adds a percent multiplier to a specific IV when capturing or hyper training.iv_increase_percent_<stat>_<type>: Adds a percent multiplier to a specific IV when capturing or hyper training when matching type.
Spawn
shiny_chance: Flat percentage added to shiny chance. Example: base 1/4096 with5=> 1/4096 + 0.05.shiny_chance_<type>: Flat percentage added to shiny chance when the Pokémon matches the type.spawn_rarity: Adds aBucketNormalizingInfluencetier to flatten bucket rarity.spawn_weights_<type>: Type-specific spawn weight multiplier based on spawn labels. Also supports:spawn_weights_legendary,spawn_weights_mythical,spawn_weights_ultra_beast,spawn_weights_paradox.
Experience Sources
These are currently supported. Each entry below includes a short description of when it fires:
pokemon_captured: When a player successfully captures a Pokémon.pokemon_captured_<type>: When a player captures a Pokémon of that type.pokemon_fainted: When a Pokémon faints in battle (Cobblemon faint event).battle_won: When a battle ends in victory for the player.battle_lost: When a battle ends in defeat for the player.pokemon_evolved: When an evolution completes.pokemon_traded: When a trade completes for a player.pokedex_entry_unlocked: When a Pokédex entry is unlocked (data changed post).apricorn_harvested: When a player harvests an apricorn.berry_harvested: When a player harvests berries from a berry tree.fossil_revived: When a fossil is revived into a Pokémon.egg_hatched: When an egg finishes hatching.starter_chosen: When a player chooses their starter Pokémon.experience_candy_used: When a player uses an experience candy and it is processed.pokemon_healed: When a Pokémon is healed via a healing source.campfire_pot_cooked: When a player takes a cooked item from a campfire pot.brewing_stand_brewed: When a player takes a brewed item from a brewing stand.
Rarity Bucket Tier Reference
Default world bucket weights normalized with BucketNormalizingInfluence.
| Tier | Common | Uncommon | Rare | Ultra Rare |
|---|---|---|---|---|
| 0 | 94.3% | 5.0% | 0.5% | 0.2% |
| 1 | 88.6% | 9.1% | 1.5% | 0.8% |
| 2 | 84.4% | 11.8% | 2.5% | 1.4% |
| 3 | 80.2% | 14.1% | 3.6% | 2.1% |
| 4 | 76.2% | 16.1% | 4.8% | 2.9% |
| 5 | 72.5% | 17.8% | 5.9% | 3.8% |
| 6 | 69.1% | 19.2% | 7.0% | 4.7% |
| 7 | 66.1% | 20.3% | 8.1% | 5.6% |
| 8 | 63.3% | 21.2% | 9.0% | 6.4% |
| 9 | 60.8% | 22.0% | 9.9% | 7.2% |
| 10 | 58.6% | 22.7% | 10.8% | 8.0% |
| 11 | 56.6% | 23.2% | 11.5% | 8.7% |
| 12 | 54.8% | 23.6% | 12.2% | 9.4% |
| 13 | 53.2% | 24.0% | 12.8% | 10.0% |
| 14 | 51.7% | 24.3% | 13.4% | 10.6% |
| 15 | 50.3% | 24.5% | 14.0% | 11.2% |
| 16 | 49.1% | 24.8% | 14.5% | 11.7% |
| 17 | 48.0% | 24.9% | 14.9% | 12.2% |
| 18 | 46.9% | 25.1% | 15.4% | 12.6% |
| 19 | 46.0% | 25.2% | 15.7% | 13.1% |
| 20 | 45.1% | 25.3% | 16.1% | 13.5% |
| 25 | 41.6% | 25.7% | 17.6% | 15.1% |
| 30 | 39.1% | 25.8% | 18.7% | 16.4% |
| 35 | 37.2% | 25.9% | 19.5% | 17.4% |
| 40 | 35.8% | 25.9% | 20.1% | 18.2% |
| 45 | 34.7% | 25.9% | 20.6% | 18.8% |
| 50 | 33.7% | 25.9% | 21.0% | 19.4% |

