Cobblemon 角色

Cobblemon 角色

一个为Cobblemon添加带增益效果和指令角色的模组

Cobblemon Characters

运行 /character 命令,一个全屏选择器便会打开——一排角色,每个角色都以 自己皮肤的 3D 立体模型 呈现,并且会随着你的光标转动。选择一个,点击 SELECT,服务器便会接管后续操作:传送你、设置你的游戏模式、赋予你增益效果——一切取决于该角色所配置的功能。只需选择一次,这便是你的身份。

这不仅仅是一个菜单——服务器会基于你的选择执行操作。 客户端负责绘制界面并渲染 3D 皮肤;服务器端负责运行命令并保持增益效果生效。这是一个 Jar 文件,environment: "*"——客户端和服务器端使用的 是同一个文件。


功能特性

  • 命令打开角色选择器 —— /character (或 /choose character) 会打开一个独立面板,每个角色一个带边框的卡片:包含名称横幅、实时 3D 皮肤、一个 SLIM / CLASSIC 模型切换开关,以及一个 SELECT 按钮。
  • 真实的 3D 皮肤预览 —— 每个卡片都会将角色的实际 64×64 Minecraft 皮肤 渲染为一个站立的玩家模型 (头部会跟随鼠标转动)。皮肤文件存放在服务器上,在打开菜单时流式传输给客户端——玩家无需自行准备文件。
  • 选择即执行命令 —— 每个角色都带有自己的命令列表,从服务器控制台 (操作等级 4,因此 /tp、/gamemode、/give、/lp... 等均可正常使用) 运行,并支持占位符 {player} · {uuid} · {character} · {display_name}。命令在你做出选择的瞬间 一次性 触发。
  • 持续增益效果 —— 药水效果每秒重新应用一次,类似信标机制,只要你是该角色便会一直生效。这些效果在重新登录后依然存在 (并在加入时自动重新应用)。配置即策略——选择适合该角色的配置组合即可。
  • 默认一次性选择 —— 在确认之前,你可以随意重新打开菜单;选择后即锁定,由服务器权威判定并保存至世界存档。修改过的客户端无法绕过此机制。授予 goodcharacters.reselect 权限可允许玩家再次选择。
  • 即插即用的角色 —— 一个新角色只是一个包含 character.json 和皮肤 texture.png 的文件夹;在 menu.json 中启用并排序即可。无需编写代码。
  • 管理员工具 —— /character reload (热重载配置) 和 /character select <id> <player> (强制应用)。可按角色设置 permission 权限门槛,以实现可选的 VIP 角色功能。

配置 (config/cobblemon-characters/)

  • menu.json —— 包含 title、subtitle 和 active (在选择器中显示的角色 ID 的有序列表)。
  • characters/<id>/character.json —— 包含 display_name、texture、slim (Alex 3px 与 Steve 4px 手臂模型)、description、permission、commands[] 和 buffs[] (每个包含 effect 和 amplifier)。
  • characters/<id>/texture.png —— 角色的 64×64 Minecraft 皮肤。
  • 选择记录按世界持久化保存在 data/cobblemon_characters_selections.json 中——删除某个条目即可解除该玩家的一次性选择。

环境要求

Minecraft 1.21.1 — Fabric · Fabric API · 需安装在 服务器端和客户端

Fabric
必需 Fabric API

无需 Kotlin,不强制依赖 Cobblemon——它可在任何 Fabric 1.21.1 服务器上运行,并可直接放入 Cobblemon 整合包中使用(Fabric API 通常已包含在内)。


保留所有权利 · 开发者:igorbescobar