-
-
Notifications
You must be signed in to change notification settings - Fork 79
VoteReminders
The Vote Reminders system reminds players when they are able to vote again.
This is a fully redesigned replacement for the old VoteReminding system, providing greater flexibility, precision, and control.
Unlike the legacy system, reminders are:
- Config-driven (not hardcoded intervals)
- Priority-based
- Condition-aware
- Cooldown-aware (per reminder + global)
- Reward-based (uses the standard reward API)
A Vote Reminder is a named rule that:
- Triggers at a specific event (login, first join, interval, etc.)
- Checks conditions (can vote, first join, online time, etc.)
- Respects cooldowns
- Executes rewards (messages, commands, titles, Discord, etc.)
| Component | Purpose |
|---|---|
VoteReminderOptions |
Global settings + defaults |
VoteReminders |
Individual reminder definitions |
Reminder Type
|
What triggers the reminder |
| Conditions | When the reminder is allowed to fire |
| Cooldowns | Prevent spam |
| Rewards | What actually happens |
Reminders are sorted by priority, then evaluated until:
- One fires (StopAfterMatch = true), or
- All are evaluated (StopAfterMatch = false)
VoteReminderOptions:
Enabled: true
StopAfterMatch: true
GlobalCooldown: 10m
DefaultPriority: 0
Defaults:
Cooldown: 0
Delay: 0
Conditions:
# CanVoteAny: true
# CanVoteAll: true
# MinOnlineTime: 2m
# FirstJoin: true
Rewards:
Messages:
Player: "&aYou can vote! Sites left: %sitesavailable%"| Option | Description |
|---|---|
Enabled |
Master toggle for all reminders |
StopAfterMatch |
Stop evaluating once a reminder fires |
GlobalCooldown |
Shared cooldown across all reminders |
DefaultPriority |
Used if a reminder has no Priority |
Defaults.* |
Applied when a reminder omits values |
Each reminder is defined under:
VoteReminders:
<ReminderName>:
...Example:
VoteReminders:
OnLogin:
Type: LOGIN
Priority: 50
Delay: 3s
Cooldown: 3m
Conditions:
CanVoteAny: true
Rewards:
Messages:
Player: "&aWelcome back! You can vote now on &e%sitesavailable%&a sites."| Type | Trigger |
|---|---|
LOGIN |
Player login |
FIRST_JOIN |
First-ever join |
INTERVAL |
Repeating interval |
VoteReminders:
IntervalReminder:
Type: INTERVAL
Interval: 30m
Cooldown: 2h
Conditions:
CanVoteAny: trueImportant:
For INTERVAL, the effective cooldown is:
max(Interval, Cooldown)
Conditions control whether a reminder may fire.
| Condition | Meaning |
|---|---|
CanVoteAny |
Player can vote on at least one site |
CanVoteAll |
Player can vote on all sites |
MinOnlineTime |
Player must be online for this long |
FirstJoin |
Only first-ever join |
Example:
Conditions:
CanVoteAny: true
MinOnlineTime: 2mDelay: 5s- Waits before evaluating conditions
- Useful on login to allow vote data to sync
Cooldown: 10m- Per-player
- Per-reminder
- Stored persistently
Vote Reminders use the standard VotingPlugin Reward API.
Anything that works in:
votesites.ymlspecialrewards.yml
…also works here.
Rewards:
Messages:
Player: "&aYou can vote now!"| Placeholder | Description |
|---|---|
%sitesavailable% |
Number of sites player can still vote on |
| All standard reward placeholders | Supported |
Players must have one of:
VotingPlugin.PlayerVotingPlugin.Login.RemindVotes
The old VoteReminding system is automatically migrated once.
| Legacy Option | New System |
|---|---|
Enabled |
VoteReminderOptions.Enabled |
RemindDelay |
INTERVAL reminder |
RemindOnLogin |
LOGIN reminder |
Rewards |
Default Rewards |
Migration:
- Runs once
- No backups
- Sets
VoteReminderOptions.MigratedFromLegacy: true
Enable debug output:
DebugLevel: EXTRALook for log entries starting with:
[VoteReminders]
Recommended Setup
Most servers should start with:
-
LOGINreminder -
INTERVALreminder StopAfterMatch: trueCanVoteAny: true
✔ Fully configurable
✔ Priority-based
✔ Condition-aware
✔ Cooldown-safe
✔ Reward-driven
✔ Legacy-compatible
The new Vote Reminders system is powerful by design, while remaining simple to configure.
- Commands & Permissions
- API
- PlaceHolderAPI placeholders
- Minecraft Server Lists
- Bedrock Player Support
- Performance Settings
- Signs
- Special Rewards
- Time Changes
- Vote Reminding
- VoteMilestones
- VoteReminders
- Month Date Totals
- Transferring data storage within plugin