KyuubiSoftQuestBook-1.5.1.jar
What's new
Quests v1.5.1
Pool-Weight Quest Selection
- Quest selection uses pool weights: Daily/Weekly quest pools define weights per quest (e.g. 50, 30, 15, 5). These weights are now used for weighted random selection instead of the tier-based system. Quests with higher weight appear more frequently on reset and reroll
- Tier-based quest selection removed: selectTieredQuests(), selectFromTier(), pickRandomFromList(), selectRandomQuests() (QuestResetScheduler) and selectTieredRerollQuest() (QuestService) removed. Tier system remains for reward multipliers
- Legacy format compatible: Pools in the old questIds format automatically receive weight=1 (uniform random)
- Custom pool weights: Admin-created pool entries retain their weights on save/load
Fix: NPC Display Name + Reward Notification
- Quest tracker shows NPC display name: Previously the internal NPC ID (e.g. "blacksmith_gorn") was shown instead of the configured display name. Fix: QuestLocalization.getTargetName() resolves NPC IDs dynamically via CitizenService.getCitizen().getDisplayName(). Applies to Quest Tracker HUD and QuestBook
- Reward notification shows correct amount: The completion notification showed the base amount (e.g. "1x Item") even though the tier multiplier gave more (e.g. 2x at difficulty=medium). Fix: sendQuestCompleteNotification() receives the multiplier and shows the actually awarded amount
Fix: Proximity Toast HUD Crash
- Client crash on proximity toast fixed: refreshHud() and refreshDistances() were called in the same tick as createHudWithInitialData() — update packets sent before the client built the UI tree — "Selected element not found" — disconnect. Fix: hudJustCreated flag blocks ALL updates until the next tick
- Remove dead shop fields: dailyShopItems, dailyShopDate, dailyShopPurchases removed from PlayerQuestData — these fields were never used (shop data is managed by Core's ShopPlayerData)
- Remove associated tests: 3 unit tests for the removed fields deleted
This mod has no additional files

