更好的附魔命令
更好的附魔命令,在使用 /enchants 和 /give 时增强你的创意玩法。
Better Enchant Commands
通过扩展附魔等级、简化语法、预设以及经过审计的确认/撤销工作流,覆盖 /enchant、/give 及相关命令,适用于 Minecraft 1.21.x。
原版 /enchant 拒绝非整数等级,并在附魔自身规定的上限处封顶。原版 /give 需要为附魔物品编写冗长的组件语法。Better Enchant Commands 替换了这两个核心命令,并新增了若干工作流辅助功能,全部要求 op 等级 2,并由结构化审计日志提供支持。
特性
/enchant —— 超越原版限制的附魔
原版 /enchant 的直接替代品。可将任意附魔应用到玩家手持物品上,等级为 1–255。
/enchant @s minecraft:sharpness 255/enchant aGamingGod minecraft:protection 10/enchant list
/enchant list 会打印执行命令的玩家手持物品上的附魔。
/give —— 内联附魔语法
原版 /give 的直接替代品。不带附魔使用时,行为与原版完全一致。追加可选的 enchantments: 块即可立即获得附魔物品:
/give @s minecraft:netherite_chestplate enchantments:protection:10,unbreaking:3/give @s minecraft:diamond_sword 1 enchantments:sharpness:255,fire_aspect:5,looting:10
minecraft: 命名空间是可选的 —— sharpness:255 即可使用。无需 JSON、无需方括号、无需引号。Tab 补全会将候选过滤为与所选物品实际兼容的附魔。
/enchantpreset —— 保存并重放附魔组合
/enchantpreset save <name>—— 保存当前手持物品的附魔/enchantpreset apply <name> <targets>/enchantpreset delete <name>/enchantpreset list
名称经过校验(1–64 个字符,A–Z、a–z、0–9、_、-)。被跳过的空手目标会在输出中报告。
/unenchant、/enchantinfo、/enchantlist
清理与检查辅助命令:
/unenchant <targets>—— 移除所有附魔/unenchant <targets> <enchantment>—— 移除单个附魔/enchantinfo—— 查看手持物品的完整详情/enchantlist [filter]—— 附魔注册表列表,可选过滤
/repair —— 一条命令修复装备
发放任意物品的副本,并预先应用经验修补(以及在兼容时应用耐久 III)。反射式兼容性查找按会话缓存,因此重复调用很快。
/enchants —— 批量操作、撤销与配置
/enchants undo—— 恢复你上一次的批量修改/enchants confirm <token>—— 完成需要确认的批量操作/enchants status/enchants allow_all_enchantments true|false
影响目标数超过 confirmation_threshold 的操作需要短期令牌 —— 再也不会发生意外“给整个服务器附魔”的事故。撤销是按操作者限制的有界双端队列(默认 8 条)。
设计亮点
- 故障安全校验。 附魔字符串会先解析为完全校验过的
(Identifier, level)对,然后才会触碰任何物品。解析失败时物品保持不变。 - 结构化审计日志。 每个特权操作都会发送到专用的 SLF4J
[AUDIT]logger,包含经过清理的操作者、目标和标签字段 —— 可安全接入日志聚合管道。 - 日志注入防护。 任何来自玩家输入的字符串在格式化进日志行之前都会移除 ASCII 控制字符,因此精心构造的计分板名称无法伪造或破坏审计条目。
- 有界批量修改。 影响目标数超过
confirmation_threshold的命令需要基于令牌的确认往返。 - 反射式兼容层。 权限检查、注册表查找和组件读取通过按类缓存的方法形态启发式解析,因此同一个 jar 可在所有 1.21.x 次要版本上运行而无需重新编译。
- 零 mixin。 纯 Fabric API 命令注册 —— 与其他模组最大程度兼容。
- 仅服务端。 客户端无需安装该模组。
为什么选择 Better Enchant Commands?
- 直接替代。 直接覆盖原版
/enchant和/give;核心工作流无需记忆新命令。 - 完全向后兼容。
/give @s diamond 64仍与原版完全一致。 - 轻量。 约 105 KB,仅服务端,无 tick 钩子,无 mixin。
- 防崩溃。 每条代码路径都有防御性包装;畸形输入会给出有帮助的错误消息,绝不会导致服务器崩溃。
- 跨版本。 基于 1.21 基础构建 —— 可在每个 1.21.x 子版本上运行而无需重新编译。
- 预设驱动工作流。 一次保存标准配装;用一条命令将其应用到任意数量的玩家。
- 审计追踪。 操作者可为其附魔了什么、给谁附魔以及何时附魔负责。
要求
- Minecraft 1.21.x(任意子版本)
- Fabric Loader 0.16.0+
- Fabric API
权限
所有命令需要 操作者等级 2,与原版 /enchant 和 /give 一致。
技术说明
Better Enchant Commands 直接写入物品堆叠上的 DataComponents.ENCHANTMENTS 组件,绕过原版的等级校验但执行自己的边界(1–255)。附魔的存储方式与原版附魔完全一致 —— 没有自定义数据,也不会与其他读取你物品的模组产生兼容性问题。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。