Skip to content

爆炸防护 starlight-security:explosion-defender

监听服务器中的爆炸事件,通过白名单区域机制控制爆炸是否对方块造成破坏,并支持爆炸记录与广播。

基本信息

  • 命名空间id: starlight-security:explosion-defender
  • 版本: 1.4.3
  • 是否为内部模块:
  • 是否默认开启:
  • 是否为未完成[beta]阶段:

描述

ExplosionDefender(爆炸防护)拦截所有实体爆炸(EntityExplodeEvent)和方块爆炸(BlockExplodeEvent,需要 Bukkit 1.17+ API),根据爆炸位置是否命中白名单区域来决定处理方式。

对于不在白名单内的爆炸:

  • smart-cancel 开启时,仅清除爆炸方块列表(保留爆炸事件本身,不产生破坏但保留声音/粒子效果)
  • smart-cancel 关闭时,完全取消爆炸事件
  • override-explosion 开启时,在取消原爆炸后创建一次 4 强度的人造爆炸(仅用于视觉效果)
  • 根据配置决定是否向 op 广播爆炸信息和/或记录到数据库

可配置项目

id描述可接受的输入值
smart-canceltrue 时仅清除方块破坏列表而非完全取消事件true, false
override-explosiontrue 时在取消爆炸后创建一次视觉性爆炸true, false
record是否将爆炸事件记录到数据库true, false
broadcast是否向有权限的玩家广播爆炸信息true, false

命令

命令权限描述
/explosion-whitelist add <名称> <世界> <x1> <y1> <z1> <x2> <y2> <z2>quark.explosion.whitelist添加爆炸白名单区域
/explosion-whitelist remove <名称>quark.explosion.whitelist移除爆炸白名单区域
/explosion-whitelist listquark.explosion.whitelist列出所有爆炸白名单区域

内部组件

  • BlockExplosionListener — 监听 BlockExplodeEvent(1.17+),处理非实体来源的方块爆炸。