
ODailyQuests Continued
⚡ Daily quests, custom rewards & all-time leaderboards — continued for modern Paper!
ODailyQuests 4.5 — Daily, Weekly & Monthly Quests
Список изменений
ODailyQuests 4.5 — Daily, Weekly & Monthly Quests
ODailyQuests 4.5 introduces full support for running Daily, Weekly, and Monthly quests at the same time, with independent progression, rewards, resets, rerolls, and quest pools for each period.
✨ New Features
- Added fully independent Daily, Weekly, and Monthly quest systems.
- Any combination of Daily, Weekly, and Monthly quests can be enabled.
- Each period now has its own:
- Easy, Medium, Hard, Global, and custom quest pools
- Quest counts
- Active quests and progression
- Reset schedule
- Rerolls
- Category rewards
- All-quests-completed reward
- Lifetime completion statistics
- Quest events can progress matching quests across all enabled periods.
- Added period switching directly from the quest GUI.
- Added configurable Daily, Weekly, and Monthly navigation buttons.
- Disabled periods are automatically hidden from the GUI.
📁 Quest Files
Quest files are now separated by period:
- Daily:
quests/ - Weekly:
quests/weekly/ - Monthly:
quests/monthly/
Each period supports its own:
easymediumhardglobal
quest pools.
Weekly and Monthly example quest files are generated automatically.
Existing Quest Files
Existing quest files are never renamed or overwritten.
- Legacy filenames such as
easyQuests.ymlandglobalQuests.ymlremain supported. - Modern short filenames remain supported.
- Existing Daily, Weekly, and Monthly quest folders are detected automatically.
- Previously generated folders can be repaired without overwriting existing quests.
- Added a dependency-free example Global quest.
⏰ Independent Reset System
Each enabled quest period now runs its own reset timer.
- Daily: configurable time and timezone.
- Weekly: configurable weekday, time, and timezone.
- Monthly: configurable day, time, and timezone.
- Monthly resets automatically use the final day of shorter months when required.
- Global scheduled resets remain supported.
- Player-relative resets remain supported.
- Resetting one period no longer resets or modifies another period.
🎯 Progression, Rerolls & Rewards
- Daily, Weekly, and Monthly progression is now completely separated.
- Rerolls are tracked independently for every period.
- Rerolled quests always come from the same period and category.
- Category completion rewards are tracked independently.
- All-quests-completed rewards are tracked independently.
- Fixed cases where progress, rewards, rerolls, or category completion could affect another period.
📊 Lifetime Statistics
Players now track:
- Overall completed quests
- Daily completed quests
- Weekly completed quests
- Monthly completed quests
The existing combined total remains fully supported.
%odailyquests_total% continues to return the player's overall completed quest count.
Existing lifetime leaderboards and admin total commands continue using the combined total.
🧩 PlaceholderAPI
Added period-specific placeholders using:
daily, weekly, or monthly
Examples:
%odailyquests_daily_total%%odailyquests_weekly_achieved%%odailyquests_monthly_progress_1%%odailyquests_weekly_name_1%%odailyquests_daily_progressbar_1%
Existing placeholders without a period continue to work normally.
🖥 GUI Improvements
- The quest GUI is now fully period-aware.
- Added
%period%,%period_key%, and%quest_count%GUI variables. - Inventory titles can display the currently selected period.
- Player information now displays the correct progress and reset time for the selected period.
- Category inventories are handled independently for each period.
- Period navigation buttons can be fully customized.
- Buttons for disabled periods are automatically hidden.
- Complete-on-click actions now correctly target the selected quest period.
⌨ Command Updates
Period selection has been added to player and admin commands.
Examples:
/dq me [daily|weekly|monthly]
/dq reroll [period] <index>
/dq show [period] <category>
/dqa complete <player> [period] <index>
/dqa reroll <player> [period] <index>
/dqa set <player> [period] <slot> <category> <quest-id>
/dqa reset quests <player> [period|all]
/dqa show <player> [period]
/dqa open <player> [period]
Existing command formats without a period remain supported.
⚙ Configuration
Added the new quest_periods configuration section.
- Existing quest settings automatically become the Daily configuration.
- Weekly and Monthly quests are disabled by default.
- Existing Daily quest counts are preserved.
- Existing reset settings are preserved.
- Existing timezone settings are preserved.
- Existing reroll limits are preserved.
- Legacy Daily configuration paths remain supported.
- At least one quest period is always kept enabled.
💾 Storage & Migration
Existing servers can upgrade without manually resetting player data.
YAML
- Player data now stores each quest period independently.
- Existing period data is detected and preserved.
- Legacy progression is migrated into its detected original period.
- Existing rewards, rerolls, totals, and category data follow that period.
- Disabled-period data remains stored and can be restored by re-enabling the period.
SQL
Database schema upgraded from v4 → v5.
Added:
odq_period_stateodq_period_progressionodq_period_category_stats
SQLite and MySQL databases are migrated automatically.
Period data is saved transactionally to help prevent partial profile updates.
🔄 Compatibility
ODailyQuests 4.5 is designed to remain compatible with existing installations.
- Existing Daily-only servers continue working normally.
- Existing commands remain supported.
- Existing PlaceholderAPI placeholders remain supported.
- Existing quest filenames remain supported.
- Existing YAML data migrates automatically.
- Existing SQLite/MySQL data migrates automatically.
- Existing combined lifetime totals remain unchanged.
- Existing leaderboards continue using combined totals.
- Existing quest files are never automatically renamed or overwritten.
- Existing Daily, Weekly, or Monthly configurations remain assigned to their original period.
No manual data reset is required when upgrading.
