CourierAPI
CourierAPI is a Fabric mod library that lets any mod send animated HUD notification cards to players — via the Java API, JSON files, or in-game commands. Supports server-to-client broadcasting and client-side local display.
CourierAPI

CourierAPI is a Fabric mod library that lets any mod send animated HUD notification cards to players — via the Java API, JSON files, or in-game commands. Supports server-to-client broadcasting and client-side local display.
---
Features
- Animated slide-in / slide-out cards in the top-right corner of the HUD - Fully customizable colors — title, description, background, and border accent (ARGB) - Configurable display duration per notification - Up to 4 notifications visible at once; extras queue automatically - Description wraps to a second line when text is too long - Client-only — send notifications via Java API or JSON files, no coding required - Client-only — display notifications locally from another client mod without a server - Drop-in `/courier` command for operators - Auto-creates a sample `couriernotifications.json` on first server start
---
For Developers
Add to your `gradle.properties`:
```properties courierapi_version=0.1 ```
Then in `build.gradle`:
```gradle repositories { maven { name = "LunazStudios" url = "https://maven.lunazstudios.com/releases" } }
dependencies { modImplementation "com.lunazstudios:CourierAPI:${project.minecraft_version}-${project.courierapi_version}" } ```
Full documentation and API usage examples are available on the GitHub repository.
---
Server API
```java Notification n = Notification.builder("Event Started!", "Head to the arena.") .durationSeconds(6) .borderColor(0xFFFF4444) .build();
CourierAPI.send(player, n); // single player CourierAPI.broadcast(server, n); // all online players ```
Client API
```java // Client-side only — do not call on a dedicated server CourierClientAPI.showLocal(n); ```
---
JSON — No Coding Required
Place `couriernotifications.json` in your server root to define reusable notifications:
```json { "restart_warning": { "title": "Server Restart", "description": "The server restarts in 5 minutes.", "duration": 8, "border_color": "#FF5555" } } ```
Trigger them in-game with `/courier send restart_warning`, or drop entries into `couriernotifications_queue.json` to dispatch from external scripts or RCON — no restart needed.
---
Commands
| Command | Description | |---|---| | `/courier send <id>` | Broadcast a notification to all online players | | `/courier reload` | Reload `couriernotifications.json` from disk |
*Requires permission level 2 (operator).*