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.

18

CourierAPI

CourierAPI Logo.

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).*

ADS