A comprehensive competitive ranked battle system for Cobblemon servers.
- Fixed validation display errors
- Fixed unreplaced {pokemon_name} (this bug caused blacklist bug)
- Fixed unreplaced HP display
- Fixed InsufficientPokemonError
- Removed Unicode garbled characters (ソソソ etc)
- Fixed placeholder test command
- Fixed bug causing processing to halt after battles in arclight environments
- Fixed bug where GUI fill settings were ineffective
- Fixed armor duplication bug caused by inventory restoration system
- Fixed MULTI battle cleanup issues (4-player battles)
- Fixed InsufficientPokemonError during battle initialization
- Fixed /rankedadmin reload not updating rewards configuration
- Fixed ranked commands being usable during active battles
- Fixed /rankedadmin addelo command not persisting ELO changes to database
- Fixed invisibility effect persisting after player disconnects during battle
This update marks the first large-scale upgrade for CobbleRanked.
Because many new configuration options were added, please back up your existing config files before updating.
Smooth 60 FPS battle camera (Ranked / Casual)
23 event-based reactions (CRITICAL_HIT, MEGA_EVOLUTION, etc.)
Config: config/camera.json5
{
"enabled": false // Disables the entire camera system
}
Player-Specific Toggle:/battlecamera toggle
Config: config/casual/casual_battles.json5
{
"enabled": true, // Change from false → true
// ...
}
Configure in each format’s config.json5:
"max_duplicate_items": 1 // Standard Clause (no duplicates)
"max_duplicate_items": 2 // Up to 2 duplicates
"max_duplicate_items": null // Disabled (no limit)
Arena: {arena} → {arena_name}, {x/y/z} → {arena_location_x/y/z}
Battle: {format} → {battle_format}, {elo_change} → {battle_elo_change}
Player: {player} → {player_name}, {opponent} → {opponent_name}
Stats: {elo} → {stats_elo}, {rank} → {stats_rank}
Season: {season} → {season_name}, {days} → {season_remaining_days}
Timer: {seconds} → {timer_seconds}/{penalty_seconds}/{cooldown_seconds}
Mission: {name} → {mission_name}, {type} → {mission_type}
GUI: {selected} → {gui_selected_count}, {limit} → {gui_selection_limit}
Fixed TRIPLES/MULTI format GUI button display
Unified command prefix to /rankedadmin
Added new commands:
/battlecamera toggle - Enable/disable camera
/battlecamera status - View current camera settings
Fixed issue where gainPointsLimited: -1 had no effect
Fixed blacklist not reloading correctly with /rankedadmin reload
Fixed ReadyGUI-related bug
Improved UUID parsing error handling
Fill/decoration slot array now applies to all slots properly
(previously only one slot was applied)
// example
"fill": {
"enabled": true,
"material": "minecraft:black_stained_glass_pane",
"displayname": " ",
"slots": [1, 2, 3, 7, 8, 9, 10]
}
This will be a very large update. Planned features include:
Living Arena — arena visuals react dynamically to weather
New battle SFX not originally found in Cobblemon
Full GUI remake using a custom resource pack
These features will take over a month to complete.
Regarding Random Battle:
Due to insufficient understanding and extreme complexity, the feature remains disabled for now.
hotfix #23
## Added compatibility for Cobblemon 1.7.1
Fixed bugs related to lead selection
Resolved an issue where customBGM didn’t work on 1.7+
Improved backward compatibility for 1.6.1 and 1.7
added customMapping rank tags
for details : https://gashi.gitbook.io/gashistudios/mods/cobbleranked/luckperms
hotfix #22
added french support
delete the MongoDB driver from the jar
MegaShowdown Blacklist Fixes
> Support for bans by Aspect name `Kyurem:White-Fusion`
> Support for bans by Form name`Kyurem:White`
> Support for both notations, documentation updated
> https://gashi.gitbook.io/gashistudios/mods/cobbleranked/blacklist
- Add compatibility helper methods for 1.6.1 config
- Fixed IncompatibleClassChangeError
Before updating, please back up the config folder!
New Features
Healing Item Usage Restriction System (in `blacklist` folders)
Block healing item usage on Pokémon during battles
Per-format config files for Blacklist(Singles/Doubles/Triples/Multi/Casual)
Separate controls for healing items, status cure items, and revival items
Two configuration modes: "block all" toggle or individual item blacklist
Added blacklist/triples.json5 config file
independent banned Pokémon/moves/items settings for Triples format
Improvements
Random_3v3 Renamed to Random_triples
Added `/rankedadmin arena setcenter` commands
Arena Setup UX Improvements
Step-by-step chat guidance after setArena pos1/pos2/setcenter commands
Safe operation even when setcenter is not configured
Bug Fixes
Resolved Unchecked Cast Warnings in BlackListGui
Other Changes
Language file updates (en-Us, ja-Jp)
Added arena setup guide messages
Added healing item block messages
Updated format_name_random_3v3 → format_name_random_triples
All 608 lang keys are categorized and organized into 37 sections
Please take a backup just in case, then regenerate the lang configuration file
- JSON5 Parsing Error Fix
Fixed JSON5 comment parsing by switching to Jankson and converting to standard JSON before deserialization.
- GUI Slot Index Fix
Corrected 1-indexed config slots to proper 0-indexed Minecraft slots via custom SlotSerializer and SlotListSerializer.
- Special Format Validation Added
Implemented full validation for: baby_cup, little_cup, monotype, shiny_only, dex_range, and nfe formats.
- Format Validation Messages Updated
Added new validation messages to `en-us` and `ja-jp`language files.
> Monotype
> Your party must share the same type.
> Pokémon with no matching type are not allowed in Monotype battles.
> 手持ちのポケモンは同じタイプで揃える必要があります。
> 指定タイプと一致しないポケモンは参加できません。
>
> Little Cup
> Only first-stage Pokémon are allowed in Little Cup.
> Evolved Pokémon cannot participate.
> リトルカップでは“未進化の第一段階”のみ参加できます。
> 進化したポケモンは使用できません。
>
> Baby Cup
> Only Baby Pokémon are allowed in Baby Cup.
> ベビィポケモンのみ参加できます。
>
> Shiny Only
> Only Shiny Pokémon can enter this queue.
> Non-shiny Pokémon detected in your party.
> 色違いポケモンのみが参加可能です。
> 色違いではないポケモンが手持ちに含まれています。
>
> Dex Range
> Your party must contain Pokémon within the specified Pokédex range.
> Pokémon outside the allowed Dex range are not permitted.
> 手持ちは指定された図鑑番号の範囲内である必要があります。
> 範囲外のポケモンが含まれています。
>
> NFE(Not Fully Evolved)
> Only not fully evolved Pokémon are allowed in this format.
> Fully evolved Pokémon detected.
> 最終進化ではないポケモンのみが使用可能です。
> 最終進化のポケモンが手持ちにいます。
- Limit Pokémon Settings Added
Added limitPokemon_triples and limitPokemon_multi to `config.json5`
- Team Size System Updated
- Config Cleanup and Simplification
Removed unused sections, reorganized GUI sound config, and __moved restrictions to dedicated file__
- Implemented LuckPerms prefix/suffix/group auto-sync on rank change
- Removed dead code: InventoryBlacklistConfig class
- added new placeholders
> %cobbleranked_season_name% season name "Season 1"
> %cobbleranked_season_remaining% remaining time(full) "5d 12h 30m"
> %cobbleranked_season_remaining_days% remain days "5"
> %cobbleranked_season_remaining_hours% remain hours "12"
> %cobbleranked_season_remaining_minutes% remain minutes "30"
> %cobbleranked_season_remaining_short% "5d"
> %cobbleranked_season_end_date% end day "2024-12-31 23:59:59"
> %cobbleranked_season_status% status "active" / "ended"
- added new `no_permission` lang key
> "&cYou don't have permission to use this command"
> "&cこのコマンドを使用する権限がありません"