/enchant 附魔物品
为玩家或实体手持的物品添加附魔,受附魔兼容性与最大等级限制
/enchant 为目标手持的物品添加指定附魔,并遵循与铁砧相同的兼容性与最大等级校验。基岩版 1.19.20 起,该命令也可作用于手持武器或工具的实体,此前只能作用于玩家。
原理
附魔并不是独立存在的实体,而是作为一组「附魔条目」附着在物品堆叠的数据里。每条附魔条目由两个字段组成:附魔 ID 与等级,例如物品栏里显示为「锋利 V」的剑,底层存储的是类似 sharpness=5 这样的键值对。/enchant 命令做的事情,就是直接改写目标主手(当前选中的快捷栏栏位)中物品堆叠的附魔列表:如果物品还没有该附魔,就新增一条记录;如果已有同种附魔但等级更低,就把它提升到指定等级。
与铁砧附魔不同,/enchant 不消耗经验值,也不消耗青金石,但它复用了同一套附魔合法性规则。命令执行前,游戏会依次检查三项条件:附魔是否适用于这件物品(例如 efficiency 不能附在剑上)、是否与物品上已有的附魔冲突(例如剑上已有 smite,就无法再附 sharpness)、请求的等级是否超过该附魔的最大等级(例如 sharpness 最高为 5 级)。任何一项不满足,命令都会整体失败,物品保持原样不变。
附魔本身并不会立刻改变某个固定数值,它是在游戏需要计算时才被读取的。当你进行攻击或受到伤害时,战斗系统会遍历物品上的附魔列表,把每条附魔的等级代入对应的公式——锋利按等级提升近战伤害,保护按等级减免受到的伤害。因此附魔等级越高,代入公式的系数越大,效果越强;而正因如此,游戏才对每种附魔可达到的等级设置了上限。
/enchant 只作用于主手,不影响副手、物品栏的其他栏位、掉落物或容器内的物品,也没有对应的「清除附魔」命令来移除或降低等级。如果想要获得超过最大等级或互相冲突的附魔,只能绕过 /enchant,改用 /give 的物品组件直接生成带附魔的物品。从 1.19.20 起,/enchant 也可以作用于手持武器或工具的实体,例如手持剑的僵尸,这在之前是无法做到的。
语法
名称写法(推荐):
/enchant <玩家> <附魔名> [等级]
数值 ID 写法(旧版):
/enchant <玩家> <附魔ID> [等级]
参数
<玩家>— 目标选择器或玩家名。指定要附魔的目标,该目标必须手持物品(主手)。可填玩家名或@p、@a、@s等选择器;基岩版 1.19.20 起也可用@e选择器指向手持武器或工具的实体。<附魔名>— 附魔名称枚举(字符串)。要添加的附魔名称,不带minecraft:命名空间,例如sharpness、silk_touch。可选值见下方「常用附魔 ID」表。<附魔ID>— 整数。早期版本使用的附魔数值 ID,与附魔名等价;新版推荐改用附魔名称写法。[等级]— 整数(可选)。附魔等级,1 表示 I 级,2 表示 II 级,以此类推。省略时默认为 1;必须不小于 1,且不得超过该附魔的最大等级,否则命令失败。
常用附魔 ID
下表列出常用附魔的名称写法、最大等级与适用物品。表中 ID 均为不带命名空间的基岩版名称。
| 附魔名称 | 附魔 ID | 最大等级 | 适用物品 |
|---|---|---|---|
| 锋利 | sharpness | 5 | 剑、斧 |
| 亡灵杀手 | smite | 5 | 剑、斧 |
| 节肢杀手 | bane_of_arthropods | 5 | 剑、斧 |
| 击退 | knockback | 2 | 剑 |
| 火焰附加 | fire_aspect | 2 | 剑 |
| 抢夺 | looting | 3 | 剑 |
| 效率 | efficiency | 5 | 镐、斧、铲、锄 |
| 时运 | fortune | 3 | 镐、斧、铲、锄 |
| 精准采集 | silk_touch | 1 | 镐、斧、铲、锄 |
| 耐久 | unbreaking | 3 | 通用 |
| 经验修补 | mending | 1 | 通用 |
| 保护 | protection | 4 | 盔甲 |
| 火焰保护 | fire_protection | 4 | 盔甲 |
| 爆炸保护 | blast_protection | 4 | 盔甲 |
| 弹射物保护 | projectile_protection | 4 | 盔甲 |
| 荆棘 | thorns | 3 | 盔甲 |
| 摔落保护 | feather_falling | 4 | 靴子 |
| 深海探索者 | depth_strider | 3 | 靴子 |
| 冰霜行者 | frost_walker | 2 | 靴子 |
| 灵魂疾行 | soul_speed | 3 | 靴子 |
| 水下呼吸 | respiration | 3 | 头盔 |
| 水下速掘 | aqua_affinity | 1 | 头盔 |
| 迅捷潜行 | swift_sneak | 3 | 护腿 |
| 力量 | power | 5 | 弓 |
| 冲击 | punch | 2 | 弓 |
| 火矢 | flame | 1 | 弓 |
| 无限 | infinity | 1 | 弓 |
| 海之眷顾 | luck_of_the_sea | 3 | 钓鱼竿 |
| 饵钓 | lure | 3 | 钓鱼竿 |
| 穿刺 | impaling | 5 | 三叉戟 |
| 忠诚 | loyalty | 3 | 三叉戟 |
| 激流 | riptide | 3 | 三叉戟 |
| 引雷 | channeling | 1 | 三叉戟 |
| 多重射击 | multishot | 1 | 弩 |
| 穿透 | piercing | 4 | 弩 |
| 快速装填 | quick_charge | 3 | 弩 |
| 消失诅咒 | vanishing_curse | 1 | 通用 |
| 绑定诅咒 | binding_curse | 1 | 通用 |
示例
为最近玩家手持的剑附锋利 V:
/enchant @p sharpness 5
为最近玩家手持的剑或斧添加锋利 V,使其每次近战攻击造成更高的伤害。
为自己手持的工具附耐久 III:
/enchant @s unbreaking 3
为执行者主手的物品添加耐久 III,减少该物品在使用时损耗耐久的概率,延长使用寿命。
为所有玩家手持的工具附效率 V:
/enchant @a efficiency 5
为所有在线玩家手持的镐、斧、铲或锄添加效率 V,大幅加快对应方块的破坏速度。
省略等级参数,附精准采集 I:
/enchant @p silk_touch
[等级] 参数可省略,默认按 1 处理。由于精准采集最大等级就是 1,此命令让最近玩家手持的镐直接获得精准采集,采掘矿石时掉落方块本身。
为手持剑的僵尸附锋利 V:
/enchant @e[type=zombie,c=1] sharpness 5
基岩版 1.19.20 起,/enchant 可作用于手持武器的实体。此命令选中最近一只手持剑的僵尸,为其武器添加锋利 V,提升其攻击伤害。
基岩版注意
- 需要 OP 等级 1(Java 版需要 OP 等级 2)。
- 附魔 ID 写法不同:基岩版使用不带命名空间的名称(如
sharpness),Java 版使用带命名空间的资源位置(如minecraft:sharpness)。 - 目标范围不同:基岩版传统上只能作用于玩家,1.19.20 起也可作用于手持物品的实体;Java 版一直可作用于任何持有物品的实体。
- 等级下限不同:基岩版等级必须不小于 1(填 0 会失败),Java 版允许填 0。
- 版本兼容:1.19.50 起,对已持有同种附魔的物品再次执行
/enchant会直接设置为请求的等级,不再叠加;此前版本会叠加等级。 /enchant遵循铁砧规则,会校验附魔兼容性与最大等级,无法用它获得超上限或互相冲突的附魔。如需绕过这些限制,改用/give的物品组件。- 只作用于主手(当前选中的快捷栏栏位),不影响副手、其他栏位、掉落物或容器内的物品。
- 无法移除附魔或降低已有附魔的等级。
常见问题
为什么命令失败,提示附魔与物品不兼容
通常有三种原因:附魔不适用于该物品类型(例如给剑附 efficiency)、与物品上已有的附魔冲突(例如剑上已有 smite 时再附 sharpness)、或者该附魔已达到最大等级。请核对物品类型、已有附魔与请求的等级。
能否给物品附超过最大等级的附魔,例如锋利 100
不能。/enchant 会校验最大等级,超过上限(如 sharpness 超过 5)会直接失败。如果需要超出上限或互相冲突的附魔,可以改用 /give 的物品组件直接生成带附魔的物品。
能否移除或降低已附魔的等级
不能。/enchant 只能添加或提升附魔等级,没有对应的清除命令。要移除附魔,只能替换或清除该物品本身。
1.19.50 前后的重复附魔行为有何差异
1.19.50 之前,对已持有同种附魔的物品再次执行 /enchant 会叠加等级;1.19.50 起改为直接设置为请求的等级,不再叠加。