神风自爆 (Kamikaze Revenge)

基本信息

属性 值
类型 事件系统(配置 + 事件订阅)
触发条件 玩家击杀生物(LivingDeathEvent,伤害来源必须是玩家)
配置类 com.github.namikon.angermod.config.KamikazeConfig
事件类 com.github.namikon.angermod.events.KamikazeRevenge
默认启用 false
配置分类 kamikaze

行为

被动生物(friendly mobs)被玩家击杀时有概率原地爆炸——形成"神风特攻队"式复仇效果。

  1. 事件源必须是玩家造成(source.getSourceOfDamage() instanceof EntityPlayer),且玩家不是 FakePlayer。
  2. 检查玩家主手物品的 getUnlocalizedName() 是否包含任一 butcherItems 关键字——若是(默认 flint),则跳过爆炸(视作用"屠夫物品")。
  3. 否则按 chance% 概率(world.rand.nextInt(100) >= chance 不爆炸)触发爆炸。
  4. 爆炸强度:1.5F(低强度,不会破坏太多方块)。
  5. 是否破坏地形 = mobGriefing 游戏规则 && doTerrainDamage。

数值

数值名 默认值 范围 说明
enabled false bool 是否启用整个模块
chance 5 0 - 100 触发爆炸的概率百分比
doTerrainDamage false bool 是否允许爆炸破坏地形(受 mobGriefing 双重控制)
butcherItems ["flint"] 字符串数组 使用包含这些关键字的物品击杀可避免爆炸

屠夫物品机制

  • 仅检查 player.inventory.getCurrentItem() 主手物品的 getUnlocalizedName().toLowerCase(),不进行元数据匹配。
  • 任一关键字命中即整次击杀免爆。
  • 默认 flint:使用燧石击杀被动生物即可避免爆炸——设计意图是鼓励玩家"用正确工具宰杀"。

旧版配置迁移

LegacyAngerModConfig.loadLegacyConfig 读取:

  • KamikazeMobRevenge(ModuleControl)→ enabled
  • KamikazeChance(Limits)→ chance
  • KamikazeMobsDoTerrainDamage(Protection)→ doTerrainDamage
  • KamikazeItemBlacklist(Blacklist)→ butcherItems

相关条目