Last updated
StoneHaven Essentials
SwornHero's custom Fabric utility mod for StoneHavenSMP, featuring server information, clickable links, and staff alerts with optional Milo integration.
StoneHaven Essentials is a custom utility mod developed by SwornHero(opens in a new tab) for StoneHavenSMP. It puts useful server information and community links directly into Minecraft, alongside a permission-controlled staff-alert command that reaches online staff in-game and offline staff on Discord through Milo.
The mod focuses on everyday communication: finding the rules, opening the live map, locating the modpack, joining Discord, and bringing an issue to staff attention.
Features at a glance
| Feature | What it provides |
|---|---|
| Server information | A welcome message, community background, and command help. |
| Rules reference | An in-game summary of community rules. |
| Clickable links | Discord, the live map, and the modpack page. |
| Short command aliases | Quick access through /discord, /map, /modpack, and /rules. |
| Staff alerts | Messages to eligible online staff in Minecraft, plus Discord notifications for offline staff via Milo. |
| Milo integration | Forwards staff-alert log entries to a Discord staff-alert channel with a staff-role mention. |
Getting started
Run these commands in Minecraft chat while connected to a server running StoneHaven Essentials:
/stonehavenDisplay the StoneHaven welcome message.
/stonehaven helpList the main information commands and short aliases.
The informational commands do not have explicit permission gates in the reviewed implementation. The staff-alert command has separate access requirements.
Command reference
| Command | Purpose |
|---|---|
/stonehaven | Show the server welcome message. |
/stonehaven about | Read about the community and its mission. |
/stonehaven help | Show the main command list. |
/stonehaven info | Display the mod name, version, platform, and developer credit. |
/stonehaven mod | Alias for /stonehaven info. |
/stonehaven rules | Display the built-in rules summary. |
/stonehaven discord | Display a clickable Discord invitation. |
/stonehaven map | Display a clickable live-map link. |
/stonehaven modpack | Display a clickable modpack link. |
Quick aliases
| Short command | Equivalent command |
|---|---|
/discord | /stonehaven discord |
/map | /stonehaven map |
/modpack | /stonehaven modpack |
/rules | /stonehaven rules |
Link messages use aqua, underlined text with a “Click to open” hover hint. Clicking opens the configured URL through Minecraft's link-handling interface, subject to your client settings.
The rules command is a convenient in-game summary. Consult the community rules and Discord for the full current policies.
Sending a staff alert
Players with the required permission can use:
/staffalert I need assistance near the Market District.Send a message to eligible online staff and notify Discord staff through Milo.
Permission: Member
Give a clear description of the issue and include a location when relevant. The command accepts the remaining text as the alert message.
When executed, the mod:
- Writes the sender and message to the server log.
- Sends a formatted alert to online players who have receive permission.
- Replies to the sender with the number of in-game recipients.
- Allows Milo to pick up the log entry and notify staff in Discord, so offline staff can respond quickly.
In Minecraft, eligible staff see a red [Staff Alert] prefix with the sender’s name and message. The sender also receives a green confirmation with the in-game recipient count:

Milo posts the same alert to the Discord staff-alert channel and mentions the Staff role, so team members who are not in-game can still see and act on it:

