Brick-MapProtect
this project adds the capability for server owners to protect their map while letting players still place and break player-placed blocks. this can be good…
⬇ Download on Modrinth🧱 Brick-MapProtect
Lock down your maps. Let players build freely.
A lightweight Paper/Spigot plugin that stops regular players from tearing up your
original map, while still letting them place and break their own blocks.
✨ What it does
Only players in Creative mode can break the original blocks of a protected map. Everyone in Survival/Adventure can still build, and break anything players have placed — but the original terrain stays intact. Perfect for minigame lobbies, parkour maps, hub worlds, and gen-raiding arenas.
| Action (on a protected map) | Creative mode | Survival · allow-placing: true |
Survival · allow-placing: false |
|---|---|---|---|
| Break an original map block | ✅ | ❌ | ❌ |
| Place a block | ✅ | ✅ | ❌ |
| Break a player-placed block | ✅ | ✅ | ✅ |
Note: breaking original blocks is gated on game mode, not op status — an opped player in Survival still can't break the map. Use
/gamemode creativeto edit.
Worlds that aren't in your protected list are left completely untouched.
Anti-grief extras (on by default, configurable): flowing water & lava can't wash away or destroy original map blocks, and fire/lava can't burn them either.
🚀 Installation
- Download
Brick-MapProtect-<version>.jarfrom the Releases page. - Drop it into your server's
plugins/folder. - Restart the server (or run
/reload confirm). - Edit
plugins/Brick-MapProtect/config.yml, then run/mapprotect reload.
Requires: a Paper or Spigot server running Minecraft 1.21.x on Java 21.
⚙️ Configuration
# Which maps (worlds) should be protected?
# - List exact world folder names, or use "*" for every world.
# - Worlds not listed are left completely untouched.
protected-worlds:
- world
- world_nether
- world_the_end
# Can regular players place blocks on protected maps?
# true = players can place (and later break their own blocks)
# false = players cannot place any blocks (creative players always can)
allow-placing: true
# Stop flowing water/lava from destroying original map blocks
protect-from-liquids: true
# Stop fire/lava from burning original map blocks
protect-from-fire: true
# Wipe all player-placed blocks on restart (arena reset)?
# true = map is restored to original state each startup
# false = player builds persist across restarts (default)
clear-placed-on-restart: false
# Messages (supports & colour codes)
deny-break-message: "&cYou must be in creative mode to break blocks in this map."
deny-place-message: "&cBlock placing is disabled on this map."
🎮 Commands & Permissions
| Command | Description | Permission |
|---|---|---|
/mapprotect reload |
Reload the config without restarting | mapprotect.admin |
| Permission | Description | Default |
|---|---|---|
mapprotect.bypass |
Explicit override to break/place anything without creative mode | false |
mapprotect.admin |
Use /mapprotect commands |
op |
🔧 How it works
Every block a player places is recorded by its exact location
(world:x:y:z) and persisted to placed-blocks.yml, so the data survives
restarts. When someone tries to break a block, the plugin allows it only if
that location is a known player-placed block (or the player is exempt).
Anything else is part of the original map and is protected.
🏗️ Building from source
mvn clean package
# → target/Brick-MapProtect-1.4.0.jar
Requires JDK 21 and Maven 3.9+.
📄 License
Released under the MIT License.
- Ships as Brick-MapProtect-1.4.0.jar — drop this file into the mods folder
- Download size: 7 KB
- Download link checked 3 Aug 2026 — working
These come from our own check of the pack file, not from the source page.