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.
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): original map blocks can't be destroyed by flowing water & lava (including buckets), fire, explosions (TNT, creepers), pistons, or entity grief (endermen & co.) — while all of those still work normally on player-placed blocks.
- 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.
# 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 (and buckets) from destroying original map blocks
protect-from-liquids: true
# Stop fire/lava from burning original map blocks
protect-from-fire: true
# Stop explosions (TNT, creepers, ...) from destroying original map blocks
protect-from-explosions: true
# Stop pistons from pushing/pulling original map blocks out of position
# (set to false if your map relies on piston contraptions)
protect-from-pistons: true
# Stop endermen, silverfish etc. from altering original map blocks
protect-from-entity-grief: 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."| Command | Description | Permission |
|---|---|---|
/mapprotect reload |
Reload the config without restarting | mapprotect.admin |
| Permission | Description | Default |
|---|---|---|
mapprotect.admin |
Use /mapprotect commands |
op |
Breaking original map blocks is gated solely on Creative game mode. Op status and permissions grant no override — switch to Creative (
/gamemode creative) to edit protected maps.
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.
mvn clean package
# → target/Brick-MapProtect-1.4.0.jarRequires JDK 21 and Maven 3.9+.
Released under the MIT License.