How It Works
Overview
PlumDelivery follows a simple but powerful gameplay loop:
Admin starts event → Players compete → Timer expires → Rewards distributed → Repeat
Step-by-Step Flow
Step 1: Admin Starts an Event
An administrator starts a delivery event using:
/delivery start <type>
Where <type> is one of: daily, weekly, or monthly.
A server-wide broadcast notifies all players that the event has started.
Step 2: Players Open the Menu
Players access the delivery system through:
/delivery
This opens the Delivery Type Selection Menu — a GUI showing all available delivery types with their status and remaining time.
Step 3: Choose a Delivery Type
Players click on a delivery type to proceed. Each type shows:
- ✅ Active — The event is running
- ❌ Not Started — The event hasn't been started yet
- ⛔ Disabled — The event is disabled in config
- ⏰ Remaining Time — How much time is left
Step 4: Select a Category
After choosing a delivery type, players see the Category Selection Menu showing all configured categories (e.g., Farming, Combat, Mining). Each category shows the player's current point total.
Step 5: Complete Objectives
Players complete objectives based on the category's required-objects:
COLLECT Actions
- Gather the required items in your inventory (e.g., Wheat)
- Open the category menu
- Click the Submit button
- Items are removed from inventory and converted to points
KILL Actions
- Kill the required entities in the world (e.g., Mushroom Cow)
- Points are awarded automatically on each kill
- No submission needed!
Step 6: Unlock Goal Milestones
As players accumulate points, they reach goal milestones:
| Milestone | Status | Reward |
|---|---|---|
| 25 points | ✅ Reached | give %player% diamond 2 |
| 100 points | ⏳ In progress (42/100) | give %player% diamond 10 |
| 500 points | 🔒 Locked | give %player% diamond 50 |
Rewards are executed immediately when a milestone is reached. Multiple milestones can be unlocked in a single action!
Step 7: Compete on Leaderboards
The Leaderboard item in the category menu shows the top players:
1. Steve — 142 points
2. Alex — 98 points
3. Notch — 67 points
4. Empty
5. Empty
Step 8: Event Ends
When the countdown timer reaches zero (or an admin runs /delivery end <type>):
- Placement rewards are distributed based on the leaderboard rankings
- Player data for that delivery type is cleared
- A server-wide broadcast announces the event has ended
Step 9: Auto-Restart (Optional)
If auto-restart: true is set in the config, a new cycle begins immediately after the event ends. The timer resets and a new broadcast is sent.
Menu Hierarchy
/delivery (command)
└── Delivery Type Menu (Daily / Weekly / Monthly)
└── Category Selection Menu (Farming / Combat / Mining...)
└── Category Detail Menu
├── Goal Items (with progress)
├── Submit Button
├── Leaderboard Item
└── Back Button
Data Persistence
- Player points are saved to the database (RozsDBLite/SQLite/MySQL)
- Countdown timers are saved to
data.ymlevery 10 minutes and on shutdown - Event status is saved to
config.yml - All data survives server restarts
