Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
MittelRandomEvents
Make every minute on your server worth looking forward to.
Links
GitHub: https://github.com/LinsMinecraftStudio/MittelRandomEvents
Discord: https://discord.gg/9YP2UaPZhE
简体中文链接: https://www.minebbs.com/resources/mittelrandomevents-folia.18461/
QQ群: 1107921027
The Problem
You've built the map. You've designed the gameplay. You've configured the rewards. Players join, look around, and leave.
It's not that the content is bad — it's that it's static. Everything is hardcoded. Once players figure out the pattern, there's nothing left to anticipate.
MRE exists to fix that.
It won't build your maps or design your gameplay. It does exactly one thing:
It lets your server run, shift, and surprise on its own — even when you're not watching.
Event lines fire, weights roll, conditions gate. Players never know what's coming next.
Not Just Another "Timed Reward" Plugin
Most random-event plugins on the market do one of two things: broadcast a scheduled message, or hand out a random reward. Players see through it after two uses.
MRE is built on two core concepts:
- Event — what happens. A sequence of actions, with optional conditions, weight, and duration.
- Event Line — when it happens. Runs on a fixed interval or a Cron schedule, then picks a weighted event from its pool.
Natural disasters, blessings, dungeon invasions, traveling merchants, random bosses, world mutations — if you can imagine it, you can slot it in.
In short: your server gets its own fate system.
Timing, Your Way
- Fixed interval — every 30 seconds, every 5 minutes, whatever you need
- Cron expressions — 3 AM, Friday 8:30 PM, every day at noon — down to the minute
- Manual trigger — for testing or on-the-fly events, one click
Random, But Sensible
- Each event has its own weight within a line — higher weight, more frequent
- Empty event slots are supported — "nothing happens" can be part of the pool
- Condition filtering runs before selection — ineligible events don't even roll
Random doesn't mean chaotic.
Action Choreography
| Category | What it can do |
|---|---|
| Target Selection | Players / worlds (filter by permission, by world; shuffle; limit count) |
| Effects | Heal / damage / clear inventory / play sound / change weather |
| Messaging | Private message / server broadcast |
| Commands | Console or player commands, with %placeholder% interpolation |
| Flow Control | Stop remaining actions / skip the next action |
Actions run in order, and each one passes its result to the next. So you can chain things like:
Select all VIP players → run a command for each → play a sound → broadcast an announcement
A concrete example:
Every day at 20:00, there's a 30% chance a "Traveling Merchant" arrives. Server-wide broadcast + 3 random players receive a discount coupon. Lasts 10 minutes.
Condition System
11 built-in condition types: online player count, total players, world count, server TPS, server version, plugin state, player permissions, player name / world name matching, and more.
Combine them with all_of / any_of / not logic gates to build arbitrarily complex rules.
For example: "TPS above 15 AND more than 30 players online AND not during early morning hours."
If the server isn't in the right state, nothing fires.
A Beginning and an End
Events support a duration: a "start action" runs on trigger, the state persists for the duration, and an "end action" runs automatically when time is up.
Limited-time events, phased encounters, boss arrivals — events have a full lifecycle, not just a single instant.
Note: If your event temporarily modifies values, remember to restore them in the "end action."
Full GUI Configuration
Everything is configurable in-game:
A main menu leads into paginated lists for events and event lines. Create, rename, change icons, enable/disable, delete. Visually compose actions and conditions inside events; visually set weights, intervals, Cron schedules, and durations inside event lines. Start, stop, and trigger instantly.
Don't want to write YAML? You don't have to. The entire pipeline can be clicked together.

For Developers: Three Lines of Code
MRE exposes a stable integration API. Other plugins can register their own action types, events, and event lines:
MittelRandomEventsAPI.registerActionType(myAction); // register a custom action
MittelRandomEventsAPI.registerEvent(myEvent); // register a custom event
MittelRandomEventsAPI.registerLine(myLine); // register and schedule immediately
Custom contexts, custom actions, deep integration.
Compatibility
- PlaceholderAPI + MiniPlaceholders support:
%mittelrandomevents_event_count%,%mittelrandomevents_next_event_remaining%,%mittelrandomevents_current_event%, and more — so scoreboards, BossBars, and other plugins can "see" the event system - More plugin integrations on the way
What Can You Use It For?
If you want your server to do something, MRE can probably handle it:
- Survival server daily events
- RPG world random encounters
- Minigame server activities
- Seasonal and holiday events
- Dungeon and challenge mechanics
- Online player rewards
- Server announcement integration
- Cross-plugin automation pipelines
- Admin testing and ad-hoc events
You can make your server lively — or keep events restrained, rare, and mysterious. What matters isn't randomness itself; it's making every random moment fit the rhythm of your server.

