AlexInd的服务器皮肤

AlexInd的服务器皮肤

一个客户端侧的Minecraft 1.7.10 Forge模组,用于将玩家皮肤替换为从API获取的按玩家分配的皮肤。

AlexInd 的服务器皮肤模组

一个客户端侧的 Minecraft 1.7.10 Forge 模组,用于从 API 获取每位玩家的皮肤并替换默认皮肤。

工作原理

  1. 对世界中的每位玩家,发送一个 GET 请求到配置的 API URL(包含玩家昵称)
  2. API 返回一个包含皮肤 URL 的 JSON 响应
  3. 模组下载皮肤 PNG 并通过反射应用到对应玩家

配置

首次启动后,编辑 config/alexinds_server_skins.cfg

general {
    S:apiUrl=http://localhost:8000/%s
}

使用 %s 作为玩家昵称的占位符。

API

模组向配置的 URL(将 %s 替换为玩家昵称)发送 GET 请求。服务器必须返回结构如下的 JSON:

{
    "SKIN": {
        "url": "https://example.com/path/to/skin.png",
        "metadata": {}
    }
}
字段 类型 描述
SKIN.url 字符串 玩家皮肤 PNG(64x64 或 64x32)的直接 URL
SKIN.metadata 对象 预留供将来使用,传递空对象 {}

皮肤 PNG 必须能够通过直接 GET 请求访问(无重定向、无认证)。

示例服务器

example-server/server.py 中提供了一个最小化的 Python 服务器:

python example-server/server.py

将 64x64 的 PNG 皮肤放入 example-server/skins/,文件名为 <昵称>.png(例如 Notch.png)。 服务器将同时提供 JSON 端点和皮肤文件。

配置模组使用:

general {
    S:apiUrl=http://your-ip:8000/%s
}

构建

./gradlew clean build

输出:build/libs/SkinReplacer-1.0.0.jar

需求

  • Minecraft 1.7.10
  • Forge 10.13.4.1614+
  • Java 8