Tags
Creators
Details
1.3.0-1.8.0
Compatibility
Required content
Changes
MoreSparkles 1.3.0 (Cobblemon 1.8.0 / Minecraft 1.21.1)
MoreSparkles is no longer just a shiny booster. This release rebuilds the mod from the ground up and adds nine new boost types, a matching set of charms, Discord webhook announcements for boosts, and Placeholder API support.
[!WARNING] This update breaks existing configs and saved data. Back up
config/MoreSparkles/before you update, and read the migration notes below.
✨ New boost types
Boosts now have a type. Every command, boost area, charm and placeholder works with each of these types:
| Type | What it boosts |
|---|---|
SHINY |
Shiny odds (the existing boost) |
EXPERIENCE |
Experience gained in battle |
HIDDEN_ABILITY |
Chance that wild spawns have their Hidden Ability |
EV |
EVs gained |
IV |
IV quality of Pokémon you catch, hatch or revive from fossils |
BERRY |
Berry harvest yield |
CATCH_RATE |
Catch rate |
MARK |
Chance of a mark on Pokémon you catch, hatch or revive from fossils |
ALPHA |
Alpha spawn chance |
SPAWN_BUCKET |
Odds of uncommon, rare and ultra-rare spawn buckets |
Each player can run one active boost per type at a time, with a separate queue for each type.
🍀 New charms
Nine new charms, each with its own texture, join the Shiny Charm:
- Exp Charm (Experience)
- Veiled Charm (Hidden Ability)
- Effort Charm (EV)
- IV Charm (IV)
- Berry Charm (Berry)
- Catching Charm (Catch Rate)
- Mark Charm (Mark)
- Alpha Charm (Alpha)
- Bucket Charm (Spawn Bucket)
In items.json you can set each charm's boost type, multiplier and lore. The charms also have their own creative tab.
📣 Discord webhooks
MoreSparkles can post boosts to a Discord channel. The embed updates while the boost runs, and by default it is deleted when the boost ends. Set it up under webhook_settings in config.json:
"webhook_settings": {
"enabled": false,
"url": "https://discord.com/api/webhooks/your_webhook_url",
"update_rate_seconds": 30,
"delete_when_boost_ends": true
}
🧩 Placeholder API support
When Placeholder API is installed, the following placeholders are registered under the moresparkles: namespace. Placeholder API is optional.
Server: base_shiny_rate, base_bucket_chance, base_alpha_bucket_chance
Player: player_shiny_rate, player_hidden_ability_chance, player_iv_strength, player_bucket_chance, player_alpha_bucket_chance, and player_<type>_multiplier for each boost type, using the lowercased type name (for example player_shiny_multiplier, player_experience_multiplier or player_spawn_bucket_multiplier)
messages.json also has many new built-in placeholders for boosts (boost_multiplier, boost_duration, boost_time_remaining, boost_type) and boost areas (boost_area_name, boost_area_type, boost_area_multiplier).
⚙️ New config options
pause_player_boosts_on_shutdown/pause_global_boosts_on_shutdown: keep the remaining boost time when the server restarts.experience_booster_ignores_candy/experience_booster_ignores_sidemod_source: stop the Experience boost from multiplying candy or experience from other mods.ev_booster_ignores_vitamins/ev_booster_ignores_sidemod_source: the same for the EV boost.hidden_ability_booster_base_chance: the base Hidden Ability chance that the multiplier scales (default0.05).iv_booster_strength_constant: how strongly the IV boost shifts IVs upward.persistent_data_key_blacklist: skip boosts on Pokémon that carry certain persistent data keys (by default, the IV boost skips raid Pokémon).
Boost areas now take a boost_type and a display_name.
🛠️ Changes & fixes
- The mod was fully refactored: commands, config loading, player data and boost handling were rewritten.
- Missing keys in config files are now filled in with defaults automatically instead of breaking the file.
- Boost type names in config files are now case-insensitive.
- Global boosts are now saved in their own
global_boosts.jsonfile instead of inconfig.json. - Many other bug fixes.
- Now requires Cobblemon 1.8.0 or newer.
⚠️ Breaking changes / migration
- The command syntax changed. Boosts now take a type as the first argument:
The old multiplier cap tied to the Cobblemon shiny rate is gone./sparkles boost start <type> <multiplier> <duration> <seconds|minutes|hours|days> <players|global> /sparkles boost stopand/sparkles clear-queuealso take a type:/sparkles boost stop <type> <players|global>and/sparkles clear-queue <type> <players|global>.check-ratetakes a type too:/sparkles check-rate <type> [player].- Permission rename:
sparkles.status,sparkles.status.globalandsparkles.status.othersare nowsparkles.boost.status,sparkles.boost.status.globalandsparkles.boost.status.others. items.json: the top-levelshiny_charmskey is nowcharms, and each charm needs aboost_type. Delete the file or update it by hand.messages.jsonwas rewritten with many new messages. Regenerating it is recommended.- Player data is now saved in
config/MoreSparkles/players/instead ofplayerdata/. Old player boosts and queues are not carried over. - Active and queued global boosts stored in the old
config.jsonare not carried over.
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:UCtNrukh:DnAjSBfC"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:UCtNrukh:DnAjSBfC"
}