Alerts are not confidential messages: they are written to server logs and forwarded to Discord for staff. Avoid including private information. If you need a documented support conversation, Submit a Ticket(opens in a new tab).
How Essentials works with Milo
StoneHaven Essentials supplies the in-game command. Milo supplies the Discord-side log monitoring and notification routing so staff can respond efficiently even when they are offline.
An alert produces a line with this payload:
[STAFF_ALERT] sender="PlayerName" message="I need assistance near the Market District."
Milo’s parser recognizes this format for Minecraft player names. When its log source and destination channel are configured, it turns the entry into a Discord staff-alert embed and can mention the configured staff role.
The mod does not connect directly to Discord or require a Discord token. The connection between the two projects is the server log. Essentials still delivers in-game alerts without Milo; Discord forwarding requires the bot to be running and receiving the log stream.
Permissions
The mod uses Fabric Permissions API for staff-alert access checks.
| Permission node | Purpose |
|---|---|
stonehaven.staffalert.send | Allows use of /staffalert. |
stonehaven.staffalert.receive | Allows an online player to receive in-game alerts. |
Both checks use PermissionLevel.OWNERS as their fallback when permission resolution falls back to vanilla levels. Server operators can use a compatible permissions provider, such as LuckPerms, to grant sending and receiving independently.
Receiving alerts does not automatically grant permission to send them, and sending does not automatically grant receiving. A sender who also has receive permission can be included in the in-game recipient count.
Technical design
StoneHaven Essentials is written in Java for Fabric. Its initializer registers a command tree through Fabric API's command-registration callback, using Minecraft's Brigadier command system.
The implementation is intentionally small:
- Initializer: registers the commands and writes a startup message.
- Command class: defines commands, link destinations, formatted messages, and staff-alert behavior.
- Minecraft text components: provide colors, hover hints, and clickable URLs using the game's existing chat interface.
- Fabric Permissions API: separates staff-alert sending and receiving permissions.
- SLF4J logging: emits a consistent staff-alert payload for external processing.
The reviewed source includes template mixin classes with empty callbacks. The documented utility features come from command registration and message handling, rather than gameplay changes implemented by those mixins.
Configuration and stored data
Discord, map, and modpack links are defined in Java constants. Rules, descriptive messages, and the displayed mod version are also compiled into the code. The reviewed implementation does not expose a configuration file or reload command for these values; changing them requires editing the source and building a replacement JAR.
There is no application database or stored ticket system in the mod. Staff alerts are sent immediately to eligible online players and written to the server's existing logging system. No alert cooldown or Discord delivery acknowledgment is implemented in the reviewed command.
Platform and dependencies
The following describes the reviewed source version, not an independently verified inventory of the live server:
| Item | Declared or configured value |
|---|---|
| Mod version | 0.1.0 |
| Platform | Fabric |
| Minecraft build target | 26.2 |
| Minecraft metadata constraint | ~26.2 |
| Java requirement | Java 25 or newer; compiled for Java 25 |
| Fabric Loader requirement | 0.19.3 or newer |
| Fabric API build dependency | 0.155.2+26.2 |
| Fabric Permissions API build dependency | 0.7.0 |
| Fabric mod ID | stonehaven-essentials |
Fabric API and Fabric Permissions API are declared runtime dependencies. Server operators should install compatible versions alongside the mod.
The features are implemented through server commands and ordinary Minecraft messages, with no custom client networking shown in the reviewed implementation. A separate client installation is not needed for these command features. The manifest nevertheless declares compatibility with both environments using environment: "*"; it does not declare the package exclusively server-side. Follow StoneHaven's normal modpack instructions for the rest of the server's requirements.
Building and deployment
The project uses Gradle and Fabric Loom. With an appropriate Java 25 development environment and portable local Gradle settings, the build commands are:
./gradlew build
On Windows:
.\gradlew.bat build
Build outputs are written to build/libs/. Operators deploy the runtime mod JAR, rather than a sources JAR, to the compatible Fabric server's mods directory alongside its required dependencies, then restart the server.
After deployment, verify /stonehaven, the link commands, and the staff-alert permission checks. Where Milo is configured, verify both the server log entry and the Discord notification separately; the in-game confirmation alone cannot validate that integration.
Keep the source version, displayed information, and deployed JAR aligned when updating the mod. The version displayed by /stonehaven info is a Java constant, while the packaged metadata version is expanded from Gradle's version property.
Build workflow
The repository includes a GitHub Actions workflow for pushes and pull requests. It configures Java 25 on Ubuntu, validates the Gradle wrapper, runs ./gradlew build, and defines an artifact-upload step for build/libs/.
This is a build workflow, not automatic deployment to StoneHavenSMP. The reviewed repository does not contain a dedicated automated test suite, and the presence of the workflow does not by itself establish a successful build.
Troubleshooting
| Problem | What to check |
|---|---|
/stonehaven is missing | Staff should confirm the mod and required dependencies loaded on the connected server. |
/staffalert is unavailable | Ask staff to check stonehaven.staffalert.send and the active permissions provider. |
| Staff do not receive an in-game alert | Check that they are online and have stonehaven.staffalert.receive. |
| The confirmation says zero staff members | No online player passed the receive check. The alert was still logged. |
| No Discord alert appears | Check Milo's log source, destination channel, and bot health separately from Essentials. |
| A link is outdated | The reviewed implementation requires a source update and rebuilt JAR. |
| The displayed version differs from the JAR | The Java display constant and Gradle version may need to be synchronized. |
For player support, Submit a Ticket(opens in a new tab) with the command used, approximate time, and any visible error.
About the project
StoneHaven Essentials is developed by SwornHero for StoneHavenSMP. It is part of the community's custom tooling, combining in-game convenience with a small integration point that connects Minecraft staff alerts to Milo.
Return to Custom Mods to explore other StoneHaven-developed and maintained projects.
Related articles
Modpack
Custom Mods
StoneHaven-developed Dynamic Join Greetings, StoneHaven Essentials, and maintained Trowel Continued, created by SwornHero.
Modpack
Dynamic Join Greetings
SwornHero's custom Fabric mod for StoneHavenSMP that provides configurable first-time and returning-player welcome messages.
Commands
Commands
Player utility commands on StoneHavenSMP, including Vanilla Tweaks teleport triggers, HUD toggles, grave locations, StoneHaven Essentials, and Milo Discord commands.