CourierAPI

CourierAPI

CourierAPI是一个Fabric模组库,允许任何模组通过Java API、JSON文件或游戏内命令向玩家发送动画化HUD通知卡片。支持服务器到客户端的广播以及客户端本地显示。

CourierAPI 标志

CourierAPI 是一个 Fabric 模组库,能让任意模组通过 Java API、JSON 文件或游戏内命令向玩家发送带有动画效果的 HUD 通知卡片。支持服务器至客户端的广播以及客户端本地的独立显示。


功能特点

  • HUD 右上角动画滑入/滑出卡片
  • 完全可自定义的颜色 — 标题、描述、背景和边框强调色(ARGB)
  • 每条通知可独立配置显示时长
  • 最多同时显示 4 条通知;超出部分自动排队
  • 描述文本过长时会自动换行至第二行
  • 服务器 → 客户端 — 通过 Java API 或 JSON 文件发送通知,无需编码
  • 仅客户端 — 从另一个客户端模组本地显示通知,无需服务器
  • 为管理员提供即用的 /courier 命令
  • 首次启动服务器时自动创建示例文件 couriernotifications.json

面向开发者

添加到你的 gradle.properties:

courierapi_version=0.1

然后在 build.gradle 中:

repositories {
    maven {
        name = "LunazStudios"
        url  = "https://maven.lunazstudios.com/releases"
    }
}

dependencies { modImplementation "com.lunazstudios:CourierAPI:${project.minecraft_version}-${project.courierapi_version}" }

完整的文档和 API 使用示例可在 GitHub 仓库中找到。


服务器 API

Notification n = Notification.builder("活动已开启!", "请前往竞技场。")
        .durationSeconds(6)
        .borderColor(0xFFFF4444)
        .build();

CourierAPI.send(player, n); // 发送给单个玩家 CourierAPI.broadcast(server, n); // 广播给所有在线玩家

客户端 API

// 仅限客户端 – 不要在专用服务器上调用
CourierClientAPI.showLocal(n);

JSON — 无需编码

将 couriernotifications.json 放置在服务器根目录,以定义可复用的通知:

{
  "restart_warning": {
    "title": "服务器重启",
    "description": "服务器将在5分钟后重启。",
    "duration": 8,
    "border_color": "#FF5555"
  }
}

在游戏中通过 /courier send restart_warning 触发,或向 couriernotifications_queue.json 中添加条目,即可从外部脚本或 RCON 派遣通知——无需重启服务器。


命令

命令 描述
/courier send <id> 向所有在线玩家广播一条通知
/courier reload 从磁盘重新加载 couriernotifications.json

需要权限等级 2(管理员)。