
WorldEaterNotifier
Java mod listed for Minecraft 1.21. Downloads from the MC Java Mods app on Android.
Fabric mod that monitors world eaters and trenchers, sending Discord notifications with per‑event ping control when they stop or get obstructed.
⬇ Download on ModrinthWorldEaterNotifier
Fabric mod that monitors world eaters and trenchers, sending Discord notifications with per‑event ping control when they stop or get obstructed.
What is it?
Fabric mod that monitors world eaters (TNT-based), trenchers, and bedrock breakers (block destruction-based), sending Discord webhook notifications with per‑event ping control and fully customizable messages when they stop, start, or get obstructed.
Documentation
For a complete guide on how to configure all the features please visit the documentation: WorldEaterNotifier Documentation
Features
- Real-time monitoring: Tracks world eaters (TNT count), trenchers, and bedrock breakers (block destruction).
- Discord integration: Sends instant notifications when a machine starts, stops, resumes, or is manually stopped.
- Customizable messages: Every notification message is configurable per machine type via JSON — use
{type}and{name}placeholders. - Role-based notifications: Mention specific Discord roles with per‑event toggles (global, start, manual stop, stuck, resumed, server shutdown). All configurable in‑game via commands.
- Discord bot mode: JDA-powered bot with interactive toggle button and slash commands (
/config,/worldeater start|stop|list,/trencher start|stop|list,/bedrockbreaker start|stop|list) with autocomplete. - Configurable thresholds: Stop timeout, minimum TNT count / blocks broken per machine type.
- Multi-world support: Monitor machines across different dimensions.
- Persistent configuration: Machine definitions, settings, and ping toggles survive server restarts. Messages are editable in JSON.
- Server shutdown detection: Automatically stops all active machines on shutdown and notifies Discord.
Installation
Clone the repository:
git clone https://github.com/CodeW4VE/WorldEaterNotifier.git cd WorldEaterNotifierBuild the mod:
./gradlew buildCopy the generated
.jarfile frombuild/libs/to your server'smodsfolder:cp build/libs/worldeaternotifier-*.jar /path/to/server/mods/Create a
worldeaternotifier-config.jsonfile in your server'sconfigdirectory with Discord webhook and world eater settings.
Configuration
The mod creates config/worldeaternotifier.json on first run. You can edit it manually or use the in‑game commands.
Example:
{
"webhookUrl": "https://discord.com/api/webhooks/...",
"pingRoleId": "123456789012345678",
"notificationMode": "webhook",
"botToken": "",
"guildId": "",
"channelId": "",
"showSubscriptionButton": true,
"memberDiscordRole": "",
"worldEaterSettings": {
"stopTimeoutSeconds": 60,
"minTntCount": 3,
"pingSettings": {
"enabled": true,
"onStart": true,
"onStop": true,
"onStuck": true,
"onResumed": true,
"onShutdown": true
},
"messages": {
"start": "{type} **'{name}'** has started.",
"stuck": "{type} **'{name}'** has stopped due to an obstruction.",
"resumed": "{type} **'{name}'** has started again.",
"manualStop": "{type} **'{name}'** was stopped manually.",
"shutdown": "{type} **'{name}'** was shut down with the server and may have broken."
}
},
"trencherSettings": {
"stopTimeoutSeconds": 180,
"minBlocksBroken": 20,
"pingSettings": {
"enabled": true,
"onStart": true,
"onStop": true,
"onStuck": true,
"onResumed": true,
"onShutdown": true
},
"messages": {
"start": "{type} **'{name}'** has started.",
"stuck": "{type} **'{name}'** has stopped due to an obstruction.",
"resumed": "{type} **'{name}'** has started again.",
"manualStop": "{type} **'{name}'** was stopped manually.",
"shutdown": "{type} **'{name}'** was shut down with the server and may have broken."
}
},
"bedrockBreakerSettings": {
"stopTimeoutSeconds": 60,
"minBlocksBroken": 1,
"pingSettings": {
"enabled": true,
"onStart": true,
"onStop": true,
"onStuck": true,
"onResumed": true,
"onShutdown": true
},
"messages": {
"start": "{type} **'{name}'** has started.",
"stuck": "{type} **'{name}'** has stopped due to an obstruction.",
"resumed": "{type} **'{name}'** has started again.",
"manualStop": "{type} **'{name}'** was stopped manually.",
"shutdown": "{type} **'{name}'** was shut down with the server and may have broken."
}
},
"worldEaters": [],
"trenchers": [],
"bedrockBreakers": [],
"whitelist": []
}
- webhookUrl: Discord webhook URL.
- pingRoleId: ID of the Discord role to mention. Leave empty or
"0"to disable all mentions. - notificationMode:
"webhook"(default) or"bot"— switches between webhook and JDA bot delivery. - botToken: Discord bot token (required for bot mode).
- guildId / channelId: Discord guild and channel for bot notifications and slash commands.
- showSubscriptionButton: Whether to show the "Toggle Ping" button on start messages (bot mode).
- memberDiscordRole: Discord role ID that gates
/worldeater start|stop|list(and trencher/bedrockbreaker equivalents) via slash commands; admins always have access. - stopTimeoutSeconds: How many seconds without activity before the machine is considered stuck.
- minTntCount / minBlocksBroken: Minimum activity per check to keep the machine alive.
- pingSettings: Per-machine-type ping toggles (
enabled,onStart,onStop,onStuck,onResumed,onShutdown) — these now persist across restarts. - messages: Customizable Discord notification messages per machine type. Use
{type}for the machine type name and{name}for the machine instance name.
Usage
- Install the mod and start your server.
- Configure delivery:
- Webhook mode (default):
/worldeater settings setWebhookUrl <url> - Bot mode:
/worldeater settings setBotToken <token>, setsetGuildIdandsetChannelId, then/worldeater settings setNotificationMode bot
- Webhook mode (default):
- Create machines:
/worldeater create <name> <x1> <y1> <z1> <x2> <y2> <z2>/trencher create <name> <x1> <y1> <z1> <x2> <y2> <z2>/bedrockbreaker create <name> <x1> <y1> <z1> <x2> <y2> <z2>(Coordinates auto‑suggest the block you stand on;Tabcompletes names.)
- Start monitoring with
/worldeater start <name>,/trencher start <name>, or/bedrockbreaker start <name>. - The mod automatically sends Discord messages when a machine stops unexpectedly (stuck), resumes, or is manually stopped.
- In bot mode, Discord slash commands mirror the Minecraft commands:
/worldeater start <name>,/worldeater stop <name>,/worldeater list(autocomplete suggests existing names)- Same for
/trencherand/bedrockbreaker /config pings— interactive flow to toggle per-machine-type ping settings
- Adjust settings on the fly:
/worldeater settings show,/trencher settings show,/bedrockbreaker settings show/worldeater settings setStopTimeout <seconds>/trencher settings setMinBlocksBroken <count>/worldeater settings discordPings enable trueand individual events likeonStuck false/worldeater settings showSubscriptionButton <true|false>(bot mode)/worldeater settings setMemberDiscordRole <roleId>(bot mode)- Edit notification messages directly in the JSON file.
- Use
Tabto explore all subcommands.
- Manage machines:
list,stop,deletefor all three types. - When the server shuts down, all active machines are stopped and a shutdown notification is sent.
Dependencies
- Fabric Loader
- Fabric API
- Standard Minecraft & Java libraries
Building from Source
Requires:
- Gradle 8.10.2 or higher (automatically downloaded via gradlew)
- Java 21 or higher
Build command:
./gradlew clean build
Generated artifact: build/libs/worldeaternotifier-*.jar
License
MIT © froyln
- Edition: Minecraft Java
- File type: .jar
- Minecraft version listed: 1.21.11
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Modrinth — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
- Ships as worldeaternotifier-1.21.11-1.3.0.jar — drop this file into the mods folder
- Download size: 15.4 MB
- Download link checked 8 Oct 2026 — working
These come from our own check of the pack file, not from the source page.