⏰ Schedules & Conditions
EventForge can start events automatically using schedules.
You can also control when events are allowed to start using conditions and cooldowns.
Schedule section
Schedules are configured inside each event file.
schedule:
enabled: true
type: INTERVAL
every: 30m
announce-before:
- 5m
- 1m
- 30s
This starts the event every 30 minutes and announces it before it begins.
Disable a schedule
If you want an event to be started manually only, disable its schedule.
schedule:
enabled: false
The event can still be started by command, API, or compatible addons.
Interval schedules
Interval schedules repeat every configured amount of time.
schedule:
enabled: true
type: INTERVAL
every: 1h
Supported time examples:
30s
5m
1h
2d
Announce before start
Use announce-before to warn players before an event begins.
schedule:
enabled: true
type: INTERVAL
every: 30m
announce-before:
- 5m
- 1m
- 30s
This is useful for larger events where players need time to prepare.
Event cooldowns
Cooldowns stop an event from being started again too quickly.
cooldown:
enabled: true
duration: 1h
When the event finishes naturally, EventForge starts the cooldown.
While the cooldown is active, the event cannot be started manually, by schedule, by API, or through compatible addons.
Cooldown behaviour
Cooldowns work like this:
natural event finish starts the cooldown
forced stop does not start the cooldown
reload/shutdown does not start the cooldown
manual starts respect cooldowns
scheduled starts respect cooldowns
API starts respect cooldowns
Skript addon starts respect cooldowns through the API
Use cooldowns for events that should feel special, such as boss fights, relic hunts, supply drops, or larger competitions.
Cooldown persistence
Cooldowns are saved to:
plugins/EventForge/cooldowns.yml
This means cooldowns can survive restarts.
You usually do not need to edit cooldowns.yml manually.
Cooldown example
id: relic_hunt
enabled: true
display-name: "&6Relic Hunt"
duration: 5m
cooldown:
enabled: true
duration: 1h
schedule:
enabled: true
type: INTERVAL
every: 30m
announce-before:
- 1m
- 30s
In this example, the schedule checks every 30 minutes, but the event cannot start if it is still on cooldown.
Conditions section
Conditions decide whether an event is allowed to start.
conditions:
minimum-players: 2
worlds:
- world
permissions: []
blocked-permissions: []
require-op: false
require-non-op: false
time:
enabled: false
min: 0
max: 23999
weather:
allowed: []
Minimum players
Require a minimum number of online players.
conditions:
minimum-players: 5
If fewer than 5 players are online, the event will not start.
World conditions
Limit an event to certain worlds.
conditions:
worlds:
- world
- world_nether
If the condition is enabled in your event setup, EventForge will check the allowed worlds before starting.
Permission conditions
Require players to have certain permissions.
conditions:
permissions:
- eventforge.events.mining
You can also block events for players with specific permissions:
conditions:
blocked-permissions:
- eventforge.blocked
OP conditions
Require operators:
conditions:
require-op: true
Or require non-operators:
conditions:
require-non-op: true
Most public events should leave both as false.
Time conditions
Minecraft time can be used as a start condition.
conditions:
time:
enabled: true
min: 0
max: 12000
Common time values:
0 = sunrise
6000 = noon
12000 = sunset
18000 = midnight
Weather conditions
You can restrict events by weather.
conditions:
weather:
allowed:
- CLEAR
Example with rain and thunder:
conditions:
weather:
allowed:
- RAIN
- THUNDER
Start checks
EventForge checks conditions before starting an event.
In v1.0.1, the API and compatible addons can also read the start result and reason.
This is useful for:
custom GUIs
Discord bots
Skript menus
admin tools
start buttons
Example reason:
Event is currently on cooldown.
or:
Not enough players online.
Full example
id: supply_drop
enabled: true
display-name: "&eSupply Drop"
duration: 10m
cooldown:
enabled: true
duration: 2h
schedule:
enabled: true
type: INTERVAL
every: 1h
announce-before:
- 5m
- 1m
- 30s
conditions:
minimum-players: 10
worlds:
- world
permissions: []
blocked-permissions: []
require-op: false
require-non-op: false
time:
enabled: false
min: 0
max: 23999
weather:
allowed: []
Troubleshooting
Scheduled event does not start
Check:
schedule.enabled is true
the schedule type is correct
the time format is valid
the event is loaded
the event is not already active
the event is not on cooldown
the event conditions pass
Event says it cannot start
Check:
minimum players
cooldown
world conditions
permission conditions
time conditions
weather conditions
Event starts once but not again
Check whether the event is on cooldown.
cooldown:
enabled: true
duration: 1h
The cooldown starts after the event finishes naturally.
Cooldown did not start
Cooldowns do not start after a forced stop, reload, or shutdown.
They start after a natural event finish.
Cooldown still exists after restart
This is expected.
Cooldowns are saved in:
plugins/EventForge/cooldowns.yml