Skip to content

作用

ExplosionProtect 用于阻止 TNT 和苦力怕爆炸破坏方块。

默认配置:GroovyConfig/ExplosionProtect.yml

如果你在 config.yml -> feature-scripts.config-directory 中改过脚本配置目录,请以实际目录为准。

配置示例

yml
# 是否启用该脚本
enabled: true

# 生效世界列表
# 留空 [] 表示所有世界都生效
# 示例:
# worlds:
#   - world
#   - world_nether
worlds: []

# 是否阻止 TNT 爆炸破坏方块
# 仅清空方块破坏列表,不取消爆炸本身
prevent-tnt-block-damage: true

# 是否阻止苦力怕爆炸破坏方块
# 仅清空方块破坏列表,不取消爆炸本身
prevent-creeper-block-damage: true

关键项说明

worlds

限定脚本生效的世界。

  • []:所有世界生效
  • 填世界名列表:只在这些世界中生效

prevent-tnt-block-damage

是否阻止 TNT 对方块造成破坏。

prevent-creeper-block-damage

是否阻止苦力怕爆炸对方块造成破坏。

实际行为

当前实现监听的是 EntityExplodeEvent,并按实体类型区分:

  • PRIMED_TNT
  • CREEPER

命中后会执行的是:

  • event.blockList().clear()

也就是说,它的做法是清空将被爆炸破坏的方块列表,而不是取消爆炸事件本身。

启用与重载

修改这个脚本的配置文件后,通常执行:

text
/hncore reload scripts

如果你改的是 config.yml 中的脚本目录名、脚本系统总开关等核心配置,则应执行:

text
/hncore reload

联动说明

注意事项

  • 如果你想彻底取消爆炸事件本身,这不是它的定位
  • 它更适合“保留爆炸表现,但阻止方块损坏”的需求

HN 系列插件文档