
QuizzerBot
An engaging quiz plugin for Paper (1.21.6+) that brings fun trivia to your server. Features automatic chat quizzes and new on-demand Dialog GUI quizzes, with leaderboards and custom rewards.
📖About QuizzerBot
(Note: This README was written with AI assistance)
🌟 Summary
QuizzerBot is an engaging Paper (or its forks) server-side quiz plugin that brings fun trivia challenges to your Minecraft world. Compete in server-wide timed chat quizzes, or explore new interactive quiz menus with the new Dialog GUI system! Players can compete for rewards and a spot on the leaderboards.
Plugin default language: zh_CN.
Note: Multi-language support (i18n) is not yet implemented but is planned for future updates.
📝 Description
Why Choose QuizzerBot?
🎮 Two Ways to Play:
Classic Chat Quizzes: The original fast-paced, timed trivia event that appears directly in chat.
New! Dialog GUI Quizzes: An interactive, on-demand quiz menu built with Paper's new Dialog API (requires 1.21.6+).
🏆 Dual Leaderboards: Separate rankings for both the classic chat quizzes and the new Dialog quizzes to track different skills.
⚙️ Easy Management:
New! CSV Import/Export: Easily manage your question banks! Export questions to a CSV, edit them in any spreadsheet program, and re-import them. (Warning: Importing overwrites the entire table, so please be careful!)
Simple in-game commands for adding, deleting, and modifying questions for both systems.
🎁 Customizable Rewards: Configure custom commands to reward players for correct answers (supports %player% placeholder).
🚀 Lightweight & Easy Setup: Works out-of-the-box with automatic configuration. Uses SQLite, so no external database is required.
How It Works
1. Timed Chat Quizzes (Classic)
The plugin randomly selects questions from the main database at intervals randomly chosen from a configurable time range (trigger_interval_sec).
Questions appear globally in chat with clickable answer options.
Players have a set time limit (defined in answer_reveal_delay_sec) to answer before the quiz ends.
After the time is up, results are announced. Rewards are given to a set number of correct players (up to player_reward_limit). 'Quick Answer' status is given to the first few correct players (up to player_QuickAnswer_limit).
If a 'quick' player answers incorrectly, their reward slot can be taken by the next correct player in line, ensuring rewards are distributed.
2. Dialog GUI Quizzes (New in 1.2.0)
Players can type /quiz dialog to open a new interactive menu.
This system uses a separate "Extra" question bank, keeping its stats and leaderboards distinct from the chat quizzes.
Perfect for creating on-demand challenges, server guides, vocabulary lists (like CET-4/6 words!), or special event trivia.
Commands
Player Commands
/quiz ans - Submit your answer for a chat quiz.
/quiz me - View your personal quiz statistics.
/quiz query - View another player's statistics.
/quiz top [total|correct|quick|rewards] - Show the leaderboards for classic chat quizzes.
/quiz dialog - Open the new interactive Dialog GUI for extra quizzes.
Admin Commands (General)
/quiz reload - Reload the plugin's configuration files.
/quiz reset - Reset all quiz data for a specific player.
/quiz help - Show the help menu.
Admin Commands (Timed Chat Quiz)
/quiz startnow - Force-start a timed chat quiz.
/quiz stop - Stop the automatic timed quiz scheduler.
/quiz enable <true|false> - Enable or disable the timed quiz scheduler.
/quiz add <Q> <A> <B> - Add a new question (e.g., /quiz add "What is 1+1?" "1" "2" "3" "4" "B").
/quiz delete - Delete a question by its ID.
/quiz modify - Modify a specific part of a question.
/quiz toggle <true|false> - Enable or disable a specific question from appearing.
/quiz list [page] [sort] - List all questions in the main bank.
/quiz detail - View all details for a specific question.
Admin Commands (Dialog GUI Quiz - "Extra")
/quiz extra add ... - Add a question to the Dialog GUI bank.
/quiz extra delete - Delete a Dialog GUI question.
/quiz extra modify ... - Modify a Dialog GUI question.
/quiz extra toggle ... - Enable/disable a Dialog GUI question.
/quiz extra list - List all Dialog GUI questions.
/quiz extra detail - View details for a Dialog GUI question.
Admin Commands (Database Management)
/quiz database export - Export a question table (e.g., questions or extra_questions) to a CSV file.
/quiz database import - Import data from a CSV file, fully overwriting the specified table. (Use with caution!)
Configuration (config.yml)
min_players: Minimum players online required to start a timed quiz.
trigger_interval_sec: The time range (min, max) in seconds for a quiz to randomly trigger. If both values are the same, the interval is fixed.
answer_reveal_delay_sec: Time limit to answer a question (in seconds).
reward_commands: List of commands to run for a winner (e.g., ["give %player% diamond 1"]).
daily_reward_limit: Maximum number of rewards a player can win from timed quizzes per day.
player_reward_limit: Maximum number of players that can be rewarded per quiz.
player_QuickAnswer_limit: Maximum number of players who can be recognized for a 'Quick Answer' (must be correct).
Note: Rewards are given based on player_reward_limit. 'Quick Answer' players are prioritized, but if they answer wrong, the reward slot rolls down to the next correct player.
Technical Info
Requires: Paper (or its forks) 1.21.6+ (The new Dialog GUI feature requires 1.21.6+, though the classic chat quiz may work on 1.21+).
Database: Uses SQLite by default (no setup needed).
Dependencies: Automatically downloads the H2 database driver on first run (no manual download needed). Download speed depends on your server's network connection.
📧 Contact & Feedback
- Have suggestions or found a bug? Please let me know!
- Email: [email protected]