All versions
1.6.2
Release
CobblemonQuests 1.6.26 months ago 15
Compatibility
Minecraft: Java Edition
1.21.1
Platform
Fabric
Supported environments
Server-side
Singleplayer
Required content
Any compatible version
Any compatible version
Any compatible version
Changes
[1.6.2] — 2026-04-20 — "Deep Audit Patch"
Follow-up fixes found during a systematic audit of reward and GUI flows. No config changes required — safe drop-in replacement.
Fixed — Streak rewards never fired
StreakManager.onDailyResetCompletedwas dead code — no caller. The streak counter incremented, but the configured rewards for day 3, day 7, day 14, and day 30 streaks never paid out.QuestAssigner.assignDailiesnow invokes the streak reward payout when the counter advances. Online players receive the reward on daily reset; offline players get the increment stored but payouts wait (matching the original intent — items need an inventory).
Fixed — Paid reroll currency lost on no-replacement
QuestDetailGui.attemptRerollwithdrew Stars or PokéDollars before checking whether the pool actually had a replacement quest. If the pool was exhausted, the player lost the currency with nothing in return.- Now: slot lookup happens first, currency is charged, and if the
reroll still comes back empty the charge is refunded via new
ImpactorEconomy.refundStars/refundPokeDollarshelpers (which do not inflate the "Most Stars" leaderboard). - Free-reroll counter is similarly rolled back when a free roll produces no replacement.
Fixed — Hub GUI rendered quests without bonus lore / auto-yellow
- The main menu (
QuestsHubGui.renderQuestDye) duplicated a slimmer version ofQuestItemRenderer.renderand bypassed the 1.6.1 auto yellow-number highlighting for quest descriptions. - It also omitted the bonus objective description line and the bonus rewards section, so players only saw bonus progress without knowing what the bonus task was or what it rewarded.
- Fixed: descriptions run through the shared
autoHighlightNumbershelper; bonus description + bonus rewards are now rendered.
Fixed — Weekly reroll could pick a different quest than it showed
QuestAssigner.rerollWeeklycalledpool.pickWeekly(1, blocked)twice in the same branch — once to checkisEmpty(), once to grab the result — which could return different quests on the two calls.- Now a single call, result cached.
Added — Offline rewards queue (community goals)
CommunityGoalManager.onGoalCompleteused to iterateserver.getPlayerManager().getPlayerList(), so contributors who logged off before the goal completed received nothing.- All contributors (including offline) are now rewarded. Offline
payouts are queued in
PlayerQuestData.pendingRewards(serialized in the player data file) and delivered on next login with a "★ You have rewards waiting! ★" chat announcement. COMMAND rewards are skipped for offline players since{player}substitution requires the player to be online anyway.
Fixed — Hidden quest could appear twice in list
- If a single catch matched two hidden quest triggers at once (e.g.
species catch + lifetime-catch milestone),
HiddenQuestTriggercould add the same quest toactiveHiddenstwice — showing a duplicate row the player couldn't deduplicate. - Added a "already discovered or active" guard to
discover().
Internal
- New
ImpactorEconomy.refundStars/refundPokeDollarsmethods for refunds that don't count toward lifetime earnings. QuestItemRenderer.autoHighlightNumbersis now public for reuse.PlayerDataSerializerserializes / deserializes the newpendingRewardslist.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:4ShL0DGz:fwmfEH6r"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:4ShL0DGz:fwmfEH6r"
}
