Cobblemon Economy
Cobblemon Economy is the all-in-one economy core for Cobblemon servers. It gives you modern NPC shops, dual currencies, a full Quest NPC progression layer, and a compatibility bridge so you can keep mod compatibility while still using CobEco as your main economy.
Why Cobblemon Economy
- One economy core for your server instead of fragmented balances.
- Bridge support for CobbleDollars and Impactor, so many existing economy-dependent mods keep working.
- Main-currency switch with per-world config (
cobeco,cobbledollars,impactor). - PvE progression rewards (capture, battle, raid dens, battle tower) plus rotating quest boards.
- Production-friendly: JSON config, hot reload tools, SQLite persistence.
Discord (Support)
Join here: https://discord.gg/zxZXcaTHwe
What You Get
- PokeDollars + PCO currencies
- Buy and sell NPC shops with pagination
- Quest NPCs with configurable mission boards
- Command-based shop items (sell commands, not only items)
- Capture/discovery/battle rewards + multipliers
- Raid Dens reward compatibility
- Battle Tower PCO rewards + completion bonus
- Cross-economy bridge + API sync support
- Switchable main backend:
cobeco,cobbledollars,impactor(per world)
Quest NPC System (0.0.16)
- One NPC entity, two roles:
SHOPorQUEST(no duplicate entity type). - Per-world quest files with full data-driven behavior:
quests.json: objectives, rewards, repeatability, cooldowns, prerequisites.quest_npcs.json: NPC pool, max active quests, visible board size, rotation strategy.
- Quest objective coverage includes:
- Capture filters (
species,type,ball,dimension/dimensions, shiny, labels). - Progression events (
battle_win,raid_win,tower_win,fossil_revive).
- Capture filters (
- Reward model supports:
- Currency rewards (
pokedollars,pco) and optional command rewards per quest. - Prerequisite chains, repeat policies, time limits, and cooldown lockouts.
- Currency rewards (
- Custom quest board UX:
- Up to 4 missions visible by default (configurable per NPC).
- Detailed objective text (species/type/ball/location/shiny/labels).
- Time remaining, cooldown remaining, and clear action states.
- Rotation system:
- Shared board for all players or per-player board (configurable via
sharedRotation). - Rotation mode is exactly
MIDNIGHTorHOURS(rotationMode). MIDNIGHT: rotates on next local server midnight.HOURS: rotates everyrotationHoursblock (minimum 1).- Cancelled/expired quests can be blocked until next rotation.
- Shared board for all players or per-player board (configurable via
How To Set A Quest NPC (Summon + Bind)
- Spawn a shopkeeper NPC:
- Use the spawn egg
cobblemon-economy:shopkeeper_spawn_egg, or - Run
/summon cobblemon-economy:shopkeeper.
- Use the spawn egg
- Check available quest NPC profiles with
/eco questnpc list. - Get a Quest NPC setter item with
/eco questnpc get <id>. - Right-click the spawned shopkeeper with that setter to switch it to
QUESTrole and bindquestNpcId. - Optional: switch the same NPC back to a normal shop with
/eco shop get <shopId>then right-click.
Minimal quest_npcs.json Example
{
"quest_npcs": {
"safari_guide": {
"displayName": "Safari Guide",
"skin": "shopkeeper",
"maxActive": 2,
"visibleQuests": 4,
"sharedRotation": true,
"rotationMode": "MIDNIGHT",
"rotationHours": 24,
"questPool": ["safari_water_10", "safari_bug_12"]
}
}
}
Configuration Warning
- Configuration support is limited.
- No hand-holding for custom config troubleshooting: test changes incrementally on a staging world/server.
- If a custom setup fails, validate JSON syntax, quest IDs, npc IDs, and objective keys first.
Installation
- Put
cobblemon-economy-0.0.16.jarinmods/. - Start the server once.
- Edit
world/config/cobblemon-economy/config.json. - Restart server (or
/eco reloadfor config-only edits).
File Layout (Per World)
world/config/cobblemon-economy/config.jsonworld/config/cobblemon-economy/shops.jsonworld/config/cobblemon-economy/quests.jsonworld/config/cobblemon-economy/quest_npcs.jsonworld/config/cobblemon-economy/milestone.jsonworld/config/cobblemon-economy/economy.dbworld/config/cobblemon-economy/quests.dbworld/config/cobblemon-economy/skins/*.png
main_currency is also per-world because it lives in this world config folder.
How Each Config Works
config.json- Global economy behavior (currencies, rewards, multipliers, profiling).
- Does not need to contain shops anymore.
shops.json- All shop definitions (
title,currency,items, limits, linked shops, etc.). - Backward compatibility: if this file is missing, the mod loads legacy
config.json.shopsand auto-createsshops.json.
- All shop definitions (
quests.json- Quest definitions and objectives.
- Supports capture filters (species, type, ball,
dimensionordimensions, shiny, labels). - Supports event objectives:
battle_win,raid_win,tower_win,fossil_revive. - Per-quest control:
repeatable,repeatPolicy,cooldownMinutes,timeLimitMinutes,requiresCompleted. - Supports rewards (
pokedollars,pco, optional command list).
quest_npcs.json- Quest NPC definitions (display name, skin, dialogue lines, quest pool, max active quests).
- Board/rotation control:
visibleQuests,sharedRotation,rotationMode(MIDNIGHT/HOURS),rotationHours. - One NPC can offer a list of multiple quests via
questPool.
milestone.json- Unique-capture milestone rewards.
Quick Start (5 Minutes)
- Start server once to generate defaults.
- Open
config.jsonand set:{ "main_currency": "cobeco" } - Add one test item to any shop.
- Join server and run
/bal. - Buy/sell to confirm economy flow.
Commands
Player
/balor/balance/pco/pay <player> <amount>
Admin
/eco reload/eco shop list/eco shop get <id>/eco quest list/eco questnpc list/eco questnpc get <id>/eco skin <name>/eco item/balance <player> <add|remove|set> <amount>/pco <player> <add|remove|set> <amount>
Main Currency Modes
Configure in config.json:
{
"main_currency": "cobeco"
}
Valid values:
cobeco(default)cobbledollarsimpactor
Behavior:
cobeco: CobEco DB is authoritative; balances are mirrored to CobbleDollars and Impactor when present, and bridge hooks keep external transactions synced back into CobEco.cobbledollars: CobEco balance operations route to CobbleDollars.impactor: CobEco balance operations route to Impactor primary currency.
In practice: you can choose CobEco as your main economy and still keep broad compatibility with mods that expect CobbleDollars/Impactor-style flows.
Rewards
Main reward keys:
battleVictoryRewardraidDenVictoryRewardcaptureRewardnewDiscoveryRewardbattleVictoryPcoRewardbattleTowerCompletionPcoBonus
Multipliers:
shinyMultiplierradiantMultiplierlegendaryMultiplierparadoxMultiplier
Milestones
File: world/config/cobblemon-economy/milestone.json
Example:
{ "10": 300, "50": 700, "100": 1500, "200": 3000 }
Shop Item Types
Standard item
{ "id": "minecraft:diamond", "name": "Diamond", "price": 1000 }
Component item
{
"id": "academy:booster_pack",
"name": "Booster Pack",
"price": 200,
"components": {
"academy:booster_pack": "\"base\""
}
}
Command item
{
"type": "command",
"command": "crate key give vote 1 %player%",
"price": 100,
"displayItem": {
"material": "supplementaries:key",
"displayname": "Vote Crate Key",
"enchantEffect": true
}
}
Integrations
- CobbleDollars (bridge + conversion, transaction sync support)
- Impactor (bridge + conversion, transaction sync support)
- Cobblemon Raid Dens (raid win rewards)
- Cobblemon Battle Tower (PCO rewards on tower wins + completion bonus)
- Star Academy (optional)
- Placeholder API (optional)
- YAWP (optional)
Placeholder API
Recommended namespace: cobeco
cobeco:balancecobeco:balance_symbolcobeco:pcocobeco:pco_symbol
Troubleshooting
- Command missing after update: restart server fully (not only
/eco reload). - Economy bridge not active: verify target mod is loaded and version-compatible.
- Wrong backend behavior: check
main_currencyin world config. - Existing world does not show new default quest pools: your
quests.json/quest_npcs.jsonalready exists; merge manually or regenerate after backup.
Need Help?
Discord support: https://discord.gg/zxZXcaTHwe
Acknowledgements
Thanks to Rikunji for their contributions to the project.
How to Install Cobblemon Economy (Mod)
Cobblemon Economy by Ryvexam is verified for Fabric across Minecraft versions 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6 (latest release: 0.0.19, file size: 14.5 MB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6) and platform (Fabric).
- Make sure you have the compatible loader or environment installed for Fabric.
- Move the downloaded Cobblemon Economy file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version### Fixed
- Fixed Impactor economy support on Fabric servers.
### Added
- Full trainer previews:** battle quests now show the supplied trainer skins in quest cards and the detail preview.
- Prerequisite visibility:** locked quests now show the missing prerequisite quests in the quest-board tooltip.
- Separated JSON configuration:** shop definitions now have a documented
shops.json, while config.json contains globaleconomy settings. Quest definitions, quest NPCs, milestones, and quest-board
bindings remain in their own files.
- Persistence compatibility layer:** economy and quest SQLite databases now use versioned, transactional migrations with
.bakbackups and safe refusal of unknown future schemas. - Safe configuration writes:** JSON files are written atomically, backed up before replacement, and malformed files are quarantined before defaults are regenerated.
- Added persistence architecture diagrams, an operator migration/recovery guide,
0.0.13 through 0.0.18.### Fixed
- Quest-board quests with unmet prerequisites are no longer displayed as available; the missing requirements are clearly identified.
- Cobblemon 1.7/1.8 Pokédex compatibility:** capture and discovery rewards
CAUGHT status and Cobblemon 1.8+'sOWNED status without linking to a removed enum constant.- Cobblemon 1.7/1.8 model preview compatibility:** quest-board Pokémon
ModelWidget constructor at runtime afterCobblemon 1.8 added the block-light parameter.
### Changed
- The development dependency target is the Fabric Cobblemon 1.8.1 artifact,
still accepts Cobblemon 1.7.1 and newer when paired with that version's
compatible Fabric Loader/API.
- The release version is now
0.0.18.
### Added
- Quest NPC System:** Added configurable quest NPC behavior on the existing
shopkeeperentity (no duplicate entity type). - NPC role modes:
SHOPandQUEST. - New admin tools/commands:
/eco quest list,/eco questnpc list,/eco questnpc get <id>. - New quest GUI flow with accept/progress/claim/cancel states and dialogue lines.
- Quest Configs:** Added per-world quest files:
quests.jsonfor quest definitions/objectives/rewards.quest_npcs.jsonfor quest NPC definitions (name, skin, dialogue, quest pool, max active).- Quest Progression Tracking:** New SQLite persistence (
quests.db) for per-player quest state and objective progress. - Default Quest Content:** Added a large default quest pack including:
- Capture by type/species/dimension/shiny.
- Capture with specific balls.
- Capture specific species with specific balls.
- Label-based targets (radiant/paradox/legendary/mythical).
- Battle win, raid win, tower win, and fossil-revive objectives.
- Themed pools for Safari, Fisherman, Explorer, Duel, Ballistics, and Fossil Curator NPCs.
- Quest Rotation & Scheduling:**
- Daily board/rotation with capped visible missions (default 4).
- Supports shared rotation for all players and configurable rotation windows (
MIDNIGHTorHOURS). - Cooldown/availability can be tied to the next board rotation.
- Quest Rules:**
repeatable,cooldownMinutes,timeLimitMinutes, andrequiresCompletedprerequisite chains.- Paid cancellation flow with confirmation (double right-click) and fee (
1000by default). - Cancelled/expired quests can be locked until next rotation.
- Quest UX/Feedback:**
- Time remaining and cooldown remaining displayed in GUI.
- Clear success/error messages (accepted, claim ready/not ready, too many active quests, cooldown, locked, prerequisites missing, cancel rules).
### Changed
- Config Split for Shops:** Shop definitions are now separated into
world/config/cobblemon-economy/shops.json, while economy/global options stay inworld/config/cobblemon-economy/config.json. - Automatic Migration:** On first boot after update, if
shops.jsonis missing, legacyconfig.json.shopsis read and exported toshops.jsonautomatically. - Reload/Admin Workflow:** Shop edits should now be done in
shops.json(notconfig.json) and reloaded with/eco reload. - Quest UI:** Moved to a custom 9x6 board-style layout with focused mission cards and detailed objective wording.
- Quest Copy/Localization:** Expanded and polished EN/FR translations for quest statuses, objective details, filters, and system messages.
- Placeholder API Compatibility:** Integration now supports both legacy and current PB4 Placeholder API class/package variants.
- Placeholder Namespace Focus:** Placeholder registration now targets the
cobeconamespace for consistency. - Display Formatting:** Balance and PCO placeholders are now rendered as rounded
### Added
- Purchase limits:** Per-item buy limits with optional cooldowns (minutes) and UI display of remaining quota.
- Capture reward config:** New
captureRewardsetting, defaulting tobattleVictoryRewardif missing. - Capture milestones:** Configurable rewards for unique-capture counts.
### Changed
- Default shops:** Added limited items for Battle Rewards/Black Market and removed emoji titles.
- Booster default item:** Switched the default booster entry to components-based config and updated docs.
- Item parsing:** More robust parsing for component-based item IDs (datapack/mod items).
- Milestones config:** Capture milestones now live in
milestone.json.
### Fixed
- Name cleanup:** Clears persisted default shopkeeper names from older versions.