/physique
体质的管理入口。定义本身是数据包,授予、移除和开关则是实体身上的状态:这一页是操作这三件事的地方,也是「关闭但不失去」那个模块在体质一侧的管理员侧入口(模块没有玩家界面)。
| 命令 | 作用 |
|---|---|
/physique list [<目标>](= /mxt physique list) | 列出持有的体质:名字、品质与是否生效(叠加时同名只列一行)。不填目标时看自己,查询不需要权限。 |
/physique grant <目标s> <体质> | 授予体质(gamemaster)。持有条件 holder_condition 不满足、与已持有体质的互斥标签相冲或定义不存在时,逐个目标报出原因。 |
/physique remove <目标s> <体质> | 移除该体质,连同它给的属性与一切授予。 |
/physique enable / disable <目标s> <体质> | 与灵根同义的开关:关闭后属性修正、授予能力与两个伤害倍率全部不生效,但体质仍然被持有。 |
「品质」那一栏读的是定义自己声明的 quality;定义没声明、或者那份定义当前包已经不提供时,这一栏写 -。信息面板里体质那一行画的是「定义名 · 品质名」,没声明品质时那半段整个不画。
授予与移除走的是数据包行为 mxt:grant_physique / mxt:remove_physique 等同一套服务,所以持有条件、互斥标签与来源清理完全一致,命令不会绕过任何一条校验。失败按目标逐个报告,原因写在后面。
<体质> 的补全只列出注册表里当前存在的定义。身体仍然持有、而当前包已经不提供的条目(文件被删,或被 neoforge:conditions 挡在注册表之外)要手打 ID:这几个参数不校验条目是否存在,手打的 ID 照常被接受,而 remove / enable / disable 都按身体持有的那条引用来找、不回查注册表,所以这条引用救得回来。附件里存的是那份 Holder 本身,它在两次世界加载之间不会自己消失——附件只在世界加载时解码(/reload 不重解),而那一刻找不到定义的引用会被容错列表丢掉,所以重新进一次世界之后这一条就没了。
体质没有绑定元素,所以列表里就没有元素那一栏。
顶层别名 /physique 由服务端配置的**「命令别名」标签页**控制(条目名 physique,默认开启);关闭后 /mxt physique 照旧可用。