Skip to main content

๐Ÿ“œ Skript Example Scripts

EventForgeSkriptAddon includes ready-to-use Skript examples.

They are bundled inside the addon under:

example-scripts/

Copy the scripts you want into:

plugins/Skript/scripts/

Then reload Skript:

/sk reload all

Requirements

Java 21
Spigot, Paper, or Purpur 1.21 - 1.21.11
EventForge v1.0.2+
EventForgeSkriptAddon v1.0.2+
Skript

Some admin commands require:

eventforge.skript.admin

The v1.0.2 test script uses:

eventforge.admin

Included files

eventforge-admin-tools.sk
eventforge-custom-rewards.sk
eventforge-dialogues.sk
eventforge-event-browser.sk
eventforge-leaderboard.sk
eventforge-multi-objective.sk
eventforge-player-status.sk
eventforge-upcoming-events.sk
eventforge-v102-features.sk
README.txt

eventforge-player-status.sk

Adds:

/efstatus [event_id]

This script shows useful status information for one event.

It displays:

loaded state
active state
can-start state
start reason
cooldown state
cooldown remaining
time left
participants
objective count
display name
category
difficulty
tags
event variables
dialogues

Example:

/efstatus mining_rush

Use it when testing event configs, cooldowns, start conditions, and dialogue setup.


eventforge-admin-tools.sk

Adds:

/efstartsafe <event_id>
/efstopnow <event_id>
/effinishnow <event_id>
/efclearcooldown <event_id>
/efadmincheck <event_id>

Requires:

eventforge.skript.admin

/efstartsafeโ€‹

Safely starts an event only if EventForge says it can start.

It checks:

event is loaded
event can start
start reason if it cannot start

Example:

/efstartsafe mining_rush

/efstopnowโ€‹

Force-stops an active event.

/efstopnow mining_rush

Forced stops do not start cooldowns.


/effinishnowโ€‹

Finishes an event naturally.

/effinishnow mining_rush

A natural finish can process:

results
history
rewards
cooldowns

/efclearcooldownโ€‹

Clears an event cooldown.

/efclearcooldown mining_rush

Useful when testing scheduled events or reward flows.


/efadmincheckโ€‹

Shows a short admin report for an event.

/efadmincheck mining_rush

It checks:

loaded
active
can start
start reason
cooldown remaining

eventforge-leaderboard.sk

Adds:

/efleaderboard <event_id>
/efmyscore <event_id>

/efleaderboardโ€‹

Shows the top players for an active event.

/efleaderboard mining_rush

Uses:

eventforge top player of event <event> at position <number>
eventforge top score of event <event> at position <number>

/efmyscoreโ€‹

Shows the player's own score and rank.

/efmyscore mining_rush

Uses:

eventforge score of player in <event>
eventforge rank of player in <event>

eventforge-event-browser.sk

Adds:

/efevents
/efcategory <category>
/eftag <tag>
/efdifficulty <difficulty>

/efeventsโ€‹

Shows:

loaded event count
active event count
scheduled event count
loaded events
active events

/efcategoryโ€‹

Shows events in a category.

/efcategory Mining

Uses:

eventforge event count in category <category>
eventforge events in category <category>

/eftagโ€‹

Shows events with a tag.

/eftag pvp

Uses:

eventforge event count with tag <tag>
eventforge events with tag <tag>

/efdifficultyโ€‹

Shows events by difficulty.

/efdifficulty Easy

Uses:

eventforge event count with difficulty <difficulty>
eventforge events with difficulty <difficulty>

eventforge-upcoming-events.sk

Adds:

/efupcoming
/efnext

/efupcomingโ€‹

Shows upcoming scheduled events.

It uses:

eventforge upcoming event at position 1
eventforge upcoming time at position 1

The script checks multiple positions so players can see more than just the next event.


/efnextโ€‹

Shows the next scheduled event.

/efnext

Uses:

eventforge next scheduled event
eventforge next scheduled time

Scheduled events can still be blocked by cooldowns, conditions, or minimum player checks.


eventforge-dialogues.sk

Adds:

/efdialogues <event_id>
/efdialogue <event_id> <dialogue_id>
/efcanceldialogue

/efdialoguesโ€‹

Lists dialogue IDs configured for an event.

/efdialogues relic_hunt

Uses:

eventforge dialogues of event <event>

/efdialogueโ€‹

Starts an EventForge dialogue for the player.

/efdialogue relic_hunt guide_intro

Uses:

start eventforge dialogue <dialogue> of event <event> for player

/efcanceldialogueโ€‹

Cancels the player's active EventForge dialogue.

/efcanceldialogue

Uses:

cancel eventforge dialogue for player

eventforge-custom-rewards.sk

Adds:

/efbonuspoints <player> <event_id> <points>
/efsetscore <player> <event_id> <score>

Requires:

eventforge.skript.admin

/efbonuspointsโ€‹

Adds points to a player in an active event.

/efbonuspoints HxZe mining_rush 10

Uses:

add <number> eventforge points to <player> for <event>

/efsetscoreโ€‹

Sets a player's score in an active event.

/efsetscore HxZe mining_rush 50

Uses:

set eventforge score of <player> for <event> to <number>

eventforge-multi-objective.sk

Adds:

