主题
作用
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_TNTCREEPER
命中后会执行的是:
event.blockList().clear()
也就是说,它的做法是清空将被爆炸破坏的方块列表,而不是取消爆炸事件本身。
启用与重载
修改这个脚本的配置文件后,通常执行:
text
/hncore reload scripts如果你改的是 config.yml 中的脚本目录名、脚本系统总开关等核心配置,则应执行:
text
/hncore reload联动说明
- 想一起限制玩家手动拆放与交互:搭配 WorldProtect
- 想把环境搬运破坏也一起压住:搭配 EndermanProtect
注意事项
- 如果你想彻底取消爆炸事件本身,这不是它的定位
- 它更适合“保留爆炸表现,但阻止方块损坏”的需求
