资源图标

原创 开源 工具 BlessingSkinBridge - 修复 Blessing Skin + Geyser 外置登录皮肤/披风显示 0.1.5

完成注册/登录后下载
版权类型
原创
插件中文名称
Blessing Skin 皮肤桥
插件英文名称
BlessingSkinBridge
原帖地址
#
支持的核心(服务端)
  1. Paper
语言支持
中文(简体)
前置组件
Geyser-Spigot: https://github.com/GeyserMC/Geyser
Floodgate: https://github.com/GeyserMC/Floodgate
Blessing Skin / authlib-injector 外置登录环境
适配版本(Java)
  1. 26.x
[MD] # BlessingSkinBridge 这是一个很小的 Paper 插件,用来补 **Blessing Skin / authlib-injector + Geyser-Spigot + Floodgate** 皮肤和披风不同步的坑。 我最开始遇到的情况是:Java 玩家能看到自己的皮肤,但看不到对方的外置登录皮肤;基岩玩家能进服,但看不到 Java 玩家的皮肤;基岩玩家绑定了 Java 账号后,也看不到自己的 Java 皮肤;Java 端披风正常,基岩端披风默认没有,有些插件只显示高分辨率披风的左上角。 BlessingSkinBridge 做的事情很少:从 Yggdrasil sessionserver 读取 `textures` 属性,然后把皮肤和披风数据分别塞回 Paper 与 Geyser 需要的位置。 ## 为什么不用 SkinsRestorer / UseBlessingSkin ? 使用 Paper 26 + authlib-injector + Blessing Skin + Geyser,SkinsRestorer 会进入 degraded state,UseBlessingSkin 目前 Star 数量不多... ## 功能 - 给 Paper 登录档案注入 Blessing Skin 的 `textures` 属性 - 覆盖 Geyser 给基岩端应用的皮肤数据 - 修复基岩端看 Java 玩家皮肤 - 修复基岩端看自己绑定 Java 账号皮肤 - 给基岩端补上 Java 披风 - 把高分辨率披风完整缩放到基岩端可用的 `64x32`,避免只显示左上角 - 基岩玩家飞远再回来、实体重新生成后,会周期性/移动后补刷皮肤和披风 - 支持 `name-overrides`,处理 Geyser 玩家名和 Blessing Skin 角色名不一致的情况 ## 要求 目前只在下面这套环境里实测过: [/MD]
[MD] - Paper 26.1.2 build 65 - Geyser-Spigot 2.10.0 snapshot - Floodgate 2.2.5 snapshot - authlib-injector 1.2.7 - Blessing Skin Yggdrasil endpoint - Java 25 [/MD]
[MD] 插件内部用到了一个 Geyser 的内部类来刷新基岩玩家自己的实体皮肤。这是目前能稳定修好的路径,但也意味着 Geyser 更新内部结构后,插件可能需要跟着改。 ## 安装 ~~1.打开冰箱门~~ ~~2.把大象装进冰箱~~ ~~3.关上冰箱门~~ 1. 下载 `BlessingSkinBridge-0.1.5.jar`[/COLOR] 2. 把 jar 放进 Paper 服务端的 `plugins` 文件夹 3. 确认 `Geyser-Spigot.jar` 和 Floodgate 已经在同一个服务器上加载 4. 启动一次服务器,让插件生成配置文件 5. 修改 `plugins/BlessingSkinBridge/config.yml` 里的 `yggdrasil-url` 6. 重启服务器 配置示例: [/MD]
[MD] ```yaml yggdrasil-url: "https://example.com/api/yggdrasil" inject-paper-profiles: true override-geyser-skins: true refresh-geyser-viewers: true refresh-java-viewers: true debug: false periodic-geyser-refresh-seconds: 20 movement-refresh-blocks: 48 movement-refresh-cooldown-seconds: 8 ``` 如果 Geyser 或绑定插件给出的名字不是 Blessing Skin 里的 Java 角色名,可以手动指定: ```yaml name-overrides: "Bedrock Display Name": "JavaName" "Bedrock_User_Name": "JavaName" ``` [/MD]
[MD] ## 命令 [/MD]
[MD] ```text /bsbridge status /bsbridge reload /bsbridge refresh ``` `/bsbridge refresh` 会给在线玩家重新排一次皮肤/披风刷新。可以用于测试 [/MD]
[MD] ## 已知限制 1.只建议用于 Blessing Skin / authlib-injector 这类外置登录环境 2.目前主要面向 Paper + Geyser-Spigot,目前正在做 Bungee 架构 3.基岩端由于本身限制,无法使用 Java 端高分辨率披风 4.Geyser 内部 API 变化可能导致插件失效 许可证: MIT License[/MD]
作者
SnowSwordScholar
下载
38
查看
414
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部