pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/K2zik/ExplosionProtector

GitHub - K2zik/ExplosionProtector
Skip to content

K2zik/ExplosionProtector

Repository files navigation

💣 ExplosionProtector for CoreProtect

Protect your players’ builds from unwanted explosions
A lightweight Spigot/Paper plugin that uses CoreProtect to prevent explosions from destroying blocks placed by players.


🧠 Description

ExplosionProtector hooks into all types of explosions (TNT, creeper, ender crystal, bed/respawn-anchor explosions, etc.) and checks each affected block’s origen 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.

⚙️ Installation

  1. Download the latest ExplosionProtector.jar.
  2. Place it into your server’s plugins/ directory.
  3. Ensure you have CoreProtect v10+ installed and enabled.
  4. Start or reload your server. You should see in console:
    [ExplosionProtector] Plugin enabled: protecting player-placed blocks from explosions.
    

🛠 Configuration

All settings are in plugins/ExplosionProtector/.

1. config.yml

# config.yml
# Supported language codes: en, ru, es, zh, hi, ar, fr, de, ja, pt
language: en

2. Message files

On first run the plugin extracts:

  • messages.yml (default English)
  • messages_ru.yml
  • messages_es.yml
  • messages_zh.yml
  • messages_hi.yml
  • messages_ar.yml
  • messages_fr.yml
  • messages_de.yml
  • messages_ja.yml
  • messages_pt.yml

Each contains all user-facing strings. To add or adjust translations, edit the corresponding file in the plugin’s folder.


💻 Commands

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.

Examples

/ep status
# Status: enabled
# Blocks protected in last operation: 17

/ep language ru
# Language set to 'ru'.

🔄 Change Log

[1.1] – 2025-04-27

  • CoreProtect Lookup Cache
    Added Guava-backed cache to reduce repeated CoreProtect queries and improve performance during big explosions.
  • Multi-Language Support
    • Extracts all messages_<lang>.yml on first run.
    config.yml option language: <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
    Consolidated EntityExplodeEvent and BlockExplodeEvent logic 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.

[1.0] – Initial Release

  • Basic protection of player-placed blocks against all explosion types using CoreProtect API.
  • Support for TNT, creeper, ender crystal, block explosions.
  • /ep status command showing protection status.

🧱 Dependencies

  • Spigot / Paper 1.13+
  • CoreProtect v10 or higher

📄 License

MIT License. See LICENSE in the GitHub repository for details.

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy