Guides / Commands & Data

伤害类型:哪19种无视护甲,以及为什么盾牌的防御力更弱

26.2 版本共有51种伤害类型。其中19种无视护甲,30种无视盾牌,而它们的重叠情况并非人们所想——所有能穿透护甲的类型也都能穿透盾牌。

伤害类型不仅仅是死亡信息。它还带有决定护甲是否有效、举起的盾牌是否有效以及抗性提升(Resistance)是否有效的标志——数据包通过 #minecraft:bypasses_armor 等命令读取这些相同的标志。以下所有数字均来自 Mojang 发布的 26.2 版本 damage_type 文件,也是本页面浏览器所渲染的内容。

统计数据

51种伤害类型。 其中,19种无视护甲30种无视举起的盾牌

第二个数字令人惊讶。盾牌看起来是更强的防御,因为它能直接格挡攻击,但它被绕过的频率更高——30种类型对护甲的19种。

重叠是单向的

这是值得深入理解的部分,它是一个严格的结构性规则,而非一种趋势:

所有能穿透护甲的伤害类型也都能穿透盾牌。无一例外。

直接统计:集合“穿透护甲但不穿透盾牌”是空的。因此,19种穿透护甲的类型是30种穿透盾牌的类型的严格子集,有11种类型处于这个空隙中——它们能穿透盾牌,但护甲仍然能减少它们的伤害:

cactus, campfire, dry_out, falling_anvil, falling_stalactite, hot_floor, in_fire, lava, lightning_bolt, sulfur_cube_hot, sweet_berry_bush

阅读这份列表,一旦理解其逻辑便会觉得显而易见:它们是环境或来自上方的伤害源。你无法用盾牌格挡你所站立的地面,也无法格挡落在你头上的铁砧(Anvil),但板甲仍然能吸收一部分伤害。

实际版本:如果一次攻击穿透了你的护甲,那么盾牌也永远帮不上忙。 摔落伤害(Fall damage)、溺水(drowning)、冰冻(freezing)、饥饿(starvation)、/kill ——护甲和盾牌都无关紧要。此时应选择摔落缓冲(Feather Falling)、水下呼吸(Respiration)或冰霜行者(Frost Walker),因为这些附魔是伤害标志不会跳过的。

只有一种类型无视所有防御

starve 是唯一一种同时无视护甲、盾牌状态效果的伤害类型——因此抗性提升(Resistance)也无法抵御它。游戏中除了食物,没有任何东西能保护你免受空饥饿(Hunger)条的伤害。

饥饿值消耗是二元的

受到伤害会让你更饥饿,而且消耗量并非你所期望的那样分级。在所有51种类型中,26.2 版本中恰好只有两种饥饿值消耗值:00.151种中有32种会消耗0.1点;其余的则不消耗。

所以并没有“大伤害让你更饥饿”的规则。一点摔落伤害和苦力怕(Creeper)的正面爆炸消耗的饥饿值相同,而19种类型根本不消耗饥饿值。

伤害倍增只有两种设置,而非曲线

scaling 决定难度是否会使伤害倍增,它只取两个值之一:when_caused_by_living_non_playeralways。没有针对每种类型的难度曲线可以调整——数据包要么选择一种类型进行难度倍增,要么不选择。

这对命令的重要性

/damage <target> <amount> <type> 可以接受51种伤害类型中的任何一种,而选择错误的类型会悄无声息地改变结果:

/damage @p 10 minecraft:fall      # armour ignored, shield ignored
/damage @p 10 minecraft:lava      # shield ignored, armour still reduces it
/damage @p 10 minecraft:starve    # armour, shield and Resistance all ignored

三个命令,相同的10点伤害,对同一个标靶(Target)产生三种不同的结果。如果一张地图是针对穿着全套下界合金装备的玩家进行“平衡”的,那么你选择的伤害类型就决定了这套护甲是否参与了平衡。

我的世界数据浏览器 — 第 1 组 →

More guides

Browse all →

还想找别的我的世界工具?

一整套在浏览器里运行的生成器、查看器和转换器,全部免费。