BlockConfusingCharge

基本信息

属性 值
路径 crazypants.enderzoo.charge.BlockConfusingCharge
类型 class(继承 BlockTNT,实现 ICharge)
源码 src/main/java/crazypants/enderzoo/charge/BlockConfusingCharge.java
注册名 blockConfusingCharge

TNT 变体方块。点燃后生成 EntityPrimedCharge,爆炸时不破坏地形, 只对范围内玩家施加画面翻转式的「失明」效果。

爆炸效果(explode,第 100 行)

  • 播放 random.explode 音效,音量 3F
  • 通过网络包让客户端执行 explodeEffect
  • 不创建 Explosion 对象,因此不炸毁方块、不造成摔落 / 火焰伤害

失明效果(explodeEffect,第 117 行)

项 值
作用范围 Config.confusingChargeRange(默认 6)
基础持续 Config.confusingChargeEffectDuration(默认 300 tick)
衰减 距离越近越长:scale = exp(1 - d²/maxD²) / e,duration = ceil(300 * scale)
客户端粒子 100 个 EntitySpellParticleFX,颜色取自药水 damage 8231

派生方块

缺陷

create() 中 先注册网络包与 EntityPrimedCharge 实体,后判断 confusingChargeEnabled (BlockConfusingCharge.java:41-60)。而 BlockEnderCharge / BlockConcussionCharge 的 create() 不会补做这一步。 因此若只开 EnderCharge 而关 ConfusingCharge,EntityPrimedCharge 将未注册。

相关条目