灵魂绑定人偶

灵魂绑定人偶

本项目在MC中,根据每位玩家的原始皮肤,添加了一个以其为标准的人偶,同时具备许多有趣的功能。

灵魂绑定玩偶

构建状态 我的世界 NeoForge Java 许可证

灵魂绑定玩偶是一个 NeoForge 1.21.1 模组,可将知名玩家转变为小型、可放置的玩家皮肤玩偶。它在服务器上记录玩家档案,允许管理员发放绑定玩偶,并在有纹理数据时,以玩家皮肤渲染绑定物品和已放置的实体。

主要特点

  • 带有 UUID 支持档案数据的玩家绑定玩偶物品。
  • 可放置的 玩家玩偶 实体,具有坐姿、站姿和可爱待机姿势。
  • 为绑定玩偶物品和已放置的玩偶提供动态玩家皮肤渲染。
  • 服务端已知玩家注册表,随世界一起保存。
  • 管理员命令(基于权限,可委派)用于列出档案、给予玩偶和刷新皮肤。
  • 客户端按玩家缓存皮肤纹理,服务端可配置在线刷新 TTL(生存时间)。
  • 可配置的自动给予、在线皮肤刷新、抚摸粒子效果和拾取权限。
  • 英文和简体中文用户文档。

兼容性

组件 版本
我的世界 1.21.1
NeoForge 21.1.18+
Java 21
模组加载器 仅 NeoForge

安装

  1. 安装一个我的世界 1.21.1 NeoForge 客户端或服务器。
  2. 从可信的发布源下载已构建的 soulbound-dolls-neoforge-1.21.1-*.jar 文件。
  3. 将 jar 文件放入实例的 mods 目录。
  4. 启动游戏或专用服务器。

发布到 Modrinth 和 CurseForge 的框架已搭建,但尚未启用,直到维护者配置好项目 ID 和令牌。

玩家流程

  1. 玩家加入一个世界或服务器。
  2. 服务器记录他们的 UUID、名称和可用的皮肤纹理数据。
  3. 如果启用了 autoGiveOwnDoll,玩家会收到一次属于自己的绑定玩偶。
  4. 也可以合成一个空白 玩家玩偶,并在首次放置时绑定到放置它的玩家。
  5. 已放置的玩偶可以被抚摸、摇晃、切换姿势、在创造模式中复制、作为头部槽位玩偶穿戴,并在权限检查通过后被拾取。

交互

玩偶大多使用原版鼠标和潜行交互。使用按键绑定来传送至绑定玩家或切换所穿戴玩偶的姿势。

动作 输入 效果
放置玩偶 手持玩偶右键点击方块表面 生成一个绑定至该玩偶档案的 玩家玩偶 实体。
切换姿势 手持任意物品右键点击已放置的玩偶 在坐姿 → 站姿 → 可爱待机之间切换。
穿戴玩偶 手持玩偶右键点击空气且头部槽位为空 在头部槽位装备恰好一个玩偶。
切换所穿戴玩偶的姿势 穿戴玩偶时按 B 键 在坐姿 → 站姿 → 可爱待机之间切换所穿戴玩偶的姿势。
抚摸 空手右键点击已放置的玩偶 播放铃声并发出心形粒子效果(如果 allowPatParticles 已启用)。
摇晃 潜行 + 攻击(左键点击)已放置的玩偶 播放摇晃动画和声音。
拾取 潜行 + 右键点击已放置的玩偶 将玩偶返还至你的物品栏,受 allowPickupByAnyone 限制。

注意:默认的所穿戴玩偶姿势按键为 B,可在我的世界的按键绑定菜单中更改。

命令

命令没有配置开关;访问权限基于权限系统:

  • 管理员(开启作弊的单人世界,或权限等级为 2 的服务器管理员)始终可以使用这些命令。
  • 管理员可以使用 /sbdoll permission grant <玩家> 将权限授予特定玩家——无需授予完整的管理员权限。使用 revoke 来收回权限,使用 list 查看谁拥有权限。
  • 被授权的玩家可以使用 list、give 和 refresh,但不能使用 permission(防止权限提升)。
/sbdoll list
/sbdoll give <目标> <原型...>
/sbdoll giveall <目标>
/sbdoll refresh <原型>
/sbdoll permission grant <玩家>     (仅限管理员)
/sbdoll permission revoke <玩家>    (仅限管理员)
/sbdoll permission list               (仅限管理员)

<原型> 可以是玩家名称或 UUID。 give 接受多个以空格分隔的名称用于批量分发;giveall 为每个已知玩家分发一个玩偶。 give 会解析任何曾登录过此服务器的玩家(通过原生的 usercache.json 档案缓存),而不仅仅是玩偶注册表中的玩家——因此你可以为任何之前加入过的玩家分发玩偶,即使在离线模式服务器上也是如此。 list 显示每个已知玩家,并标记皮肤是否已捕获(✔)或仍为默认皮肤(✘)。

配置

通用配置文件生成于:

config/soulbound_dolls-common.toml
选项 默认值 用途
autoGiveOwnDoll true 玩家登录时若缺少自己的绑定玩偶则予以发放。
enableOnlineSkinRefresh true 从 Mojang 服务刷新已知玩家的皮肤。
allowPatParticles true 抚摸玩偶时发出心形粒子效果。
allowPickupByAnyone false 允许任何人拾取已放置的玩偶,而不仅仅是创建者。
skinRefreshTtlMinutes 60 每个玩家在线皮肤刷新的最小间隔分钟数;在此时间段内将复用缓存的皮肤。
allowDollAsHelmet true 允许玩家玩偶装备在头部槽位。
enableEnderMaskProtection true 将穿戴或兼容饰品槽位的玩偶视为末影人面具。