-
-
Notifications
You must be signed in to change notification settings - Fork 78
VoteStreak System
The VoteStreak system allows you to reward players for maintaining consistent voting streaks across days, weeks, or months.
It supports: - Forgiveness for missed periods - Flexible vote requirements per period - Proxy/global support - Full Rewards system integration - Multiple streak definitions at once
/plugins/VotingPlugin/SpecialRewards.yml
Section:
VoteStreaks:VoteStreaks:
<IdName>:
Type: DAILY
Enabled: true
Requirements:
Amount: 3
VotesRequired: 3
AllowMissedAmount: 1
AllowMissedPeriod: 7
Rewards:
Commands:
- "say %player% completed a streak!"Understanding how streak validation works is critical.
Config:
AllowMissedAmount: 0
AllowMissedPeriod: 3Example timeline:
Day 1 ✔
Day 2 ✔
Day 3 ✔ → Reward
Day 4 ✘ → Streak resets
Config:
AllowMissedAmount: 1
AllowMissedPeriod: 7Example timeline:
Day 1 ✔
Day 2 ✔
Day 3 ✘ (allowed miss)
Day 4 ✔
Day 5 ✔ → Reward
AllowMissedPeriod controls how far back the system checks.
Example:
AllowMissedPeriod: 7
Amount: 5
AllowMissedAmount: 1
The system checks the last 7 periods and validates: - At least 5 successful periods - No more than 1 missed period
If that condition fails → streak resets.
Use different IDs per server:
VoteStreaks:
SurvivalDaily:
SkyblockDaily:Each server tracks its own streak progress.
Use the same ID on all servers:
VoteStreaks:
GlobalDaily:This causes the streak to be shared network-wide.
Changing the ID will reset stored streak data.
When a vote is received:
- Identify streak ID\
- Determine current period (daily/weekly/monthly)\
- Increment vote count for that period\
- Validate if VotesRequired is met\
- Update streak success/failure tracking\
- Apply AllowMissedAmount logic\
- If streak count >= Amount → Execute Rewards
Important behavior:
- Streaks are evaluated per vote event.
- Period boundaries are calendar-based.
- Missed periods are evaluated during streak validation.
- Rewards trigger only once when threshold is reached.
- Data is stored under the streak ID.
VoteStreaks use the full Rewards system.
Supported reward types:
- Commands
- Messages
- Items
- Broadcast
- RandomCommands
Placeholder Description
%player% Player name %streak% Current streak count %type% Streak type (DAILY/WEEKLY/MONTHLY) %amount% Required streak amount %votesrequired% Votes required per period %currentvotes% Current votes in this period
✔ Keep streak IDs descriptive
✔ Avoid excessive overlapping streak rewards
✔ Carefully configure forgiveness rules
✔ Test reset behavior before production
✔ Combine with VoteMilestones for layered rewards
This system replaces the legacy VoteStreak section and provides significantly more flexibility and control.
- 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