🚀 EventForge v1.0.2 Release
EventForge v1.0.2 is a large framework update focused on wider server support, better validation tools, more event visuals, new objective types, public API improvements, and updated addon examples.
This version also moves EventForge from a Paper-focused build to a Spigot-compatible build.
v1.0.2 is a strong update for both server owners and addon developers. It adds more ready-to-play content while also making the public API much more useful.
Highlights
Spigot support
/eventforge validate
/eventforge errors
More PlaceholderAPI placeholders
Public VariableService
Public ActionService
Public TextEffectService
Animated titles
Animated actionbars
Animated bossbar text
CAPTURE_ZONE objective
VISIT_REGIONS objective
INTERACT_BLOCKS objective
Event milestones
Improved template installer
Mob Invasion empty-area wave pause
/events join <event>
Updated ready-to-play templates
Updated Simple Example addon
Updated Advanced Example addon
Updated Skript addon
Protected built-in API registrations
Spigot support
EventForge now supports:
Spigot 1.21 - 1.21.11
Paper 1.21 - 1.21.11
Purpur 1.21 - 1.21.11
This makes EventForge easier to use on more server setups.
New validation commands
v1.0.2 adds:
/eventforge validate
/eventforge validate <event>
Use this to check event files without starting them.
It helps catch:
YAML mistakes
missing objective sections
invalid materials
invalid particles
wrong configuration paths
bad template setup
New error report command
v1.0.2 adds:
/eventforge errors
/eventforge errors <event>
This shows the latest validation or reload problems without searching through console logs.
Message cleanup
More command output now comes from:
messages.yml
Improved areas include:
event lists
active events
leaderboards
schedules
dialogue command output
/events console output
validation messages
error report messages
template installer messages
join messages
PlaceholderAPI improvements
v1.0.2 adds more PlaceholderAPI placeholders for:
active events
next scheduled event
player stats
event status
event cooldowns
event metadata
player score
player rank
participant count
Examples:
%eventforge_active_names%
%eventforge_next_event%
%eventforge_next_event_time%
%eventforge_player_total_score%
%eventforge_player_events_played%
%eventforge_player_wins%
%eventforge_event_mining_rush_active%
%eventforge_event_mining_rush_time_left%
%eventforge_event_mining_rush_player_score%
%eventforge_event_mining_rush_player_rank%
Public VariableService
v1.0.2 adds:
EventForgeAPI.getVariableService()
Addon developers can now parse EventForge variables properly instead of duplicating {var:key} logic.
Example:
EventForgeAPI.getVariableService().parse(eventId, text);
EventForgeAPI.getVariableService().parse(eventId, player, text);
This is useful for addon messages, custom objectives, custom actions, and external integrations.
Public ActionService
v1.0.2 adds:
EventForgeAPI.getActionService()
Addon developers can now execute EventForge actions through the official action system.
Supported through the shared action system:
MESSAGE
BROADCAST
TITLE
ACTIONBAR
SOUND
COMMAND
EFFECT
PARTICLE
FIREWORK
WEBHOOK
ANIMATED_TITLE
ANIMATED_ACTIONBAR
This means addons can reuse the same action behaviour as normal EventForge event configs.
Public TextEffectService
v1.0.2 adds:
EventForgeAPI.getTextEffectService()
Text effects can be used by EventForge and addons through the same parser.
Supported effects include:
<rainbow>Text</rainbow>
<reverse-rainbow>Text</reverse-rainbow>
<gradient:#22d3ed:#ffffff>Text</gradient>
<alternate:#22d3ed:#ffffff>Text</alternate>
<striped:#22d3ed:#ffffff>Text</striped>
<pulse:#22d3ed:#ffffff>Text</pulse>
<blink:#ffffff:#555555>Text</blink>
<wave:#22d3ed:#ffffff>Text</wave>
<scan:#777777:#ffffff>Text</scan>
<shimmer:#22d3ed:#ffffff>Text</shimmer>
<wobble:#22d3ed:#ffffff>Text</wobble>
<jump:#22d3ed:#ffffff>Text</jump>
<solid:#22d3ed>Text</solid>
<fire>Text</fire>
<ocean>Text</ocean>
<ice>Text</ice>
<magic>Text</magic>
<toxic>Text</toxic>
<sunset>Text</sunset>
<stack:rainbow,wobble>Text</stack>
<effects:fire,jump>Text</effects>
Legacy colour codes inside effect tags are cleaned up safely, so display names like &aCollection Rush do not show raw &a inside gradients.
Animated titles
v1.0.2 adds:
ANIMATED_TITLE
Example:
- type: ANIMATED_TITLE
frames:
- title: "<stack:rainbow,wobble>{event_display}</stack>"
subtitle: "&7Starting..."
fade-in: 5
stay: 40
fade-out: 10
interval: 5
Animated titles support:
placeholders
variables
text effects
animation ticks
tracked cancellation
Animated actionbars
v1.0.2 adds:
ANIMATED_ACTIONBAR
Example:
- type: ANIMATED_ACTIONBAR
frames:
- message: "<pulse:#22d3ed:#ffffff>+{score_change} points</pulse> &8| &7Total: &f{new_score}"
duration: 30
interval: 5
Animated actionbars are useful for player score feedback, milestone progress, event warnings, and short event messages.
Tracked animation manager
Animated title and actionbar tasks are now tracked internally.
They are cancelled safely when:
event stops
event reloads
all events stop
plugin disables
This prevents delayed animation frames from continuing after an event has ended.
Animated bossbar text
Bossbars can now rotate through configurable frames.
Example:
bossbar:
enabled: true
text: "&e{event_display} &8| &f{time_left}"
color: YELLOW
style: SOLID
animated-text:
enabled: true
interval: 20
frames:
- "<stack:rainbow,wobble>{event_display}</stack> &8| &f{time_left}"
- "&eScore: &f{score} &8| &7Rank: &e#{rank}"
- "<pulse:#22d3ed:#ffffff>Keep going!</pulse>"
This lets bossbars feel more active without needing a resource pack.
New objective: CAPTURE_ZONE
CAPTURE_ZONE is a KOTH-style objective.
It supports:
score while standing in zones
points every X seconds
contested zone handling
team field
team placeholder
zone particle rendering
capture actions
contested actions
rich placeholders
Public API classes:
CaptureZoneInfo
CaptureZoneObjectiveData
ZoneRenderInfo
Example use cases:
King of the Hill
capture zones
server war events
team capture points
PvP events
New objective: VISIT_REGIONS
VISIT_REGIONS is an exploration/checkpoint objective.
It supports:
score when entering configured regions
once-per-player visits
cooldowns
region discovery messages
region discovery actionbars
region actions
rich placeholders
Public API classes:
VisitRegionInfo
VisitRegionsObjectiveData
Example use cases:
exploration hunt
spawn tour
easter egg hunt
checkpoint event
landmark discovery
New objective: INTERACT_BLOCKS
INTERACT_BLOCKS lets players score by right-clicking configured blocks.
It supports:
vanilla blocks
ItemsAdder custom block IDs
Oraxen custom block IDs
Nexo custom block IDs
fallback materials
per-location tracking
global tracking
cooldowns
once-per-player interactions
cancel-event
success actions
cooldown actions
rich placeholders
Public API classes:
InteractBlockInfo
InteractBlocksObjectiveData
Example use cases:
bell hunt
button hunt
crate hunt
hidden object hunt
custom block interaction event
Event milestones
Events can now define score milestones.
Example:
milestones:
enabled: true
thresholds:
50:
display-name: "&e50 Points"
once-per-player: true
actions:
- type: MESSAGE
message: "&aYou reached {milestone_display}!"
- type: SOUND
sound: ENTITY_PLAYER_LEVELUP
Milestones support:
per-player tracking
score threshold detection
milestone actions
milestone placeholders
public API event
Milestone placeholders include:
{milestone}
{milestone_display}
{milestone_threshold}
{old_score}
{new_score}
{score}
{score_change}
Public API:
EventMilestoneInfo
EventForgePlayerMilestoneEvent
Improved template installer
Template installation now supports overwrite confirmation.
/eventforge installtemplate <template>
/eventforge installtemplate <template> confirm
This makes updating bundled templates safer because EventForge will not overwrite an existing installed event unless you confirm it.
Mob Invasion polish
Mob Invasion now supports:
start-requirements:
require-player-nearby: true
radius: 50
empty-area:
pause-waves: true
radius: 50
join:
enabled: true
world: world
x: 0
y: 70
z: 0
yaw: 0
pitch: 0
New player command:
/events join <event>
This helps stop waves from spam-completing when nobody is near the invasion area.
Updated ready-to-play templates
New bundled templates:
capture_zone.yml
exploration_hunt.yml
interact_blocks_hunt.yml
Existing templates were also updated to showcase v1.0.2 features while staying vanilla-friendly.
Protected built-in API registrations
Built-in action and objective registrations are now protected.
Protected built-in objectives:
MINE_BLOCKS
KILL_MOBS
FISH_ITEMS
COLLECT_ITEMS
MOB_INVASION
CAPTURE_ZONE
VISIT_REGIONS
INTERACT_BLOCKS
Protected built-in actions include:
ANIMATED_TITLE
ANIMATED_ACTIONBAR
This prevents addons from accidentally unregistering EventForge core systems.
Updated EventForgeSkriptAddon
EventForgeSkriptAddon was updated for v1.0.2.
Added new Skript expressions:
eventforge text effects of %string%
eventforge text effects of %string% at tick %number%
eventforge parsed variables of %string% for event %string%
eventforge parsed variables of %string% for event %string% and player %player%
eventforge milestone count of event %string%
eventforge milestones of event %string%
eventforge milestone threshold %string% of event %string%
eventforge milestone display name %string% of event %string%
Added new Skript events:
on eventforge event start
on eventforge event stop
on eventforge event finish
on eventforge reload
on eventforge score change
on eventforge milestone
Added event-context expressions:
current eventforge event id
current eventforge event display name
eventforge event player
eventforge old score
eventforge new score
eventforge score change
eventforge milestone id
eventforge milestone display name
eventforge milestone threshold
eventforge reload loaded events
eventforge reload validation warnings
eventforge reload validation errors
eventforge reload scheduled events
eventforge reload registered objectives
New example script:
eventforge-v102-features.sk
Updated Simple Example addon
EventForgeSimpleExample was updated to demonstrate v1.0.2 API features.
Added command examples:
/efsimple texteffects <text>
/efsimple parse <event> <text>
/efsimple milestones <event>
It now demonstrates:
TextEffectService
VariableService
EventInfo#getMilestones()
EventMilestoneInfo
EventForgePlayerMilestoneEvent
Updated Advanced Example addon
EventForgeAdvancedExample was updated to demonstrate advanced v1.0.2 API usage.
It now showcases:
custom objective registration
custom action registration
VariableService
TextEffectService
animated title/actionbar/bossbar config
event milestones
milestone placeholders
dialogue integration
custom objective scoring
The bundled relic_hunt.yml example was updated to v1.0.2.
Summary
EventForge v1.0.2 adds a lot of practical value:
more supported server software
better admin debugging tools
more polished event visuals
more ready-to-play objectives
better Mob Invasion behaviour
more useful public API
updated addon examples