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

CobblemonQuests

Drop-in daily & weekly quest system with configurable rewards, streaks, milestones and hidden quests.

Modrinth

Описание

# 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 - **6 quest types** — Daily, Weekly, Elite Weekly, Hidden, Repeatable, and Normal (chain steps). - **Repeatable quests** never rotate. Run them as many times as you like; lifetime run counts are tracked per quest and shown on the tile. - **Elite weekly** — one extra-difficult weekly with significantly better rewards, displayed in a dedicated slot with glow. - **Hidden quests** 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. - **15 objective types** — 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. - **Single 6-row quest GUI** — 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. - **Server Quests** — 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. - **Leaderboards** — 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. - **Sound + visual effects** — configurable sounds on quest complete, claim, milestone, streak advance, hidden discovered, chain advance, and community-goal complete. Title / subtitle flashes on major events. - **Claim system** — completed quests glow `★ READY ★`; claim individually or hit Claim All. Auto-mode available. - **Daily streak** + **lifetime milestones** — reward consistency. Milestone GUI is paginated and fully configurable. - **Reroll system** 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 - **In-game customization of literally every player-facing string, slot, item, color, and button**. 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. - **Custom Command Buttons** — 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. - **Event Command Hooks** — 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. - **Admin right-click quick actions** — right-click any quest tile with admin perms to open Complete / Reset Progress / View Details inline. - **Quest Browser** — tabbed by type (All / Daily / Weekly / Normal / Elite / Hidden / Repeat), filtered by rarity + category, sortable, paginated. Scales to hundreds of quests. - **Quest Editor + Quest Creation Wizard** — 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. - **4-Step Reward Wizard** — 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. - **Per-reward `display` override** — replace any reward's lore text with custom MiniMessage. Perfect for branded rewards or hiding raw `padmin givekey` commands behind a clean `Special Reward` line. - **Reward display rename map** — `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. - **Chain Browser + Editor + Wizard** (admin-side) — full in-game chain authoring with step picker, inline quest creation, reorder arrows, difficulty tags, loopable toggle, chain-completion rewards. - **Server Quest Browser + Editor + Wizard** — create server-wide goals with objective type, target, duration (1h to 1 week), base rewards, and top-3 contributor bonus rewards. **Active Goal Management dashboard**: stop, reset, boost progress, view contributors live. - **Player Management GUI** — 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. - **Config Editor** — multi-page hub: Reroll Caps / Pool Weights / Toggles / GUI Layout. Each is a clean sub-page with Save. - **GUI Layout Editor** — 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 ` — print the authoritative Stars balance + lifetime earnings. - `/quests admin testkey [amount]` — invoke the crate-key bridge live to verify your template without waiting for a quest. - `/quests admin testcommand ` — dry-run any command-reward template through the same SafeDispatch pipeline rewards use. ### Rewards - **PokéDollars** (Impactor primary currency) - **Stars** — 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. - **Items** — any Minecraft / Cobblemon item id, with overflow handling. - **Crate keys** — 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. - **Custom commands** — 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 - **Impactor** — PokéDollar + Stars currency, soft dependency. - **PokeHunts** — auto-hooks if loaded; quest type `COMPLETE_POKEHUNT`. - **Raids** — auto-hooks if loaded; quest type `COMPLETE_RAID`. - **LuckPerms** — optional, used for permission node lookups; falls back to op-level cleanly with a one-time WARN if the provider fails. - **Pebble's Crates / ExcellentCrates / CMI** — 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 - **Permission re-checked on every action** — mid-session demotions work. Every admin GUI has an internal `requiresAdmin()` guard on every `open()` and click. - **Bypass permissions are explicit-only AND now config-gated.** `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. - **Per-player rate limits** on rerolls and admin commands. - **Audit log** at `logs/cobblemonquests-audit.log` records every quest assignment, completion, reward grant, reroll, admin action, hidden discovery, milestone crossing, **community-goal mutation, config reload, and admin test command** with an 8-char base36 transaction id. - **Snapshot at assignment** — quest definitions snapshot at assignment time so config edits never retroactively change a payout. - **Anti-exploit dedup** 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 Reroll a quest (per-rotation cap applies) /quests admin Open admin panel /quests admin reload Reload config + quests /quests admin give Give a quest to a player /quests admin complete Force-complete a quest /quests admin reset Reset a player's dailies /quests admin resetweek Reset a player's weeklies /quests admin goal set 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 Set progress manually /quests admin debug events Tracker activity dashboard /quests admin debug stars Print Stars balance + lifetime /quests admin testkey [n] Test crate-key template live /quests admin testcommand Test any command template ``` `/cq` is a shorter alias for `/quests`. ## Compatibility - **Minecraft 1.21.1 / Fabric** - 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 - **Party / multiplayer quests** — coming with the party-system update - **NPC interaction** — right-click a Cobblemon NPC to open `/quests` - **Quest shop** — spend Stars on exclusive items - **Seasonal / event quests** — 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.