← Назад к ресурсам

CobbleRegions

Server-side Cobblemon sidemod that adds region-based level caps with per-player progression.

Modrinth adventure game-mechanics utility

Описание

# CobbleRegions Server-side Cobblemon sidemod that adds region-based level caps with per-player progression. Each Minecraft world/dimension is assigned to a Region. Every Region has its own ordered cap track (for example: 14 -> 22 -> 28). Players can travel freely, but a Pokemon can never level past the cap currently unlocked in its origin Region. ## Core Behavior - The player's current Region is based on their dimension/world. - The active cap is the current unlocked cap of that Region. - Each Pokemon has a persistent Origin Region (caught/hatched/received). - EXP is blocked so Pokemon cannot exceed their Origin Region cap, even in higher-cap Regions. ## Config Config is stored at `config/cobbleregions.json` on the server. Example: ```json { "battleDisallowOverCapSendOut": true, "battleOverCapSendOutMessage": "Over-cap Pokemon cannot be sent out in battle: {pokemon_list}", "battleInsufficientCapPokemonMessage": "Battle canceled: you need at least {required} non-fainted Pokemon within your current cap.", "battleInsufficientCapPokemonReason": "Not enough cap-legal Pokemon are available to start this battle.", "regions": [ { "id": "region_a", "dimensions": ["minecraft:overworld"], "caps": [14, 22, 28, 40], "capMessages": { "14": "Level cap reached for this region.", "22": "Another cap reached." } }, { "id": "region_b", "prerequisite": "region_a", "prerequisiteMessage": "Complete {prerequisite} before leveling in {region}.", "dimensions": ["minecraft:the_nether"], "caps": [14] } ] } ``` If a Region has no caps configured, it is treated as unlimited. `battleDisallowOverCapSendOut` defaults to `false`. When `true`, CobbleRegions removes over-cap Pokemon from player battle rosters at battle start. If that leaves too few non-fainted Pokemon for the format, the battle is canceled. Battle enforcement messages are configurable with MiniMessage: - `battleOverCapSendOutMessage` uses `{pokemon_list}`. - `battleInsufficientCapPokemonMessage` uses `{required}`. - `battleInsufficientCapPokemonReason` uses `{required}`. ## Commands Command access uses permission node `cobbleregions.command.regions` (defaults to permission level 2). Optional progress commands use permission node `cobbleregions.command.regions.progress`. - `/regions` opens the admin UI for region management. - `/regions progress get ` shows a player's cap for the region. - `/regions progress set ` sets a player's cap value for the region. - `/regions progress advance ` advances to the next cap. - `/regions progress reset ` resets to the first cap. - `/regions progress complete ` sets progress to the final cap. ## API The `RegionProgressApi` class provides programmatic progress control for other mods or integrations. Notes: - Caps must be strictly increasing. - Origin Region is set automatically when a Pokemon is captured, hatched, or gained. - Progress set requires a cap value that exists in the region's caps list. - A region can define a prerequisite; players cannot gain XP in that region until the prerequisite region is completed. - Messages support MiniMessage formatting and `{cap}`, `{region}`, `{prerequisite}`, `{pokemon}` placeholders. - The admin UI opens a region list; use Create to enter an id in chat, left-click to edit, right-click to delete. - The region edit screen manages dimensions, caps, cap messages, and player progress.