Protect your players’ builds from unwanted explosions
A lightweight Spigot/Paper plugin that uses CoreProtect to prevent explosions from destroying blocks placed by players.
ExplosionProtector hooks into all types of explosions (TNT, creeper, ender crystal, bed/respawn-anchor explosions, etc.) and checks each affected block’s origin via the CoreProtect API.
- Player-placed blocks are protected and remain intact.
- All other blocks (natural terrain, plugin-placed, etc.) are destroyed as normal.
- TNT chain reactions are still allowed: TNT will break TNT and natural blocks, but any player-placed block in the blast radius remains safe.
This is ideal for:
- PvE or Creative servers where you want to preserve player builds.
- Minigame or adventure maps that use TNT but need to protect certain structures.
- Any world where accidental or malicious explosions should not ruin player work.
- Download the latest
ExplosionProtector.jar. - Place it into your server’s
plugins/directory. - Ensure you have CoreProtect v10+ installed and enabled.
- Start or reload your server. You should see in console:
[ExplosionProtector] Plugin enabled: protecting player-placed blocks from explosions.
All settings are in plugins/ExplosionProtector/.
# config.yml
# Supported language codes: en, ru, es, zh, hi, ar, fr, de, ja, pt
language: enOn first run the plugin extracts:
messages.yml(default English)messages_ru.ymlmessages_es.ymlmessages_zh.ymlmessages_hi.ymlmessages_ar.ymlmessages_fr.ymlmessages_de.ymlmessages_ja.ymlmessages_pt.yml
Each contains all user-facing strings. To add or adjust translations, edit the corresponding file in the plugin’s folder.
All commands require the explosionprotector.info permission (default OP-only).
| Command | Description |
|---|---|
/ep status or /ep info |
Show plugin status and number of blocks protected in the last explosion. |
/ep language <code> |
(Admin) Change plugin language at runtime. Valid codes: en, ru, es, zh, hi, ar, fr, de, ja, pt. |
/ep status
# Status: enabled
# Blocks protected in last operation: 17
/ep language ru
# Language set to 'ru'.- CoreProtect Lookup Cache
Added Guava-backed cache to reduce repeated CoreProtect queries and improve performance during big explosions. - Multi-Language Support
• Extracts allmessages_<lang>.ymlon first run.
•config.ymloptionlanguage: <code>.
•/ep language <code>for on-the-fly language switching. - TNT Chain Reaction Handling
Refactored logic so TNT chain reactions still destroy TNT and natural blocks but protect player-placed blocks. - Unified Explosion Handlers
ConsolidatedEntityExplodeEventandBlockExplodeEventlogic for consistent protection. - Automatic Resource Extraction
Ensures no “file not found” warnings when all translation files are present in the JAR. - Configurable Messages & Clean Code
All user text moved to message files; comments and code streamlined and fully English-documented.
- Basic protection of player-placed blocks against all explosion types using CoreProtect API.
- Support for TNT, creeper, ender crystal, block explosions.
/ep statuscommand showing protection status.
- Spigot / Paper 1.13+
- CoreProtect v10 or higher
MIT License. See LICENSE in the GitHub repository for details.