Events
The Events System in CrisStealCore allows server owners to create fully customizable timed events that modify gameplay mechanics, send messages, trigger visual effects, and execute console commands — all defined through simple .yml files.
📁 Folder Location
All event files are stored in:
/plugins/CrisStealCore/
├── events/
│ ├── peace_time_event.yml
│ ├── event_example.yml
│ └── ... create more if you wantEach file inside this folder represents one event. The event’s name is automatically derived from the file name.
Example:
blood-moon.yml→ event name blood-moon
⚙️ Basic Structure
Each event .yml file follows this structure:
# Enable or disable this event
enabled: true
# Duration of the event in seconds
duration: 600
# Messages displayed to players
messages:
start:
- "&c&lBlood Moon has begun!"
- "&7Mobs are stronger and lifesteal is doubled!"
end:
- "&7The &cBlood Moon &7has ended!"
interval:
- "&cBlood Moon&7 ends in &e%time_left%"
interval-seconds: 120 # Send interval message every 2 minutes
# Valid worlds where the event is active
valid-worlds:
- "world"
- "world_nether"
# BossBar settings
bossbar:
enabled: true
color: "RED"
text: "&4&lBlood Moon &7- &c%time_left%"
time-format: "%m%m %s%s" # Example: 10m 25s
# Commands executed as console
commands:
start:
- "time set night"
- "weather thunder"
end:
- "time set day"
- "weather clear"
# Visual and audio effects
effects:
particle: "SMOKE_LARGE"
sound: "ENTITY_WITHER_SPAWN"
# Multipliers for gameplay
multipliers:
lifesteal: 2.0
mob-drops: 1.5
player-kill-drops: 1.5
mob-health: 1.2
mob-damage: 1.3🧾 Configuration Options
enabled
Boolean
Enables or disables this event file.
duration
Integer (seconds)
How long the event lasts once started.
messages.start
List<String>
Messages sent to all players when the event starts.
messages.end
List<String>
Messages sent when the event ends.
messages.interval
List<String>
Periodic reminder messages shown during the event.
messages.interval-seconds
Integer
How often to show interval messages (0 = disabled).
valid-worlds
List<String>
Worlds where the event is active. Empty = all worlds.
bossbar.enabled
Boolean
Enables or disables the bossbar.
bossbar.color
String
BossBar color (BLUE, RED, GREEN, PINK, PURPLE, WHITE, YELLOW).
bossbar.text
String
BossBar text shown to players. Supports color codes.
bossbar.time-format
String
Format for %time_left% (e.g. %m%m %s%s).
commands.start
List<String>
Commands executed by console at event start.
commands.end
List<String>
Commands executed by console at event end.
effects.particle
String
Particle effect displayed when event starts.
effects.sound
String
Sound played when the event begins.
multipliers.lifesteal
Double
Multiplier for hearts stolen on player kills.
multipliers.mob-drops
Double
Multiplier for mob drops.
multipliers.player-kill-drops
Double
Multiplier for player drop chances.
multipliers.mob-health
Double
Multiplier for mob health.
multipliers.mob-damage
Double
Multiplier for mob damage dealt.
🌍 Example Events
🩸 blood-moon.yml
blood-moon.ymlDoubles lifesteal and increases mob difficulty.
enabled: true
duration: 900
messages:
start:
- "&c&lBlood Moon Rises!"
- "&7Mobs are enraged and lifesteal is doubled!"
end:
- "&7The &cBlood Moon &7has faded..."
bossbar:
enabled: true
color: "RED"
text: "&4&lBlood Moon &7- &c%time_left%"
multipliers:
lifesteal: 2.0
mob-health: 1.5
mob-damage: 1.4
effects:
particle: "SMOKE_LARGE"
sound: "ENTITY_WITHER_SPAWN"☮️ peace-time.yml
peace-time.ymlReduces lifesteal and damage to create a peaceful period.
enabled: true
duration: 600
messages:
start:
- "&a&lPeace Time has begun!"
- "&7No hearts can be stolen during this period."
end:
- "&7The world returns to chaos..."
multipliers:
lifesteal: 0.0
mob-damage: 0.8🌈 rainbow-blessing.yml
rainbow-blessing.ymlA positive event that rewards players and increases drops.
enabled: true
duration: 480
messages:
start:
- "&d&lRainbow Blessing! &7Drops are increased!"
bossbar:
enabled: true
color: "PINK"
text: "&d&lBlessing &7- &e%time_left%"
multipliers:
mob-drops: 2.0
player-kill-drops: 1.5
effects:
particle: "SPELL_INSTANT"
sound: "ENTITY_PLAYER_LEVELUP"🧨 Example: Disabled Event
enabled: false
duration: 300
messages:
start:
- "&7This event is disabled."🔧 Commands
/criscoreadmin event start <event-name>
Start a specific event manually.
/criscoreadmin event stop <event-name>
Stop an active event.
/criscoreadmin event pause <event-name>
Pause a running event.
/criscoreadmin event resume <event-name>
Resume a paused event.
/criscoreadmin event list
List all events and their current status.
⏱️ PlaceholderAPI Placeholders
%criscore_active_event%
Lists names of currently active events.
Blood Moon, Peace Time
%criscore_active_event_count%
Number of active events.
2
%criscore_event_time_<event>%
Remaining time of a specific event.
03:24
%criscore_event_active_<event>%
Whether a specific event is active (Yes / No).
Yes
🧠 How Events Work
Events persist across restarts via
events-data.yml.Multiple events can run simultaneously — all multipliers stack multiplicatively.
Events can be world-specific using the
valid-worldsoption.BossBars, messages, and commands are executed automatically.
Supports full PlaceholderAPI integration and color formatting (
&codes).Custom events can be added just by dropping new
.ymlfiles into theevents/folder.
💡 Tips
Use unique colors and thematic sounds to make each event immersive.
Combine events (e.g., Blood Moon + Double Drops) for interesting gameplay effects.
Use
%time_left%in messages to dynamically display remaining time.Remember:
enabled: falsewill completely ignore that event file.All events can be started via command or through custom scripts/plugins.
Last updated