ZenaviaCommunityQuests
Community-wide quest & event system for Spigot servers
What is ZenaviaCommunityQuests?
Create
server-wide community goals that all players contribute to together. Track mining, farming, fishing, and mob killing progress with a real-time
boss bar, automatic
quest rotation, and full
database persistence.
Example: "Mine 5 million ores as a community!" - every player's mining counts toward the shared goal.
Features
- Community Quests - Shared goals that all players contribute to
- 4 Objective Types - HARVEST, BLOCK_BREAK, ENTITY_KILL, FISH_CATCH
- Boss Bar Progress - Real-time progress bar visible to all players
- Per-Player Toggle - Players can hide/show boss bar with /zcq bossbar toggle
- Auto Rotation - Daily, weekly, or custom time windows
- Pick Strategy - FIRST, RANDOM, or ROUND_ROBIN quest selection
- SQLite & MySQL - Persistent storage with async batch writes (HikariCP)
- Per-Player Leaderboard - Track individual contributions with /zcq top
- Reward System - Execute console commands on quest completion
- Material Filters - Target specific blocks, crops, mobs, or "ALL"
- Crop Maturity - Only count fully grown crops (configurable)
- Rival Plugin Support - RivalPickaxes, RivalHarvesterHoes, RivalFishingRods, RivalMobSwords
- PlaceholderAPI - Full PAPI expansion (progress, target, percent, top, etc.)
- Multi-Language - EN and FR built-in, runtime switchable
- Auto Update Checker - Notifies OPs on join if a new version is available
- Lightweight - No NMS, pure Spigot API, works on Spigot & Paper 1.20+
Commands
Admin
(Permission: zenaviaquests.admin, default: OP)
- /zcq reload - Reload config, language, and scheduler
- /zcq rotate - Force rotation/reset immediately
- /zcq list - List all quests with status and progress
- /zcq set <id> <value> - Set quest progress manually
- /zcq start <id> - Activate a specific quest (reset to 0 + announce)
- /zcq reset <id|all> - Reset progress (memory + DB)
- /zcq top <id> [page] - View top contributors
- /zcq save - Flush database immediately
- /zcq lang <EN|FR> - Change language at runtime
- /zcq bossbar <player> <on|off|toggle> - Force BossBar state for a player
Player
- /zcq bossbar toggle - Toggle your personal BossBar visibility
PlaceholderAPI
- %zcq_progress_<id>% - Current progress
- %zcq_target_<id>% - Target value
- %zcq_percent_<id>% - Completion percentage
- %zcq_active_count% - Number of active quests
- %zcq_bossbar_enabled% - Player's BossBar state (1/0)
- %zcq_top_name_<id>_<rank>% - Top contributor name
- %zcq_top_value_<id>_<rank>% - Top contributor value
Quest Types
- HARVEST - Crop harvesting with maturity check (wheat, carrots, beetroots, cocoa, nether wart, etc.)
- BLOCK_BREAK - Mining any block or specific ores
- ENTITY_KILL - Kill mobs (all or specific types like ZOMBIE)
- FISH_CATCH - Catch fish (vanilla or Rival rods)
Built-in Profiles
7 ready-to-use quest templates in quests.yml:
- HARVEST_ALL_1M - 1M crops of any type
- HARVEST_WCB_500K - 500K wheat/carrots/beetroots/cocoa
- MINE_ALL_ORES_5M - 5M ore blocks
- MINE_ANY_BLOCK_10M - 10M blocks of any type
- PVE_ALL_250K - 250K mob kills
- PVE_ZOMBIE_100K - 100K zombie kills
- FISH_GLOBAL_500K - 500K fish caught
Dependencies
Required: None
Optional (soft-depend):
- RivalPickaxes - Multi-break mining support
- RivalHarvesterHoes - Crop harvesting with enchant multipliers
- RivalFishingRods - Fishing XP tracking
- RivalMobSwords - Custom sword kill events
- PlaceholderAPI - Placeholder expansion
Requirements:
- Spigot or Paper 1.20+
- Java 21+
Quick Start
- Drop ZenaviaCommunityQuests.jar into your plugins/ folder
- Restart the server - config.yml and quests.yml are generated
- Edit quests.yml to define your community goals
- Start a quest: /zcq start MINE_ALL_ORES_5M
- Players will see the boss bar and start contributing!
- Quest completes automatically when the target is reached
Spigot & Paper 1.20+ - Java 21+