Tags
Creators
Details
3.2.0-1.8.0
Compatibility
Required content
Changes
DexRewards 3.2.0 (Cobblemon 1.8.0 / Minecraft 1.21.1)
DexRewards has been rebuilt for Cobblemon 1.8.0. This release adds all-forms dexes, Pokémon rewards, item components, a more flexible rewards GUI and a new set of placeholders, and fixes shiny dexes counting Pokémon that weren't actually caught as shinies.
[!WARNING] This update changes the config formats and placeholders. Back up
config/DexRewards/before you update, then deletemessages.json,reward_gui.jsonand thedex_types/folder and let DexRewards generate new ones. Copy your customizations back in using the Wiki as a reference.
✨ New
- All-forms dexes: set
require_all_formson a dex type to count every form separately. Alolan Vulpix, Galarian Meowth and each Rotom appliance form all count on their own. Useignored_formsto skip forms that can't be caught, such as Mega and Gigantamax forms. - Pokémon rewards: give Pokémon with
"type": "pokemon", written like/givepokemon, e.g."magikarp shiny=yes level=1". A full party sends them to the PC. - Item components: reward items, group icons and GUI items use Minecraft's item format, so they can have custom names, lore, enchantments and any other component.
- Random item amounts: item rewards have
min_countandmax_count. - Default dex type:
default_dex_typeinconfig.jsonsets which dex/dex rewardsopens with no argument. - Per-dex reset:
/dex reset <player> <dex-type>now resets only that dex type. - Rewards GUI:
- A close button.
- Any number of chest rows, or a hopper GUI.
- Enchantment glint per group state. Claimable groups glint by default.
- A separate icon for locked groups.
- Placeholders: a new set of placeholders. Dex type placeholders take an optional dex type, e.g.
%player_dex_count kanto%. See Placeholder changes. - Config warnings: a dex type with an unknown Pokédex is skipped with an error, and a dex type whose filters leave no Pokémon logs a warning.
🔧 Changes
- Shiny-caught dexes are accurate now. A dex with
require_caughtandrequire_shinyonly counts Pokémon the player has actually obtained as a shiny. Before, catching a normal Pokémon and seeing a shiny of the same species also counted. Shinies already in a player's party or PC count automatically when they join. - Progress updates on every Pokédex change: seeing, scanning or catching a Pokémon, and changing an owned Pokémon's form. Seen dexes no longer wait for a catch or a
/pokedexcommand. - New config formats for
messages.json,reward_gui.jsonand dex types. See the Wiki. - Better performance: filters are worked out once on load instead of on every Pokédex change, and player data is only saved when something changed. Saves happen in the background.
- Command rewards no longer show command feedback in chat.
- If
config.json,messages.jsonorreward_gui.jsonhas a JSON error, DexRewards keeps using the last working version instead of failing.
🐛 Fixes
- Fixed
/dex reloadbreaking/dex rewardsuntil a restart when players were online. - Fixed player data files possibly being corrupted if the server stopped while saving.
🗑️ Removed
/dex generateand itsdexrewards.generatepermission.
🔁 Placeholder Changes
All placeholders were replaced. Placeholder API placeholders now use the dexrewards: namespace.
| Old | New |
|---|---|
%dex_type% |
%dex_type% (unchanged) |
%pokedex.total% |
%pokedex_total% |
%group.name% |
%group_name% |
%group.percent% |
%group_percent% |
%player.dex_count% |
%player_dex_count% |
%player.dex_percent% |
%player_dex_percent% |
%player.reward_group% |
%player_reward_group% |
%national:total% |
%dexrewards:pokedex_total national% |
%national:total_groups% |
%dexrewards:dex_total_groups national% |
%player:national.count% |
%dexrewards:player_dex_count national% |
%player:national.percent% |
%dexrewards:player_dex_percent national% |
%player:national.latest_reward% |
%dexrewards:player_reward_group national% |
Replace national with any dex type ID. Every placeholder is documented on the Placeholders page.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:D2HLNWaE:lAY4vnX1"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:D2HLNWaE:lAY4vnX1"
}

