Описание
# Cobblemon Pufferfish's Skills API
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:
```json
{
"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`, or `remove`
- `value`: integer value (meaning depends on modifier)
- `` values: `normal`, `fire`, `water`, `grass`, `electric`, `ice`, `fighting`, `poison`, `ground`, `flying`, `psychic`, `bug`, `rock`, `ghost`, `dragon`, `dark`, `steel`, `fairy`
- `` values: `hp`, `attack`, `defense`, `special_attack`, `special_defense`, `speed`
- `` 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_`: Adds a flat amount to a specific Pokémon stat while in battle only.
- `battle_stat_increase__`: 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_`: Adds a percent multiplier to a specific Pokémon stat while in battle only.
- `battle_stat_increase_percent__`: 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, rounding `rarity_bucket` tier 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_`: 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_`: 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_`: 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.
- `_yield`: Flat extra output added per recipe stack when taking output from the campfire pot or brewing stand.
- `_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_`: Adds a flat amount to a specific EV when gained.
- `ev_increase__`: 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_`: Adds a percent multiplier to a specific EV when gained.
- `ev_increase_percent__`: 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_`: 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_`: 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_`: Adds a flat amount to a specific IV when hatching.
- `iv_hatch_increase__`: 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_`: Adds a percent multiplier to a specific IV when hatching.
- `iv_hatch_increase_percent__`: 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_`: Adds a flat amount to a specific IV when capturing or hyper training.
- `iv_increase__`: 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_`: Adds a percent multiplier to a specific IV when capturing or hyper training.
- `iv_increase_percent__`: 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 with `5` => 1/4096 + 0.05.
- `shiny_chance_`: Flat percentage added to shiny chance when the Pokémon matches the type.
- `spawn_rarity`: Adds a `BucketNormalizingInfluence` tier to flatten bucket rarity.
- `spawn_weights_`: 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_`: 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% |
## Compatibility Note
Due to how some modifiers are implemented, other mods/addons that display stats or infomation may not reflect correctly after skills modify things. See picture for example with Battle Extras:
