爆炸
发表时间: 2025-11-12 14:54:40
最后更新: 2025-11-12 14:54:40(6小时前)
本文标签: 游戏机制
介绍
-
爆炸会对周围的方块产生影响,可能导致其被摧毁、状态改变或引发火焰生成。
-
当游戏设置中“允许破坏性生物行为”(mobGriefing)被禁用(false)时,由苦力怕、恶魂火球、凋灵及风弹等造成的爆炸将不对方块产生影响,破坏、状态改变及火焰生成效果均不生效。
-
爆炸对实体的影响有两个主要方面:造成直接伤害和使实体向爆炸的反方向推送。
-
如果某个实体位于爆炸伤害的半径范围内(该半径为r = P×2,其中P表示爆炸的威力),则该实体会受到伤害并被弹开。
-
爆炸造成的“伤害半径”与其对方块的“影响范围”是两个不同的概念。
-
此外,爆炸所对实体施加的效果并无法完全被方块阻挡,这意味着即使在水中或隔着墙壁,爆炸也可以对实体造成伤害和推动效果,从而轻易地破坏位于墙后端的物品展示框(仅限于Java版)与画作。
爆炸机制
- 爆炸是一种由多种因素引发的现象,其特性通常表现为具备破坏性。
- 当爆炸发生时,它会立即改变方块和实体的状态,然而,这种状态变化是瞬间完成的,爆炸本身并不会持续造成进一步影响,但某些因素可能会导致连锁爆炸的产生。
- 爆炸的作用主要体现在三个方面:对方块的影响、对实体的干扰和粒子的生成。这三种效应相互独立地发挥作用,因而可能导致生物所受的爆炸范围大于对方块的影响范围的情况。
- 爆炸的强度取决于一个重要变量,即其爆炸威力(Explosion power)。
- 爆炸威力的大小决定了破坏的范围、影响的方块类型以及对实体造成的伤害程度。
- 方块抵御爆炸冲击的基本特性是其爆炸抗性(Blast resistance),而抗性值越高,方块对爆炸的抵挡能力越强。
- 通常情况下,方块的爆炸抗性是一个固定值,但如果方块内部含有水分,其抗性会被提升至水的抗性值,即100。
- 这也适用于始终含水的方块,例如气泡柱、海草和海带等,因此它们的原始爆炸抗性无法得到体现。
爆炸来源
| 来源 | 爆炸威力 | 最大伤害(100%接触率) | 说明 | ||
|---|---|---|---|---|---|
| 简单难度 | 普通难度 | 困难难度 | |||
| 4-11.5 | 29.5( |
57( |
85.5( |
爆炸威力受到多种因素修正。被激活铁轨激活而爆炸时,忽略各种铁轨和铁轨下的方块。游戏规则“在TNT爆炸中,一些方块不会掉落战利品”(tntExplosionDropDecay)为false(该游戏规则的默认值)时破坏的方块总是会掉落。 | |
| 8 | - | - | - | 爆炸不造成伤害,不生成爆炸粒子,不使用爆炸音效。受爆炸影响的方块(除了基岩、末地传送门方块、末地折跃门方块、末地传送门框架、命令方块、结构方块、结构空位和屏障)的爆炸抗性视为不超过0.8。游戏规则“允许破坏性生物行为”(mobGriefing)为false时不影响方块。 | |
| 7 | 50.5( |
99( |
148.5( |
游戏规则“允许破坏性生物行为”(mobGriefing)为false时不影响方块。 | |
| 6 | 43.5( |
85( |
127.5( |
因末影龙复活而爆炸时不影响方块。 | |
| 6 | 43.5( |
85( |
127.5( |
被炸死的生物会掉落生物头颅。游戏规则“允许破坏性生物行为”(mobGriefing)为false时不影响方块。 | |
| 5 | 36.5( |
71( |
106.5( |
可以生成火。 使用“死者被[刻意的游戏设计]杀死了” |
|
| 4 | 29.5( |
57( |
85.5( |
游戏规则“在TNT爆炸中,一些方块不会掉落战利品”(tntExplosionDropDecay)为false(该游戏规则的默认值)时破坏的方块总是会掉落。 | |
| 4 | 29.5( |
57( |
85.5( |
爆炸计算时忽略范围内的水。游戏规则“在TNT爆炸中,一些方块不会掉落战利品”(tntExplosionDropDecay)为false(该游戏规则的默认值)时破坏的方块总是会掉落。 | |
| 3 | 22.5( |
43( |
64.5( |
游戏规则“允许破坏性生物行为”(mobGriefing)为false时不影响方块。 | |
| 3-5 | - | - | - | 游戏规则“允许破坏性生物行为”(mobGriefing)为false时不影响方块。 爆炸不造成伤害,且不破坏方块,生成狂风粒子。风爆范围内的部分方块可以响应此风爆,从而改变自身方块状态。 |
|
| I:1.2 II:1.75 III:2.2 |
- | - | - | ||
| 3 | - | - | - | ||
| 1.2 | - | - | - | 游戏规则“允许破坏性生物行为”(mobGriefing)为false时不影响方块。 爆炸不造成伤害,且不破坏方块,生成狂风粒子。风爆范围内的部分方块可以响应此风爆,从而改变自身方块状态。造成实体击退的速度增加10%。 |
|
| 1 | 8.5( |
15( |
22.5( |
可以生成火,游戏规则“允许破坏性生物行为”(mobGriefing)为false时不影响方块。 | |
| 1 | 8.5( |
15( |
22.5( |
游戏规则“允许破坏性生物行为”(mobGriefing)为false时不影响方块。 | |
| 1 | 8.5( |
15( |
22.5( |
受爆炸影响的方块(除了屏障、基岩、末地传送门方块、末地传送门框架、末地折跃门方块、命令方块、结构方块、结构空位、拼图方块、光源方块和强化深板岩)的爆炸抗性视为不超过0.8。游戏规则“允许破坏性生物行为”(mobGriefing)为false时不影响方块。 | |
爆炸对方块的效果
一、 破坏方块
-
爆炸事件会导致周围的方块遭到破坏,其影响机制是通过从爆炸中心向外发射一系列射线来实现的。
-
在这一过程中,爆炸中心向外发射出1352条射线,并对这些射线所经过的每一个方块进行爆炸影响的计算。
-
假设围绕爆炸中心构造一个立方体,该立方体的表面被划分为16×16×16的网格系统,那么从爆炸中心到网格上每个交点都会生成一条射线,总共形成1352条。
-
每条射线起始时具有一个固定的强度,计算公式为I0=(1.0±0.3)P,其中P代表爆炸威力。
-
在每条射线前进0.3格的过程中,其强度会减少0.225,具体计算为In+1=In−0.3×0.75=In−0.225。
-
当射线穿透非空气方块时,强度将进一步衰减,计算方式为In+1=In−[0.225+0.3(R+0.3)],这里R是方块的爆炸抗性。
-
在衰减过程中,若某个采样点的强度未降低至0,则对应的方块将被摧毁。
-
爆炸对方块的影响仅依据射线所经过方块的爆炸抗性,方块的形状或特性如水和台阶虽然可能使射线无碰撞,但仍会受到影响。
-
基于上述分析,可以得出有关最大爆炸半径的结论,假设没有方块吸收,其计算公式为⌊1.3P0.225⌋×0.3。
-
不同爆炸源的最大半径可以为:19.3(TNT矿车),13.9(凋灵的攻击),12.1(凋灵),10.2(电击苦力怕),8.7(床),6.9(TNT),5.1(苦力怕),以及1.5(恶魂火球)。
-
例如,TNT爆炸的影响可摧毁7个方块外的火把,但具体的毁灭范围则取决于爆炸发生的精准位置。
-
对于在空气中发生的爆炸,其能够抵御爆炸的方块所需的最低抗性可以计算得出,即为1.3P−0.225n0.3−0.3。
-
为了不被破坏,方块必须在第一衰减分段的采样点就完全抵消所有爆炸强度。
-
衰减段数n与碰撞体积相关,在空气中,爆炸的衰减段数至少为1。
-
尤其是TNT和苦力怕的碰撞箱,使得它们的爆炸至少在与最近方块的距离为0.49格及0.5格的情况下触发,导致衰减段数至少为2。
-
而火球的爆炸可以发生在任意位置,故其衰减段数至少为1。
-
因此,要完全抵抗相应爆炸,方块所需的最低爆炸抗性分别为24.2(电击苦力怕)、15.534(TNT)、11.2(苦力怕)、3.284(恶魂火球)。
-
综上所述,某些方块如水、静止的熔岩、黑曜石和基岩,不会受到一般爆炸的损害,而其它抗性较低的方块如栅栏则可能被恶魂火球摧毁。
-
这只是理论值,实际情况中抗性较小的方块并不总会被摧毁。
-
另外,多个爆炸事件在同一个方块上会独立计算,无论它们之间的时间间隔多小,且历史上方块从未存在过“临时生命”特性。
-
尽管在爆炸中所涉及的方块通过"射线上的方块"来描述,实际的影响获取方式是从爆炸中心开始,以每隔0.3格为间隔进行采样,具体采样点则为下取整后的坐标。
方块掉落
- 在游戏中,被爆炸摧毁的方块具有一定的掉落概率。
- 方块的掉落概率可以用公式1/P(P为爆炸威力)来表示,若满足条件minecraft:survives_explosion,则方块会掉落;否则,它将不掉落。
- 例如,普通苦力怕的爆炸威力为3,这意味着被其炸毁的方块大约有1/3的概率会掉落,导致爆炸后形成的坑难以被掉落物填平。
- 某些特殊物品,如龙蛋、信标、潮涌核心、生物头颅和潜影盒,无论在任何情况下被炸毁时都始终会掉落,因它们不需要依赖minecraft:survives_explosion的条件。
- 虽然这些物品在被炸毁时不会掉落,但它们可能会在后续的爆炸中被摧毁。
- 游戏中有多项规则控制不同类型的爆炸对方块掉落的影响。
- 例如,“在方块交互爆炸中,一些方块不会掉落战利品”的规则适用于由方块引发的爆炸,像床和重生锚的爆炸,这一规则在Java版中默认为true。
- 另外,“在生物爆炸中,一些方块不会掉落战利品”的规则,则适用于生物引发的爆炸,如苦力怕的爆炸,这一规则同样在Java版中默认为true。
- 与此不同的是,“在TNT爆炸中,一些方块不会掉落战利品”的规则(tntExplosionDropDecay)则默认为false,因此由TNT和TNT矿车引发的爆炸总是会导致方块掉落。
二、 生成火
三、 更改方块状态
-
风爆是一种机制,可以改变特定方块的状态,以实现“被风吹动”的视觉效果。
-
风爆还可以用来切换栅栏门的开关状态。
-
按下按钮的操作也受到风爆的影响,使其能够被激活或重置。
-
使用拉杆时,风爆可以改变其开关状态。
-
敲响钟声同样可以通过风爆机制实现。
爆炸对实体的效果
-
当实体位于爆炸伤害的半径r=2P之内时,爆炸会给其造成一定的击退力F,计算公式为F=(1−dr)α。
-
实体所受到的爆炸伤害可以通过公式⌊7(F²+F)P+1⌋来计算,意味着距离爆炸中心越近,伤害就会越高。
-
在计算伤害后,爆炸接触率会重新调整为α1=(1−0.15m)α,影响之后实体的受力情况。
-
实体将依据更新后的爆炸接触率,沿着从爆炸源到玩家视线位置的方向受到推动。
-
特别需要注意的是,当爆炸不是由玩家引发时,基岩版的玩家所受伤害会受到游戏难度的影响。
-
在普通难度下,如果爆炸造成的伤害为D,那么在困难难度下则为1.5D;而在简单难度下,伤害则为min(D, 0.5D + 1),和平模式下伤害为0。
-
除了风爆以外,其他爆炸会因抗性和护甲值的影响降低伤害,每个实体即使处于爆炸半径内也至少会受到1点伤害。
-
根据计算,实体在完全接触爆炸中心时,其可能承受的最大伤害为99点(例如新的凋灵)。
-
随着距离的增加或有物体阻挡,实体所受的伤害将会降低。
-
在接触爆炸中心的情况下,实体能够在一次爆炸中获得的最大加速为1。
-
关于风爆,它不会直接对实体造成伤害,但被风弹发射的实体会获得短暂的摔落伤害减免。
-
此外,爆炸还会对实体施加击退效果,这种效果独立于受伤害的影响,不受免疫伤害的限制。
-
根据不同版本,生物所受的爆炸击退也会受到特定抗性的降低。
-
有时,爆炸的击退效果可以帮助玩家减轻摔落伤害,因为会重置玩家的下落高度。
-
最后,多次爆炸可以在同一时刻发生,造成的击退效果和伤害可能会因为受击后伤害免疫而受到抑制。
一、 爆炸接触率的计算
- 计算采样点数量。对于一个实体边界箱,总采样数为⌈2l+1⌉×⌈2w+1⌉×⌈2h+1⌉,其中l为实体的长度,w为实体的宽度,h为实体的高度。
- 计算采样点间隔。水平方向采样点间隔为l2l+1和w2w+1,垂直方向采样点间隔为h2h+1。
- 计算采样网格偏移,以保证网格水平中心对称,垂直方向紧贴实体边界箱底面。水平方向偏移12(1−⌊2l+1⌋2l+1)和12(1−⌊2w+1⌋2w+1)。
- 对于网格的所有网格点,与爆炸中心进行连线。
- 射线路径上没有被任何方块碰撞箱阻挡的射线占全部射线的百分比即为爆炸接触率。
二、 典型伤害半径

爆炸的粒子效果
- 如果爆炸威力小于2,或者爆炸不影响方块,则在爆炸位置生成explosion粒子。
- 如果爆炸威力大于等于2,并且爆炸会影响方块,则在爆炸位置生成explosion_emitter粒子。
- 如果是风爆,则在爆炸位置生成gust_emitter_small和gust_emitter_large粒子。
缺陷
一、 爆炸形状失真
- 爆炸射线间隙
-
爆炸效果在破坏方块的过程中,源于从中心位置发射的1352条向外扩散的射线。
-
随着爆炸威力和覆盖范围的提升,这些射线之间的距离迅速增大,超过了1格,因而能够容纳大量方块。
-
当爆炸威力过大时,所形成的爆炸坑往往呈现出一种反常的形状,类似于海胆的外观。
-
在这些坑洞中,每一个孔洞都有一条直接与爆炸中心相连的射线。
- 爆炸射线夹角
-
我的世界中的爆炸会在中心点周围以16×16×16的立方体为基础,向外延伸出一系列爆炸射线。
-
这些射线的数量约为1352条,均匀分布在立方体的表面上。
-
然而,这种方式生成的爆炸射线在排布上并不均匀,尤其是在六个坐标轴周围。
-
在这些特定的方向上,爆炸射线的稀疏程度明显高于其他方向,导致不同方向的爆炸效果存在明显差异。
二、 算法存在漏洞
- 掠过部分方块夹角
- 由于约0.3格的采样间隙,在合适的角度下,采样点有可能掠过部分方块,造成反直觉的爆炸结果。
- 射线被重复吸收
-
在Minecraft中,受到爆炸影响的方块并不会立即消失。
-
相反,这些方块会被加入一个待处理的列表,并在所有计算完成后统一移除。
-
这种机制导致在一次爆炸中,几乎所有被影响的方块都反复吸收来自自身爆炸射线所带来的能量。
-
因此,爆炸射线无法实现其理论上的最大破坏距离,前提是如果这些方块能够立即被清除。
三、 性能影响
-
在Minecraft中,爆炸是一种常见现象,其效果可能会显著影响游戏性能。
-
大规模的爆炸或连锁爆炸会在其影响区域内产生大量的方块和实体,造成游戏在计算相关效果时需要消耗大量时间,从而降低游戏体验。
-
在极端情况下,游戏可能会因处理爆炸效果而出现长时间的未响应状态,致使玩家最终不得不强制关闭游戏。
-
除了处理爆炸瞬间的性能开销外,爆炸后出现的余波也是一个不可忽视的问题,这包括方块掉落形成的物品、液体流动的变化以及产生的爆炸坑等。
-
这些后续效果将增加游戏的渲染负担,进一步影响整体性能。
-
虽然掉落的物品实体会在五分钟后自动消失,但由于游戏性能下降,实际每秒能够渲染的游戏刻数可能低于20,从而导致掉落物的消失时间延长,进一步恶化游戏性能。
-
通过设置某些游戏规则或执行特定命令,可以有效避免或减轻爆炸后果的影响。
-
比如,将游戏规则“方块掉落”(doTileDrops)设置为false,可以确保被爆炸破坏的方块不再产生掉落物;同时,使用命令/kill @e[type=item]可以清除所有已掉落的物品。
语言
字体
平视显示器
第三人称视角
聊天
弹窗
教学提示
提示框
动作栏
定位栏
Boss栏
灵动视效
记分板
截图
进度
统计信息
队伍
成就
判定箱
东南规则
爆炸
多人游戏
药水效果
游戏事件
世界
难度
极限模式
游戏规则
维度
种子(世界生成)
灾厄巡逻队
袭击
僵尸围城
方块基本属性
挖掘
Java版材料
基岩版材料
含水
方块更新
红石电路
氧化
作物机制
含雪
稀有度
工具材料
盔甲材料
物品耐久
评论( {{ count }})条
{{ item.user_detail["nick_name"] }}
{{ item.user_detail["title"] }}
暂无内容