/efobjectives <event_id>
/efobjectiveinfo <event_id> <objective_id>

/efobjectivesโ€‹

Shows how many objectives an event has.

/efobjectives mining_rush

Uses:

eventforge objective count of event <event>

/efobjectiveinfoโ€‹

Shows an objective's raw weight and player-facing multiplier.

/efobjectiveinfo mining_rush blocks

Uses:

eventforge objective weight of objective <objective> in event <event>
eventforge objective multiplier of objective <objective> in event <event>

Example output:

Raw Weight: 1.5
Multiplier: x1.5

Use multiplier text for player-facing displays.


eventforge-v102-features.sk

Adds:

/efv102test

It also listens to EventForge events:

on eventforge event start
on eventforge event stop
on eventforge event finish
on eventforge score change
on eventforge milestone
on eventforge reload

This script demonstrates the newer v1.0.2 Skript features.


/efv102testโ€‹

Tests text effects, variable parsing, and milestones.

/efv102test

It uses:

eventforge text effects of "<stack:rainbow,wobble>EventForge v1.0.2 text effects work!</stack>"
eventforge parsed variables of "{event_display} is using {var:event_color}variables!" for event "mining_rush"
eventforge milestone count of event "mining_rush"
eventforge milestones of event "mining_rush"
eventforge milestone display name "score_10" of event "mining_rush"
eventforge milestone threshold "score_10" of event "mining_rush"

The default example uses mining_rush, so change that event ID if your server uses a different test event.


Event start listenerโ€‹

Broadcasts a formatted message when an EventForge event starts.

on eventforge event start:
broadcast eventforge text effects of "<gradient:#22d3ed:#ffffff>Event started:</gradient> %current eventforge event display name%"

Event stop listenerโ€‹

Broadcasts when an event is force-stopped.

on eventforge event stop:
broadcast "&cEvent stopped: %current eventforge event display name%"

Event finish listenerโ€‹

Broadcasts when an event finishes naturally.

on eventforge event finish:
broadcast "&6Event finished: %current eventforge event display name%"

Score change listenerโ€‹

Sends the player their old score, new score, and score change.

on eventforge score change:
set {_p} to eventforge event player
if {_p} is set:
send "&eScore changed: &f%eventforge old score% &7-> &f%eventforge new score% &8(+%eventforge score change%)" to {_p}

Milestone listenerโ€‹

Sends a message when a player reaches an EventForge milestone.

on eventforge milestone:
set {_p} to eventforge event player
if {_p} is set:
send eventforge text effects of "<pulse:#22d3ed:#ffffff>Milestone reached:</pulse> %eventforge milestone display name%" to {_p}
send "&7Threshold: &f%eventforge milestone threshold% &7points" to {_p}

Reload listenerโ€‹

Broadcasts reload stats after EventForge reloads.

on eventforge reload:
broadcast "&bEventForge reloaded:"
broadcast "&7Loaded events: &f%eventforge reload loaded events%"
broadcast "&7Warnings: &e%eventforge reload validation warnings%"
broadcast "&7Errors: &c%eventforge reload validation errors%"
broadcast "&7Scheduled events: &f%eventforge reload scheduled events%"
broadcast "&7Registered objectives: &f%eventforge reload registered objectives%"

README.txt

The bundled README.txt gives a short overview of:

requirements
where to copy scripts
how to reload Skript
available commands
admin permission
cooldown notes
objective multiplier notes
v1.0.2 feature script

Suggested testing order

Install the addon, copy the scripts, then test in this order:

/efevents
/efstatus mining_rush
/efstartsafe mining_rush
/efleaderboard mining_rush
/efmyscore mining_rush
/efupcoming
/efv102test

For dialogue testing, use an event that has a dialogues: section:

/efdialogues relic_hunt
/efdialogue relic_hunt guide_intro
/efcanceldialogue

Common edits

Most servers will want to change:

event IDs
command permissions
message colors
broadcast wording
admin-only commands
example milestone IDs

The scripts are examples, so you can safely rename commands or split them into your own files.


Common issues

Commands are not registeredโ€‹

Check:

the script was copied into plugins/Skript/scripts/
Skript was reloaded
the file does not contain syntax errors
EventForgeSkriptAddon loaded successfully

Event status shows falseโ€‹

Check the event ID.

Use:

/eventforge validate
/eventforge errors

to confirm the event loaded correctly.


/efv102test shows empty milestone dataโ€‹

The test command uses:

mining_rush
score_10

If your event or milestone uses different IDs, edit the script before testing.


Text effects show as raw tagsโ€‹

Make sure the script sends parsed text effects:

send eventforge text effects of "<stack:rainbow,wobble>Hello</stack>"

Do not send the raw text directly unless you want the tags to be visible.


Cooldown does not start after stopping an eventโ€‹

That is expected.

Cooldowns start after a natural finish, not a forced stop.

Use:

/effinishnow <event_id>

when you want to test finish rewards and cooldowns.


Summary

The bundled Skript examples are quick starting points for server-specific EventForge integrations.

They cover:

player status commands
admin start/stop/finish tools
leaderboards
event browsing and filtering
upcoming schedules
dialogue commands
manual score editing
multi-objective info
v1.0.2 text effects
v1.0.2 variable parsing
v1.0.2 milestones
EventForge Skript events
reload stats