Skip to main content

🚀 EventForge v1.0.3 Release

EventForge v1.0.3 is a major presentation, player choice, and API update.

This release adds optional TextEffect integration, manual event voting, scheduled hybrid voting, manual event queues, queue lobby countdowns, expanded PlaceholderAPI support, new public API services, new Bukkit events, stronger validation, and safer reload behaviour.

The classic EventForge experience is still the default. New premium systems are included, but they are opt-in unless you choose to enable them.

tip

v1.0.3 is designed to make events feel more polished without breaking existing servers. Existing automatic events continue to work normally unless you enable the new voting, TextEffect, or manual queue systems.


Highlights

Optional TextEffect integration
Manual event voting
Scheduled hybrid voting
Manual event queues / hype phase
Optional queue lobby teleporting
Queue bossbar countdowns
3, 2, 1, GO queue titles
Manual-only scoring protection
Voting PlaceholderAPI support
Scheduled voting PlaceholderAPI support
Queue PlaceholderAPI support
Voting public API
Scheduled voting public API
Queue public API
Voting Bukkit events
Scheduled voting Bukkit events
Queue Bukkit events
Improved TextEffect reload handling
Improved sound compatibility
Expanded /eventforge validate checks
Updated bundled templates
Version metadata updated to 1.0.3-release

Backwards-compatible defaults

v1.0.3 keeps new installs safe by default.

TextEffect integration: disabled by default
Manual voting: disabled by default
Scheduled voting: disabled by default
Global participation: AUTOMATIC by default
Queue bossbar visuals: disabled by default
Queue countdown titles: disabled by default
Bundled templates: participation.mode: GLOBAL

This means existing event setups continue to behave like normal EventForge events until you choose to enable the new systems.


Optional TextEffect integration

INFO

Purchasing EventForge makes you eligible to download TextEffect for FREE!

EventForge can now hook into the separate TextEffect plugin to render animated shader-powered text in supported EventForge displays.

Supported areas include:

GUI item names and lore
Event broadcast/chat messages
Start/end/result messages
Titles and subtitles
Actionbars
Main event bossbars
Mob invasion / wave bossbars
Manual queue bossbars
Manual queue countdown titles
Manual queue GO titles

TextEffect is optional. If it is not installed, or if the integration is disabled, EventForge safely falls back to normal text formatting.

Configure it in config.yml:

integrations:
texteffect:
enabled: false
mode: "DISABLED"

Available modes:

ALWAYS
SERVER_STATUS
DISABLED

Sidebar animation and dialogue text animation are intentionally skipped in v1.0.3 to keep the release stable across Spigot, Paper, and Purpur 1.21 - 1.21.11.


Manual event voting

Admins can now start an event vote and let players choose which event should run next.

/eventforge vote start <event1> <event2> [event3...]
/eventforge vote cancel
/eventforge vote status
/eventforge vote confirm

Players vote with:

/events vote <event>

When a vote starts, EventForge broadcasts clickable vote options in chat. Players can click an event name to vote automatically, or use the command manually.

Manual voting is configured in config.yml:

voting:
enabled: false
default-duration: 60s
min-options: 2
max-options: 5
allow-vote-change: true
start-winner-automatically: true
broadcast-result: true

The winning event starts through EventForge's normal event start flow, so regular start checks still apply.

If the winning event uses manual participation, EventForge opens a queue instead of starting the event instantly.


Scheduled hybrid voting

v1.0.3 adds scheduled voting from schedule_config.yml.

Instead of always scheduling a single event, servers can schedule a vote and let players choose from a configured pool of events.

scheduled-voting:
enabled: false

schedules:
hourly_vote:
enabled: false
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

Scheduled votes support:

interval scheduling
pre-vote announcements
option pools
randomized options
active-event skip rules
active-vote skip rules
safe validation against loaded event templates

/eventforge schedules now shows both normal event schedules and scheduled event votes.


Manual event queues / hype phase

EventForge now supports manual participation mode.

Manual events open a timed queue before the event starts. Players join the queue, optionally teleport to a waiting lobby, see countdown visuals, and only queued players can score once the event begins.

participation:
mode: MANUAL
queue-duration: 30s
min-players: 1
max-players: 0
allow-leave-before-start: true

lobby:
enabled: false
world: "world"
x: 0.5
y: 80.0
z: 0.5
yaw: 0
pitch: 0

Player commands:

/events join <event>
/events leave <event>
/events tp <event>
/events teleport <event>

/events join <event> is queue-first. If no queue exists and the active event has a teleport location, it still supports the old teleport behaviour as a legacy fallback.


Queue bossbar and countdown titles

Manual queues can show a bossbar while the queue is open.

participation:
queue-bossbar:
enabled: false
title: "&ePreparing for &f{event_display} &8| &f{time_left} &8| &7Joined: &f{players}&8/&f{max_players}"
color: YELLOW
style: SOLID

Manual queues can also show 3, 2, 1, GO title countdowns.

