Scheduled Voting
Scheduled event voting
EventForge v1.0.3 adds scheduled event votes.
Scheduled votes are different from per-event schedules. Instead of starting one fixed event, a scheduled vote starts a player vote between multiple configured event options.
Scheduled voting is configured in:
plugins/EventForge/schedule_config.yml
Scheduled voting is disabled by default so new installs keep the classic EventForge behaviour until you choose to enable it.
Enable scheduled voting
scheduled-voting:
enabled: true
You can then enable individual scheduled votes under scheduled-voting.schedules.
Scheduled vote example
scheduled-voting:
enabled: true
schedules:
hourly_vote:
enabled: true
type: INTERVAL
every: 1h
duration: 60s
options:
- mining_rush
- mob_hunt
- fishing_frenzy
randomize-options: false
randomize-amount: 3
start-winner-automatically: true
announce-before:
- 5m
- 1m
require-no-active-events: true
require-no-active-vote: true
This starts a vote every hour using the configured event options.
Players vote with:
/events vote <event>
The winning event starts through the normal EventForge start flow.
If the winner uses participation.mode: MANUAL, the event opens a manual queue first.
Scheduled vote options
Each scheduled vote can define:
ID
enabled state
schedule type
interval
vote duration
event options
random option selection
random option amount
automatic winner startup
pre-vote announcements
active-event skip rule
active-vote skip rule
Scheduled vote type
The first scheduled voting version supports:
INTERVAL
Example intervals:
1m
30m
1h
2h
Scheduled vote duration
duration controls how long the vote stays open once it starts.
duration: 60s
The duration must be at least 5s.
Scheduled vote options
options contains the event IDs that players can vote for.
options:
- mining_rush
- mob_hunt
- fishing_frenzy
Each option must match a loaded EventForge event template ID.
Scheduled votes require at least 2 valid loaded event options.
Randomized scheduled votes
Scheduled votes can randomize their options each time they start.
randomize-options: true
randomize-amount: 2
With a larger option pool, EventForge randomly chooses 2 options for that vote.
randomize-amount must be at least 2 and cannot be higher than the amount of valid loaded options.
Scheduled vote announcements
Scheduled votes can broadcast countdown announcements before the vote starts.
announce-before:
- 5m
- 1m
- 30s
The message text is controlled in messages.yml under:
scheduled-voting:
announcement: "{prefix}&eA scheduled event vote &f{id} &ewill start in &f{time}&e."
starting: "{prefix}&eStarting scheduled event vote: &f{id}&e."
Scheduled vote skip rules
Scheduled votes can skip if an event or vote is already active.
require-no-active-events: true
require-no-active-vote: true
If an event is active, the scheduled vote is skipped and rescheduled.
If another vote is active, the scheduled vote is skipped and rescheduled.
This prevents overlapping events and overlapping votes.
Scheduled vote validation
Scheduled voting is checked by:
/eventforge validate
You can also check schedule_config.yml directly:
/eventforge validate schedule_config.yml
Validation checks include:
scheduled-voting.enabled with missing schedules
invalid schedule type
invalid interval duration
vote duration below 5 seconds
missing options
unknown event IDs
duplicate options
fewer than 2 valid options
invalid randomize amount
invalid announce-before values
Viewing schedules in-game
Use:
/eventforge schedules
This command shows:
normal per-event schedules
scheduled event votes
Scheduled votes show their ID, time until next vote and configured option IDs.
Example:
Scheduled Event Votes
hourly_vote - Next Vote: 43m 20s - Options: mining_rush, mob_hunt, fishing_frenzy
Scheduled vote placeholders
Scheduled votes also have PlaceholderAPI support.
%eventforge_scheduled_vote_enabled%
%eventforge_scheduled_vote_count%
%eventforge_next_scheduled_vote%
%eventforge_next_scheduled_vote_time_left%
%eventforge_next_scheduled_vote_options%
%eventforge_next_scheduled_vote_option_ids%
%eventforge_scheduled_vote_time_left_<id>%
%eventforge_scheduled_vote_options_<id>%
%eventforge_scheduled_vote_option_ids_<id>%
Examples:
%eventforge_next_scheduled_vote%
%eventforge_next_scheduled_vote_time_left%
%eventforge_scheduled_vote_time_left_hourly_vote%
%eventforge_scheduled_vote_options_hourly_vote%