Cobblemon: Parting Gifts
This addon mod to Cobblemon adds a highly configurable Reward system for releasing Pokemon. Inspired by the mechanic in Pokemon Legends: Arceus.
Rewards are generated by rolling Loot Tables assigned with the Species and one of its Types, aswell as a Global table that applies to all releases.
Note that all applicable tables are rolled when a Pokemon is released. (Global, one Type, Species-specific)
See details on customization on the Github Wiki.
By design, features relating to Species or Moves should be compatible with any Custom species or moves.
Default configurations include a Global table with Effort Wings, Vitamins, and XP Candies, and a Species table for Gimmighoul with Relic Coins. examples for everything can be found on the Github repository
Notice - Experimental Changes
I wasn't quite happy with the frequency and value of the default rewards, so i'm looking for feedback on changes to them. These changes are a part of the mod in version 2.1.0 onwards.
Provide feedback in this Github Issue, or the mod's Support Thread on the Cobblemon Discord.
All Versions
+ Add Version- Changed one line of code for compatibility with Cobblemon 1.8
- Changed one line of code for compatibility with Cobblemon 1.8
- Fixed a crash that occurs when multiple mods register an identically named Type to ElementalTypes.
- Fixed a crash that occurs when multiple mods register an identically named Type to ElementalTypes.
- Changed two lines of code to be compatible with Cobblemon 1.7.
- Re-enabled Gimmighoul species rewards (Erroneously disabled in a prior update.)
- Changed two lines of code to be compatible with Cobblemon 1.7.
- Re-enabled Gimmighoul species rewards (Erroneously disabled in a prior update.)
Most of the changes in this update are internal changes, with no visible effect to the average user.
### User-facing changes
- No longer** requires *Architectury API* to run, just Cobblemon!
- added a new Parameter Set type to Loot Tables,
releaserewards:player_and_pokemon. Using this Param Set as the "type" in a Loot Table will prevent Validation Errors in the log when using Parting Gifts features in the table.
### Nerd Stuff
- Changed registry system from Architectury's
DeferredRegisterto Cobblemon's ownPlatformRegistrysystem. the Mod classes now have a notable amount of code to handle platform-specific Registry. - renamed
ReleaseRewardsCommontoReleaseRewards, and addedResourceLocation resource(String)helper method. - renamed
ModLootModifierstoModLootFunctions.
Most of the changes in this update are internal changes, with no visible effect to the average user.
### User-facing changes
- No longer** requires *Architectury API* to run, just Cobblemon!
- added a new Parameter Set type to Loot Tables,
releaserewards:player_and_pokemon. Using this Param Set as the "type" in a Loot Table will prevent Validation Errors in the log when using Parting Gifts features in the table.
### Nerd Stuff
- Changed registry system from Architectury's
DeferredRegisterto Cobblemon's ownPlatformRegistrysystem. the Mod classes now have a notable amount of code to handle platform-specific Registry. - renamed
ReleaseRewardsCommontoReleaseRewards, and addedResourceLocation resource(String)helper method. - renamed
ModLootModifierstoModLootFunctions.
### Significant changes have been made to how rewards are granted
- Now, only the "global" table is invoked when releasing a Pokemon.
- However, new "type_rewards" and "species_rewards" Entry Types have been added, which will roll a Type or Species table that matches the Pokemon being released.
### Added
"releaserewards:type_rewards" and "releaserewards:species_rewards" Entry Types- Rolls a Type or Species reward table matching the Pokemon being released.
- Can optionally be provided with a Type or Species Identifier, and will always roll that table.
### Added
"releaserewards:type" condition- Checks if one of the Pokemon's Types matches the specified Type.
- Allows deeper customization, and is more useful with the structural changes made in this update.
#### Global table now utilizes the
"releaserewards:pokemon_drops" Entry by default#### Changed how rewards are given to the player.
### Significant changes have been made to how rewards are granted
- Now, only the "global" table is invoked when releasing a Pokemon.
- However, new "type_rewards" and "species_rewards" Entry Types have been added, which will roll a Type or Species table that matches the Pokemon being released.
### Added
"releaserewards:type_rewards" and "releaserewards:species_rewards" Entry Types- Rolls a Type or Species reward table matching the Pokemon being released.
- Can optionally be provided with a Type or Species Identifier, and will always roll that table.
### Added
"releaserewards:type" condition- Checks if one of the Pokemon's Types matches the specified Type.
- Allows deeper customization, and is more useful with the structural changes made in this update.
#### Global table now utilizes the
"releaserewards:pokemon_drops" Entry by default#### Changed how rewards are given to the player.
- My aim is to make the Default settings more, well, Rewarding.
- I am open to feedback, it's possible these changes could be *too* rewarding after all.
- These are the same changes from the Experimental Update datapack.
- No Reward - Weight **4 > 2**
- XP Candy XS - Max Level range **20 > 15**
- XP Candy S - Weight **3 > 4**
- EV Feathers - Weight **8 > 6**, +1 every **8 > 5** Levels
- EV Vitamins - Min Level range **60 > 50**
- Chest Form Relic Coins - Min amount **1 > 4**, +**1 > 2** every **15 > 10** Levels
### Changed how Rewards are provided to players when releasing Pokemon
- Now attempts to insert directly into the Inventory if possible.
- If it cannot, drops them on the Player's position instead. (previous behavior)
- Cannot Drop excess rewards in Creative Mode, they will be deleted instead of being dropped.
- My aim is to make the Default settings more, well, Rewarding.
- I am open to feedback, it's possible these changes could be *too* rewarding after all.
- These are the same changes from the Experimental Update datapack.
- No Reward - Weight **4 > 2**
- XP Candy XS - Max Level range **20 > 15**
- XP Candy S - Weight **3 > 4**
- EV Feathers - Weight **8 > 6**, +1 every **8 > 5** Levels
- EV Vitamins - Min Level range **60 > 50**
- Chest Form Relic Coins - Min amount **1 > 4**, +**1 > 2** every **15 > 10** Levels
### Changed how Rewards are provided to players when releasing Pokemon
- Now attempts to insert directly into the Inventory if possible.
- If it cannot, drops them on the Player's position instead. (previous behavior)
- Cannot Drop excess rewards in Creative Mode, they will be deleted instead of being dropped.
- Added
"releaserewards:shiny"condition** - Checks if the Pokemon is Shiny.
- Can be inverted.
- Added
"releaserewards:pokemon_properties"condition** - provide a Pokemon Properties string (like in
/pokegiveor/pokeedit), and each property will be compared against a released Pokemon, passing if they all match.
See documentation for more details.
- NOTE**: This update also does not contain the Experimental Update datapack changes. Feedback is still being sought. If you have any, please provide it in the mod's Support Thread in the Cobblemon Discord, or [this Github Issue](<https://github.com/anabsolutesloth/cobblemonreleaserewards/issues/3>).
- Added
"releaserewards:shiny"condition** - Checks if the Pokemon is Shiny.
- Can be inverted.
- Added
"releaserewards:pokemon_properties"condition** - provide a Pokemon Properties string (like in
/pokegiveor/pokeedit), and each property will be compared against a released Pokemon, passing if they all match.
See documentation for more details.
- NOTE**: This update also does not contain the Experimental Update datapack changes. Feedback is still being sought. If you have any, please provide it in the mod's Support Thread in the Cobblemon Discord, or [this Github Issue](<https://github.com/anabsolutesloth/cobblemonreleaserewards/issues/3>).
Fixed Fabric config being ignored, this broke the "evolution_stage" condition, whoops.
Fully Compatible with Cobblemon 1.6.1.
Requires Architectury API. This dependency may be removed in the future, but for now, it allowed only extremely minor changes to loot data type registry to be made.
Fully Compatible with Cobblemon 1.6.1.
Requires Architectury API. This dependency may be removed in the future, but for now, it allowed only extremely minor changes to loot data type registry to be made.
- See Github or CurseForge page for past version history.
### "pokemon_label" condition can now be inverted.
- "invert" field, as with all other invertible conditions.
### Error about being unable to access Config when closing worlds should no longer occur.
- Config can also be Reloaded properly now.