participation:
queue-countdown:
enabled: false
seconds:
- 3
- 2
- 1
title: "&e{seconds}"
subtitle: "&f{event_display} &7starts soon..."
go-title: "&aGO!"
go-subtitle: "&f{event_display} &7has begun!"
fade-in: 0
stay: 20
fade-out: 10

The GO title is only shown if the queued event actually starts.


Manual scoring protection

Manual events are protected by a central score gate.

For participation.mode: MANUAL:

Only queued players can score
Non-queued players are ignored by objective scoring
Non-queued players do not appear on the leaderboard
Non-queued players do not receive participation rewards

For participation.mode: AUTOMATIC, events behave like previous EventForge versions.

The protection is applied centrally, so it covers built-in objectives, custom objective sessions, admin score commands, and public API score methods.


PlaceholderAPI additions

v1.0.3 adds placeholders for votes, scheduled votes, and queues.

Vote placeholders include:

%eventforge_vote_enabled%
%eventforge_vote_active%
%eventforge_vote_time_left%
%eventforge_vote_total_votes%
%eventforge_vote_options%
%eventforge_vote_option_ids%
%eventforge_vote_winner%
%eventforge_vote_winner_display%
%eventforge_vote_count_<event_id>%
%eventforge_vote_option_<event_id>%

Scheduled vote placeholders include:

%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>%

Queue placeholders include:

%eventforge_queue_active%
%eventforge_queue_event%
%eventforge_queue_event_display%
%eventforge_queue_time_left%
%eventforge_queue_players%
%eventforge_queue_min_players%
%eventforge_queue_max_players%
%eventforge_queue_joined%
%eventforge_queue_<event_id>_active%
%eventforge_queue_<event_id>_time_left%
%eventforge_queue_<event_id>_players%
%eventforge_queue_<event_id>_joined%

Public API additions

The public API version now reports:

1.0.3-release

New API services include:

EventVoteService
ScheduledVoteService
EventQueueService

New immutable snapshot objects include:

EventVoteInfo
ScheduledVoteInfo
EventQueueInfo

These APIs are snapshot-based and do not expose internal runtime objects such as vote sessions, queue objects, scheduler tasks, or mutable maps.


Bukkit API events

v1.0.3 adds Bukkit events for voting, scheduled voting, and queues.

Manual vote events:

EventForgeVoteStartEvent
EventForgeVoteCastEvent
EventForgeVoteEndEvent
EventForgeVoteCancelEvent

Scheduled vote events:

EventForgeScheduledVoteStartEvent
EventForgeScheduledVoteSkipEvent

Queue events:

EventForgeQueueOpenEvent
EventForgeQueueJoinEvent
EventForgeQueueLeaveEvent
EventForgeQueueStartEvent
EventForgeQueueCancelEvent

Queue start events only fire when the queued event successfully starts.

Queue cancel events can report reasons such as:

NOT_ENOUGH_PLAYERS
START_FAILED

Validation improvements

/eventforge validate was expanded to check more runtime and config problems.

New validation coverage includes:

invalid TextEffect mode
scheduled voting config
scheduled vote intervals
scheduled vote durations
scheduled vote options
duplicate scheduled vote options
invalid scheduled vote randomize amount
scheduled vote announce-before values
participation default mode
queue bossbar color
queue bossbar style
queue countdown seconds
queue countdown title timing
event participation mode
queue duration
min/max queue player limits
lobby world
lobby height
lobby pitch

schedule_config.yml can also be checked directly:

/eventforge validate schedule_config.yml

Sound compatibility

Sound playback was updated to avoid risky enum lookups on older 1.21 builds.

Configs can use formats such as:

sound: ENTITY_PLAYER_LEVELUP
sound: entity.player.levelup
sound: minecraft:entity.player.levelup

Dialogue sounds use the same safer sound handling.


Template polish

Bundled templates were updated for v1.0.3.

They now include:

variables:
event_plain_name: "Example Event"

This gives server owners a clean text value to use inside optional TextEffect tags.

Templates also include updated participation comments, optional TextEffect notes, and metadata updated from 1.0.2 to 1.0.3.


Compatibility summary

EventForge v1.0.3 avoids risky version-specific systems.

This update does not add:

NMS
ProtocolLib
packet sidebar rendering
direct TextEffect internals
Sound enum lookup
Bukkit scoreboard JSON hacks

Supported platforms remain:

Spigot 1.21 - 1.21.11
Paper 1.21 - 1.21.11
Purpur 1.21 - 1.21.11

Java 21 is recommended.


Summary

EventForge v1.0.3 is a major premium event presentation and player-choice update.

It adds optional animated TextEffect display support, full manual and scheduled event voting, and a complete manual queue/hype phase system. Server owners can keep classic automatic participation or enable manual queue mode for more polished competitions.

The update also expands PlaceholderAPI, validation, and the public API with safe immutable snapshots and Bukkit events for voting, scheduled voting, and queues.