Back to mods
Cobblemon Ranked project artwork

CurseForge · Minecraft mod

Cobblemon Ranked

Added ranking system and cross server matching support for Cobblemon

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Cobblemon Ranked release should I use?

Updated last month
Latest stable file cobblemon_ranked-v1.4.2.jar
Game version 1.21.1
Loader NeoForge

Cobblemon Ranked cobblemon_ranked-v1.4.2.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. All 2 required mods have matching files.

Where it goes

Is Cobblemon Ranked required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release NeoForge
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does Cobblemon Ranked cobblemon_ranked-v1.4.2.jar need?

cobblemon_ranked-v1.4.2.jar. Change the file and its required mods may change too.

All 2 required mods have matching files

Install Cobblemon, Kotlin for Forge first. We found matching files for this game-version and loader setup. 1 comes through another mod in the chain.

1 listed on this file 1 pulled in by one of those mods
Cobblemon Needed by Cobblemon Ranked cobblemon_ranked-v1.4.2.jar
required
Matching file found Matched file: Cobblemon v1.8.4 ~ NeoForge
Kotlin for Forge Needed by Cobblemon
pulled in
Matching file found Matched file: Kotlin for Forge 5.12.0

1 extra mod was pulled in by another dependency. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add Cobblemon Ranked without breaking your instance.

Built for Cobblemon Ranked cobblemon_ranked-v1.4.2.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use cobblemon_ranked-v1.4.2.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install Cobblemon, Kotlin for Forge first. We found matching files for this game-version and loader setup. 1 comes through another mod in the chain.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside cobblemon_ranked-v1.4.2.jar. It opens that exact file at the source.

About this project

What does Cobblemon Ranked add?

📊 CobblemonRanked Ranked System Documentation

FAQ


This mod only needs to be installed on the server side.
After the client is installed, pressing the X key will open the graphical GUI by default.
💡 In order to use the enableTeamPreview feature, this mod is also required on the client side.

🎯 Features Overview

  • Built-in multi-language support (Chinese & English), easy to extend
  • Configurable battle arenas with auto-teleport and return
  • Customizable rank titles and Elo thresholds
  • Supports three modes: Singles, Doubles, and 2v2singles
  • Elo ranking system calculated independently per format
  • Independent reward system per format with customizable commands
  • Built-in season system with automatic rotation and data reset
  • Elo-based matchmaking queue with optional waiting-time-based relaxation
  • Disconnects are treated as losses; Elo is deducted
  • Fully GUI-driven with clickable text menus and graphical GUI
  • Cross-server matchmaking support
  • After enableTeamPreview is True, if the number of Pokémon exceeds the set limit, the interface for selecting Pokémon to battle will be triggered. If the number does not exceed the limit, the interface will not be triggered.
    For example, if singlesPickCountNumber is set to 3:
    Player 1 has 5 Pokémon, which will trigger the selection interface, requiring them to choose 3 for battle.
    Player 2 has only 2 Pokémon, so the selection interface will not be triggered. Instead, after Player 1 completes their selection, the battle will begin directly.

🌐 Cross-Server Matchmakin(No longer maintained)

Available from v1.2.0+ — Supports connecting from any server or single-player world (requires official Minecraft account)
Cross server matching demonstration and configuration: Youtube
You can download the server here to set up your own server.Download

✅ How to Use

  1. Enable enableCrossServer in the config
  2. Modify cloudServerId, which should not be duplicated with other servers (the default server may already be used by someone)
  3. Enter /rank reload to reload the configuration or restart the server.
  4. Enter /rank cross start to connect to the cloud server

⚠️ Current Limitations

  • Only singles mode is supported
  • Certain items and skill effects may not take effect
  • Players from the same server won’t be matched together

🌐 Cross-Server Commands

Command Description Permission
/rank cross start Connect to the cloud server OP
/rank cross stop Disconnect from the cloud OP
/rank cross chat Chat with your opponent All
/rank cross join singles Enter singles matchmaking All
/rank cross leave Leave matchmaking queue All
/rank cross battle move [1-4] Use move in battle All
/rank cross battle switch [1-6] Switch Pokémon All
/rank cross battle forfeit Surrender the battle All

📌 Command Overview

All commands start with /rank


🎮 Player Commands

Command Description
/rank gui Opens the main menu GUI
/rank gui_top Opens the leaderboard format selection GUI
/rank gui_info View your detailed Elo stats
/rank gui_info_players Paginated list of online players to inspect their rankings
/rank gui_myinfo Quick access to your own ranking
/rank gui_queue Opens the matchmaking menu
/rank gui_info_format <player> <format> GUI view of another player's seasonal stats
/rank queue join [format] Join a ranked queue
/rank queue leave Leave all matchmaking queues
/rank status Show your current queue status
/rank info <format> <season> Show your stats for the given format and season
/rank info <player> <format> [season] View another player's ranking for a specific format and season
/rank top View leaderboard for default format and current season
/rank top <format> [season] [page] [count] Paginated leaderboard for given format and season
/rank season View current season info (start/end time, participation, etc.)
/rank pokemon_usage <season> <page> view the usage statistics of Pokémon

