Skip to main content

❓ What is EventForge?

EventForge is a configurable event framework for Minecraft servers.

It lets server owners create timed server events through YAML files, while also giving developers a public API for custom objectives, actions, dialogues, addons, and integrations.


The simple idea

Instead of coding a separate plugin for every event, EventForge gives you one framework.

You create event files like:

mining_rush.yml
mob_hunt.yml
fishing_frenzy.yml
relic_hunt.yml
seasonal_event.yml

Each event file controls things like:

how long the event lasts
how players score
what rewards are given
when the event starts
whether it has a cooldown
what messages players see
what actions run
what bossbar/sidebar is shown

Who is it for?

EventForge is useful for:

SMP servers
survival servers
prison servers
economy servers
RPG servers
seasonal event servers
small networks
server owners selling event packs
developers building EventForge addons

What can events do?

Events can:

track player scores
show bossbars and sidebars
announce results
reward participation
reward leaderboard positions
roll chance rewards
start on schedules
respect cooldowns
run conditions before starting
run actions when triggers happen
send webhooks
play dialogue sequences
store stats and history

Built-in event types

EventForge includes built-in objective types such as:

MINE_BLOCKS
KILL_MOBS
FISH_ITEMS
COLLECT_ITEMS
MOB_INVASION

These can be used to create events such as:

Mining Rush
Mob Hunt
Fishing Frenzy
Collection Rush
Mob Invasion

Custom addons can add more objective types.


One event, multiple ways to score

EventForge supports single-objective and multi-objective events.

Single-objective example:

objective:
type: MINE_BLOCKS

Multi-objective example:

objectives:
mining:
type: MINE_BLOCKS
weight: 1.0

mobs:
type: KILL_MOBS
weight: 1.5

fishing:
type: FISH_ITEMS
weight: 1.0

This makes it possible to create mixed events like:

Survival Rush
Dungeon Challenge
Seasonal Competition
Economy Weekend Event

Easier event configs with variables

Event variables let you reuse values inside an event file.

variables:
event_color: "&b"
arena_name: "Spawn Mine"
reward_name: "Mining Tokens"

Then use:

{var:event_color}
{var:arena_name}
{var:reward_name}

Example:

display-name: "{var:event_color}Mining Rush"

This is useful when you want clean, reusable configs.


Actions and triggers

Events can run actions when something happens.

Example triggers:

event-start
event-finish
event-stop
player-score

Example actions:

broadcast messages
send titles
send actionbars
play sounds
run commands
spawn particles
launch fireworks
send webhooks
run custom addon actions

Example:

triggers:
player-score:
actions:
- type: ACTIONBAR
message: "&a+{score_change} points &8| &f{new_score} total"

Dialogues

EventForge includes a dialogue engine for short NPC-style message sequences.

Example:

dialogues:
guide_intro:
lines:
- "&eGuide: &fWelcome, {player}."
- "&eGuide: &fFind the hidden relics."

EventForge does not force one NPC plugin. Addons, Skript, NPC plugins, or custom objectives can decide when to start a dialogue.


Rewards

Rewards are command-based, so they work with many existing server plugins.

Example:

rewards:
participation:
enabled: true
minimum-score: 1
commands:
- "eco give {player} 100"

leaderboard:
1:
commands:
- "give {player} diamond 3"

Chance rewards are also supported:

chance-rewards:
rare_key:
chance: 5.0
commands:
- "crate key give {player} rare 1"

Schedules and cooldowns

Events can start automatically:

schedule:
enabled: true
type: INTERVAL
every: 1h

Events can also have cooldowns:

cooldown:
enabled: true
duration: 1h

Cooldowns help stop larger events from being spammed or restarted too often.


Event packs

Event packs let you group events together.

Example:

plugins/EventForge/packs/survival-pack/
├─ pack.yml
└─ events/
├─ mining_rush.yml
└─ mob_hunt.yml

This is useful for:

seasonal packs
server mode packs
premium event packs
addon examples
drag-and-drop event bundles

Developer-friendly

EventForge provides a public Java API.

Developers can:

read loaded and active events
start, stop, and finish events
read scores and leaderboards
read stats and history
read schedules
register custom objectives
register custom actions
start dialogue sequences
listen to Bukkit events

The API is available from Maven Central:

<dependency>
<groupId>dev.hxze</groupId>
<artifactId>eventforge-api</artifactId>
<version>1.0.1-release</version>
<scope>provided</scope>
</dependency>

Skript support

EventForgeSkriptAddon lets Skript users interact with EventForge.

It can be used for:

custom admin commands
event status commands
leaderboard commands
start buttons
cooldown checks
dialogue commands
simple server-specific workflows

The addon also includes ready-to-use example scripts.


A typical setup

A simple server might have:

plugins/EventForge/events/mining_rush.yml
plugins/EventForge/events/mob_hunt.yml
plugins/EventForge/events/fishing_frenzy.yml

A larger server might have:

plugins/EventForge/packs/survival/
plugins/EventForge/packs/seasonal/
plugins/EventForge/packs/economy/

A developer setup might include:

EventForge
EventForgeSimpleExample
EventForgeAdvancedExample
EventForgeSkriptAddon

What EventForge is not

EventForge is not designed to replace every plugin on your server.

It works best as an event framework that connects with your existing setup.

For example:

Use your economy plugin for money rewards
Use your crate plugin for crate keys
Use your permissions plugin for temporary groups
Use your custom item plugin for custom content
Use EventForge to run the event logic around them

Where to start

If you are a server owner, start with:

Installation
Folder Structure
Mining Rush
Rewards
Schedules & Conditions

If you are a developer, start with:

Maven Setup
API Overview
Simple Addon Example
Custom Objectives
Action Registry

If you use Skript, start with:

Skript Addon
Skript Example Scripts