药水仅涵盖 40 种效果中的 19 种 — 且有四种药水未以其效果命名
21 种状态效果完全没有药水。迅捷药水提供速度效果,跳跃药水提供跳跃提升效果,治疗药水提供瞬间治疗效果 — 且 /give 和 /effect 需要不同的名称。
酿造台涵盖了游戏中不到一半的状态效果,且它能制作的药水中有四种并非以其所赋予的效果命名。第二个事实是一个编写命令时的陷阱。数据来源于 Mojang 发布的 26.2 版本药水和效果注册表。
19 种药水类型,41 个条目
共有 41 个药水条目,即 19 种不同类型及其变种:
- 19 种基础药水
- 13 种
long_延长版本 - 9 种
strong_增幅版本
并非每种药水都同时拥有延长和增幅版本。夜视药水可以延长但不能增幅;治疗药水可以增幅但不能延长。这就是 13 和 9 分割的原因。
40 种效果中有 21 种没有药水
游戏中超过一半的状态效果完全无法通过酿造获得:
absorption, bad_omen, blindness, breath_of_the_nautilus, conduit_power, darkness, dolphins_grace, glowing, haste, health_boost, hero_of_the_village, hunger, levitation, luck, mining_fatigue, nausea, raid_omen, saturation, trial_omen, unluck, wither
有些是环境效果(潮涌能量、海豚的恩惠、黑暗),有些是事件标记(不祥之兆、袭击之兆、试炼之兆、村庄英雄),有些则纯粹是命令专用(发光、飘浮、急迫、幸运)。如果你需要在玩家身上施加这些效果,/effect give 是唯一的途径 — 无论如何酿造都无法产生它们。
四种药水以其他名称命名
| 药水 ID | 赋予的效果 |
|---|---|
swiftness | speed |
leaping | jump_boost |
healing | instant_health |
harming | instant_damage |
这一点很重要,因为这两个命令使用不同的词汇:
/give @p potion[potion_contents={potion:"minecraft:swiftness"}]
/effect give @p minecraft:speed 30 1
potion:"minecraft:speed" 不存在,/effect give @p minecraft:swiftness 也不存在。 每个命令都需要自己的 ID,并且这种不匹配只存在于这四种药水 — 其他所有药水都与其效果共享名称,这正是这四种药水容易出错的原因。
海龟大师药水赋予两种效果
turtle_master 是唯一一种施加多种效果的药水:抗性提升和缓慢同时存在。这就是为什么它被视为一种带有副作用的防御性药水,而不是纯粹的增益。
它也是酿造抗性提升的唯一方法。没有抗性提升药水 — 这种效果只能通过酿造台获得,且仅作为海龟大师药水的一部分,总是伴随着缓慢效果。因此,抗性提升不在上面不可酿造的列表中,但它也无法单独获得。
适用于命令和数据包工作
- 在围绕酿造进行设计之前,请检查你想要的效果是否真的有药水 — 21 种没有。
- 对于物品使用药水 ID,对于
/effect使用效果 ID;它们在迅捷、跳跃、治疗和伤害药水上有所不同。 - 请记住
long_和strong_是独立的注册表条目,而不是修饰符,因此命名minecraft:long_swiftness的命令实际上是在命名一种真实、独特的药水。