CobblemonQuests
Drop-in daily & weekly quest system with configurable rewards, streaks, milestones and hidden quests.
CobblemonQuests
CobblemonQuests
The engagement loop your Cobblemon server needs. Daily, weekly, elite, hidden, and repeatable quests, server-wide community goals, leaderboards, configurable sound effects, and a complete in-game authoring + customization toolkit — all built on a clean single-screen GUI that admins can rearrange slot-by-slot from config without touching Java.
Feature highlights
For players
- Chat reward banners — Daily, Weekly, Elite Weekly, Hidden, Repeatable, and Normal (chain steps). - Chat reward banners never rotate. Run them as many times as you like; lifetime run counts are tracked per quest and shown on the tile. - Chat reward banners — one extra-difficult weekly with significantly better rewards, displayed in a dedicated slot with glow. - Chat reward banners unlock invisibly when triggers match (catch count, species, dimension, etc.) and live in a dedicated Hidden viewer GUI alongside trophy tiles for ones you've already completed. - Chat reward banners — catch, battle NPC, defeat wild (separately tracked from PvE wins), level up, gain levels, evolve, hatch eggs, throw Poké Balls, use experience candies, visit biomes / dimensions (with anti-ping-pong dedup), catch shiny, catch legendary, complete PokeHunts, complete raids. - Chat reward banners — everything visible at once: leaderboard tile + reset timers on row 0, dailies on rows 1–2, weeklies on rows 3–4, streak / milestones / hidden / repeatable / close on row 5. No more digging through sub-pages. - Chat reward banners — shared server-wide objectives with a live boss bar. Every player contributes. Duration from 1 hour to 1 week. Top-3 contributors get bonus rewards; offline contributors are paid out on next login via a queued-rewards system. Contribution leaderboard with player heads + medals. - Chat reward banners — top-16 player-head pyramid with own-rank glow. Ties are now broken by who reached the value first (timestamp- based), so racing past a friend keeps you on top. - Chat reward banners — configurable sounds on quest complete, claim, milestone, streak advance, hidden discovered, chain advance, and community-goal complete. Title / subtitle flashes on major events. - Chat reward banners — completed quests glow `★ READY ★`; claim individually or hit Claim All. Auto-mode available. - Chat reward banners + Chat reward banners — reward consistency. Milestone GUI is paginated and fully configurable. - Chat reward banners with hard per-rotation caps — `daily-per-day` and `weekly-per-week` (default 1 each). No paid fallback. Counters are consumed *before* the roll and refunded if the pool can't produce a replacement, so concurrent clicks can't double-spend. - Chat reward banners — every reward payout shows a one-line confirmation: `★ +250 Stars` / `$ +5000 PokeDollars`. Format fully customizable per-server.
For admins
- Diagnostics & test commands. No jar editing, no Java. Every GUI is its own HOCON file under `config/cobblemonquests/gui/`: - `main_menu.conf`, `detail_menu.conf`, `stats_menu.conf`, `milestone_menu.conf`, `leaderboard_menu.conf`, `repeatable_menu.conf` - Set the `slot` (0–53) of every button. Set the `rows` (1–6) of every menu. Toggle any button's `visible` flag. Replace the glass-pane filler with any item id. Customize progress-bar characters, colors, length, brackets. Reorder quest name parts via `name-format`. Sort quests by progress / rarity / alphabetical / status / id. - Diagnostics & test commands — drop unlimited extra buttons into any GUI: store links, Discord, voting, vanilla command shortcuts. Each entry takes `slot`, `item`, `name`, `lore`, `glow`, and a `command` template with `{player}` substitution. - Diagnostics & test commands — fire console commands when any of these events happen: `quest-complete`, `milestone-reached`, `streak-milestone`, `claim`. Wire up Discord webhooks, broadcast messages, grant external items — all without recompiling. - Diagnostics & test commands — right-click any quest tile with admin perms to open Complete / Reset Progress / View Details inline. - Diagnostics & test commands — tabbed by type (All / Daily / Weekly / Normal / Elite / Hidden / Repeat), filtered by rarity + category, sortable, paginated. Scales to hundreds of quests. - Diagnostics & test commands — full in-game CRUD. Cycle type / category / rarity, set targets, build rewards via the 4-step wizard, save to disk, duplicate, delete (two-click confirm), live preview. - Diagnostics & test commands — pick category (Currency / Items / Crate Keys / Commands) → browse + select (item browser with All / Cobblemon / Balls / Candies / Vanilla tabs and full registry pagination) → set quantity → recap + confirm. - Diagnostics & test commands — replace any reward's lore text with custom MiniMessage. Perfect for branded rewards or hiding raw `padmin givekey` commands behind a clean `<aqua>Special Reward</aqua>` line. - Diagnostics & test commands — `rewards.display-names` maps any item id or key id to a custom name globally. Servers can ship a fully branded tooltip set without per-reward edits. - Diagnostics & test commands (admin-side) — full in-game chain authoring with step picker, inline quest creation, reorder arrows, difficulty tags, loopable toggle, chain-completion rewards. - Diagnostics & test commands — create server-wide goals with objective type, target, duration (1h to 1 week), base rewards, and top-3 contributor bonus rewards. Diagnostics & test commands: stop, reset, boost progress, view contributors live. - Diagnostics & test commands — inspect any online player: active quests, streak, Stars balance, total completed, repeatable run counts. Admin actions: grant Stars, reset dailies / weeklies, wipe player data (two-click confirm). Admin perms re-checked on every click — a mid-session demotion takes effect immediately. - Diagnostics & test commands — multi-page hub: Reroll Caps / Pool Weights / Toggles / GUI Layout. Each is a clean sub-page with Save. - Diagnostics & test commands — visual 54-slot grid. Click any slot to cycle its role. Save writes to `gui/player_main.conf` and auto-reloads. - Diagnostics & test commands: - `/quests admin debug events` — per-tracker fire counts + last-fired timestamps + last detail. Triage "my quests aren't progressing" reports in seconds. - `/quests admin debug stars <player>` — print the authoritative Stars balance + lifetime earnings. - `/quests admin testkey <player> <key> [amount]` — invoke the crate-key bridge live to verify your template without waiting for a quest. - `/quests admin testcommand <player> <command...>` — dry-run any command-reward template through the same SafeDispatch pipeline rewards use.
Rewards
- resilient to offline players (Impactor primary currency) - resilient to offline players — now dispatched through a configurable economy command (default: `eco deposit {amount} {currency} {player}`) so a real Impactor currency account is what updates. The local JSON ledger is mirrored only as a leaderboard cache. - resilient to offline players — any Minecraft / Cobblemon item id, with overflow handling. - resilient to offline players — global command template plus a per-key override map (`integrations.crate-key-commands`) so `lunar` can route to Pebble's Crates and `vote` to ExcellentCrates on the same server with no branching elsewhere. Default template targets Pebble's Crates (`padmin givekey {player} {amount} {key}`) out of the box. - resilient to offline players — console execution with `{player}` placeholder, run through a unified `SafeDispatch` pipeline that catches typos, missing nodes, and re-entry instead of silently swallowing them. - All grants are atomic, audit-logged with 8-char transaction IDs, and resilient to offline players — community-goal payouts and star rewards queue into `pendingRewards` and deliver on next login with a `★ You have rewards waiting! ★` chat banner.
Integrations
- Public API — PokéDollar + Stars currency, soft dependency. - Public API — auto-hooks if loaded; quest type `COMPLETE_POKEHUNT`. - Public API — auto-hooks if loaded; quest type `COMPLETE_RAID`. - Public API — optional, used for permission node lookups; falls back to op-level cleanly with a one-time WARN if the provider fails. - Public API — any crate plugin works via the per-key override map. - Public API — any mod can call `ExternalEventApi` to feed quest progress without a classpath dependency.
Security & reliability
- `SafeDispatch` — mid-session demotions work. Every admin GUI has an internal `requiresAdmin()` guard on every `open()` and click. - `SafeDispatch` `cobblemonquests.bypass.reroll-cost` and `cobblemonquests.bypass.rate-limit` only take effect when the matching `permissions.bypass.*` flag in `config.conf` is set to `true`. Granting the LP node alone is no longer sufficient — so a forgotten wildcard inheritance can't silently disable the new reroll caps. - `SafeDispatch` on rerolls and admin commands. - `SafeDispatch` at `logs/cobblemonquests-audit.log` records every quest assignment, completion, reward grant, reroll, admin action, hidden discovery, milestone crossing, `SafeDispatch` with an 8-char base36 transaction id. - `SafeDispatch` — quest definitions snapshot at assignment time so config edits never retroactively change a payout. - `SafeDispatch` on "visit N biomes / dimensions" objectives — only distinct biome / dimension ids count. Ping-pong farming is dead. - `SafeDispatch` — single canonical path for every console command the mod runs (rewards, stars, crate keys). Treats result `< 1` as a hard failure with a WARN carrying the resolved command string. Re-entry guards prevent infinite loops if a reward template accidentally calls back into the mod.
One-line elevator pitch
Turn your Cobblemon server into a place players log in for tomorrow, not just today.
Setup
1. Drop `cobblemonquests-1.8.0.jar` into `mods/` next to Cobblemon and (optionally) Impactor. 2. Start the server. A default config, sample quests (9 dailies, 7 weeklies, 1 elite, 1 hidden, 3 repeatables), a starter chain, and 2 server-quest templates are written on first boot. 3. OPs can run `/quests` to see the player hub and `/quests admin` for the admin panel. 4. Use the in-game wizards to create quests, chains, and server quests — or edit `config/cobblemonquests/` files by hand. 5. Use the in-game Config Editor to tune reroll caps, pool weights, and toggles — or edit `config.conf` and run `/quests admin reload`.
Commands
``` /quests Open the quest hub /quests stats Open the stats page /quests leaderboard Open the leaderboard /quests reroll <slot> Reroll a quest (per-rotation cap applies) /quests admin Open admin panel /quests admin reload Reload config + quests /quests admin give <p> <q> Give a quest to a player /quests admin complete <p> <q> Force-complete a quest /quests admin reset <p> Reset a player's dailies /quests admin resetweek <p> Reset a player's weeklies /quests admin goal set <id> Activate a server quest /quests admin goal stop Stop the active server quest /quests admin goal reset Reset server quest progress /quests admin goal progress <n> Set progress manually /quests admin debug events Tracker activity dashboard /quests admin debug stars <p> Print Stars balance + lifetime /quests admin testkey <p> <key> [n] Test crate-key template live /quests admin testcommand <p> <cmd...> Test any command template ```
`/cq` is a shorter alias for `/quests`.
Compatibility
- Coexists peacefully - Hard dependencies: Cobblemon 1.7.3+, Fabric API, Java 21 - Soft dependencies: Impactor (PokéDollar + Stars currency), LuckPerms (perm nodes + prefix), PokeHunts (auto-hook), Raids (auto-hook), any crate plugin (Pebble's, ExcellentCrates, CMI, etc. — configurable per key) - Coexists peacefully with PokeBuilder and StaffChat (both also from souljagger).
Roadmap
- Player-facing chains UI — coming with the party-system update - Player-facing chains UI — right-click a Cobblemon NPC to open `/quests` - Player-facing chains UI — spend Stars on exclusive items - Player-facing chains UI — time-limited quest pools - Player-facing chains UI — chain backend + admin authoring is shipped today; player viewer returns alongside the party update
License
MIT — fork, modify, redistribute.