🛡️ Admin Commands (Requires OP)

Command Description
/rank gui_reward Opens the reward format selection GUI
/rank gui_reset Paginated list of online players to reset rankings
/rank reset <player> <format> Reset a player's data for the current season and format
/rank reward <player> <format> <rank> Grant a reward to a player for a specific rank
/rank season end Force-end the current season
/rank reload Reload config files (language, rank settings, etc.)
/rank setseasonname <seasonId> <name> Set Season Name

Here's the revised Wiki content in English:


Placeholder API

Basic Placeholders (using default format)

Placeholder Description
%cobblemon_ranked:elo% ELO score
%cobblemon_ranked:rank_title% Rank title
%cobblemon_ranked:win_rate% Win rate
%cobblemon_ranked:wins% Wins
%cobblemon_ranked:losses% Losses
%cobblemon_ranked:total_games% Total games played
%cobblemon_ranked:streak% Current win streak
%cobblemon_ranked:best_streak% Best win streak
%cobblemon_ranked:flee_count% Number of flee/quit
%cobblemon_ranked:rank% Current ranking (e.g., #1)

Season Related Placeholders

Placeholder Description
%cobblemon_ranked:season_name% Season name
%cobblemon_ranked:season_id% Season ID
%cobblemon_ranked:season_days_left% Days remaining in season
%cobblemon_ranked:season_time_left% Formatted time remaining

Rank Progression Placeholders

Placeholder Description
%cobblemon_ranked:next_rank_elo% ELO required for next rank
%cobblemon_ranked:next_rank_name% Next rank name

Queue Status Placeholder

Placeholder Description
%cobblemon_ranked:queue_status% Current queue status

Format Support (Specify Battle Format)

Three battle formats are supported: singles, doubles, 2v2singles

Usage: Add _format to the placeholder

Placeholder Description
%cobblemon_ranked:elo_singles% Singles ELO score
%cobblemon_ranked:elo_doubles% Doubles ELO score
%cobblemon_ranked:elo_2v2singles% 2v2 Singles ELO score
%cobblemon_ranked:rank_title_singles% Singles rank title
%cobblemon_ranked:rank_title_doubles% Doubles rank title
%cobblemon_ranked:win_rate_singles% Singles win rate
%cobblemon_ranked:win_rate_doubles% Doubles win rate
%cobblemon_ranked:wins_singles% Singles wins
%cobblemon_ranked:wins_doubles% Doubles wins
%cobblemon_ranked:rank_singles% Singles ranking
%cobblemon_ranked:rank_doubles% Doubles ranking
%cobblemon_ranked:next_rank_elo_singles% Next rank ELO for singles
%cobblemon_ranked:next_rank_name_singles% Next rank name for singles

Note: Season-related placeholders (season_name, season_id, season_days_left, season_time_left) and queue_status do not support format parameters as they are not format-specific.


⚙️ Configuration File Reference (cobblemon_ranked.json)

<details> <summary>Click to expand full config reference (with inline comments)</summary>

{
  "defaultLang": "en",                     // Default language: 'en' or 'zh'
  "defaultFormat": "singles",              // Default battle format
  "minTeamSize": 1,                        // Minimum Pokémon per team
  "maxTeamSize": 6,                        // Maximum Pokémon per team
  "allowDuplicateItems": false,            // Allow duplicate held items in a team
  "enableTeamPreview": true,               // Enable Team Preview and Selection (Bring 6 Pick 3/4) 
  "teamSelectionTime": 90,                 // Time allowed for team selection in seconds
  "turnActionTimeoutSeconds": 90,          // Time allowed to choose an action each turn in seconds (0 = disabled)
  "singlesPickCount": 3,                   // Number of Pokemon to select for Singles (usually 3) 
  "doublesPickCount": 4,                   // Number of Pokemon to select for Doubles (usually 4) 
  "maxEloDiff": 200,                       // Max Elo gap for matchmaking
  "maxQueueTime": 300,                     // Max wait time (seconds) before relaxing Elo rules
  "maxEloMultiplier": 3.0,                 // Max multiplier for Elo diff relaxation
  "seasonDuration": 30,                    // Season duration (days)
  "initialElo": 1000,                      // Elo at the beginning of a season
  "eloKFactor": 32,                        // Elo K-factor (affects Elo change magnitude)
  "minElo": 0,                             // Minimum Elo floor
  "loserProtectionRate": 1.0,              // Loser protection rate (0.0 to 1.0). Loser will lose at most (winner_gain * loserProtectionRate). 1.0 = no protection
  "bannedPokemon": ["Mewtwo", "Arceus"],   // Banned Pokémon (e.g., legendaries)
  "restrictedPokemon": ["Mew", "Celebi"],  // Restricted Pokémon list
  "maxRestrictedCount": 2,                 // Maximum number of restricted Pokémon allowed in a team
  "bannedHeldItems": ["cobblemon:leftovers"], // Banned held items for Pokémon
  "bannedCarriedItems": ["cobblemon:leftovers"], // Banned items in player's inventory
  "bannedMoves": ["leechseed"],            // Banned moves for Pokémon
  "bannedNatures": ["cobblemon:naughty"],  // Banned personalities for Pokémon
  "bannedAbilities": [],                   // Banned abilities for Pokémon
  "bannedGenders": ["MALE"],               // Banned gender for Pokémon
  "bannedShiny": false,                    // Banned shiny Pokémon from participating in battles
  "allowedFormats": ["singles", "doubles", "2v2singles"], // Supported battle formats
  "maxLevel": 0,                           // Max Pokémon level (0 = no limit)
  "allowDuplicateSpecies": false,          // Whether duplicate Pokémon species are allowed
  "enableCustomLevel": false,              // Enable forced modification of Pokémon levels
  "customBattleLevel": 50,                 // Forcefully modify the level of Pokémon
  "preventBlockBreaking": true,            // Prevent players from breaking blocks during ranked battles
  "restorePokemonHpAfterBattle": true,     // Restore Pokémon HP after battle
  "battleArenas": [                        // List of arenas (teleport locations for battles)
    {
      "world": "minecraft:overworld",
      "playerPositions": [
        { "x": 0.0, "y": 70.0, "z": 0.0 },
        { "x": 10.0, "y": 70.0, "z": 0.0 }
      ]
    },
    {
      "world": "minecraft:overworld",
      "playerPositions": [
        { "x": 100.0, "y": 65.0, "z": 100.0 },
        { "x": 110.0, "y": 65.0, "z": 100.0 }
      ]
    }
  ],
  "victoryRewards": [                      // Victory rewards configuration (executed after each win)
    "give {player} minecraft:experience_bottle 5",
    "give {player} minecraft:emerald 1"
  ],
  "rankRewards": {                         // Format-specific rank rewards (command-based)
    "singles": {
      "Bronze": ["give {player} minecraft:apple 5"],
      "Silver": ["give {player} minecraft:golden_apple 3"],
      "Gold": ["give {player} minecraft:diamond 2", "give {player} minecraft:emerald 5"],
      "Platinum": ["give {player} minecraft:diamond_block 1", "effect give {player} minecraft:strength 3600 1"],
      "Diamond": ["give {player} minecraft:netherite_ingot 1", "give {player} minecraft:elytra 1"],
      "Master": ["give {player} minecraft:netherite_block 2", "give {player} minecraft:totem_of_undying 1", "effect give {player} minecraft:resistance 7200 2"]
    },
    "doubles": {
      "Bronze": ["give {player} minecraft:bread 5"],
      "Silver": ["give {player} minecraft:gold_nugget 10"],
      "Gold": ["give {player} minecraft:emerald 1"],
      "Platinum": ["give {player} minecraft:golden_apple 1"],
      "Diamond": ["give {player} minecraft:totem_of_undying 1"],
      "Master": ["give {player} minecraft:netherite_ingot 2"]
    },
    "2v2singles": {
      "Bronze": ["give {player} minecraft:bread 5"],
      "Silver": ["give {player} minecraft:gold_nugget 10"],
      "Gold": ["give {player} minecraft:emerald 1"],
      "Platinum": ["give {player} minecraft:golden_apple 1"],
      "Diamond": ["give {player} minecraft:totem_of_undying 1"],
      "Master": ["give {player} minecraft:netherite_ingot 2"]
    }
  },
  "rankTitles": {                          // Elo thresholds → rank names
    "3500": "Master",
    "3000": "Diamond",
    "2500": "Platinum",
    "2000": "Gold",
    "1500": "Silver",
    "0": "Bronze"
  },
  "rankRequirements": {              // Minimum winning rate requirement for each rank reward(0.0 ~ 1.0)
    "Bronze": 0.0,
    "Silver": 0.3,
    "Gold": 0.3,
    "Platinum": 0.3,
    "Diamond": 0.3,
    "Master": 0.3
  },
  "enableCrossServer": true,       // Enable cross-server matchmaking
  "cloudServerId": "server",       // Cloud server ID for this server(Cannot be repeated with others)
  "cloudToken": "",                // Cloud server auth token(Leave blank for the public cloud server)
  "cloudApiUrl": "http://139.196.103.55:8000",  // Cloud API address(Either IP or domain name is acceptable)
  "cloudWebSocketUrl": "ws://139.196.103.55:8000/ws/" // Cloud WebSocket Address(Either IP or domain name is acceptable)
}

</details>

<details> <summary>Click to expand database.json</summary>


Project description from CurseForge.

Pick your setup

Cobblemon Ranked by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

2 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Cobblemon Ranked versions and loaders

25 of 25 releases match

Looking for an older file? The official CurseForge project page is in Resources.