⚙️ The
plugin automatically
launches in-game
events at specific times. Each event can have its own weight
(chance), minimum player requirement, and a set of commands to execute. Built-in placeholders display the next scheduled run and the currently selected event.
Key Features
Flexible Scheduling
- Define a list of trigger times (e.g., ["12:00","16:30","21:15"]).
- Respects configured time zone and time format.
- At each trigger time, the plugin randomly selects an event based on weighted chances.
Chance System
- Each event has a chance value. Higher numbers = higher probability.
- Selection is done with weighted randomness (cumulative chances).
Player Threshold
- Each event has a minPlayers. If the online player count is lower — event commands are not executed.
- Instead, players receive a custom notification via ActionExecutor (supports HEX colors).
Commands & Integrations
- Executes any commands as [Console] when the event starts.
- Full PlaceholderAPI support (custom expansion included).
- HEX formatting and Adventure components supported (via HexSupport + ActionExecutor).
Action Types
Actions are used for visual/notification effects and support
PlaceholderAPI (when executed
for a player):
- [BossBar] TITLE;TIME;COLOR;STYLE;PROGRESS
- [Sound] SOUND:VOLUME:РITCH
- [Message] MESSAGE
- [Console] command... (runs from console)
- [Player] command... (runs from player)
- [Effect] EFFECT
- [Broadcast] TEXT
- [ActionBar] TEXT
- [Title] TITLE && SUBTITLE
- [Particle] PARTICLE
PlaceholderAPI Hook for Actions:
- [BossBar], [Message], [Player], [ActionBar], [Title] — support all player placeholders.
- [Console], [Broadcast] — support player placeholders if the action is executed for a player.
PlaceholderAPI Expansion
Available placeholders:
- %heventsdelay_next% — full next event time (HH:mm:ss dd.MM.yyyy by default).
- %heventsdelay_next_date% — next event date (dd.MM.yyyy).
- %heventsdelay_next_time% — next event time (HH:mm:ss).
- %heventsdelay_time_left% — time left until event (e.g., 0d 1h 23m 10s).
- %heventsdelay_days_left% / %heventsdelay_total_days%
- %heventsdelay_hours_left% / %heventsdelay_total_hours%
- %heventsdelay_minutes_left% / %heventsdelay_total_minutes%
- %heventsdelay_seconds_left% / %heventsdelay_total_seconds%
- %heventsdelay_display% — formatted event display name (supports HEX).
- %heventsdelay_name% — event system name.
- %heventsdelay_percent% — current event chance value.
If no event is selected or data is missing, the value falls back to time-unknown from the config.
How It Works
- Based on the time list, the plugin waits for the next trigger (respects time-zone and time-format).
- At trigger time, an event is chosen by weighted chances.
- If online players ≥ minPlayers → event commands are executed by console.
- If online players < minPlayers → event does not start, and a notification from config.minPlayers is broadcast via ActionExecutor.
- The plugin recalculates the next scheduled trigger, available in placeholders.
Time checking runs asynchronously (non-blocking). Commands always run synchronously on the main server thread.
Configuration (main fields)
- timeZone — server time zone (e.g., Europe/Moscow).
- timeFormat — time format (e.g., HH:mm or HH:mm:ss).
- timeStart — list of trigger times, strings formatted according to timeFormat.
- timeUnknown — fallback text when event data is unavailable.
- eventsData — dictionary of events:
- name — system name (used in placeholders/logic).
- displayName — visible event name (supports HEX).
- chance — weight for random selection (> 0).
- minPlayers — minimum required players online.
- commands — list of console commands to execute when event starts.