Structural Safety

A server-side utility that protects structures by switching players to Adventure Mode, while allowing them to break specific blocks and use timed torches.

100

Quick challenge

How far can you run before the mobs catch you?

Structural Safety

Protect Minecraft's structures from being stripped, blown up, or burned to the ground — without breaking exploration.

Structural Safety is a server-side mod that automatically switches players into Adventure mode whenever they enter a configured structure (Strongholds, Trial Chambers, Mansions, Bastions, modded dungeons …). The mod still lets players interact with the dungeon naturally — break decorative weak blocks, place torches, use redstone, brush suspicious sand — while preventing wholesale destruction of the build.

No client mod required. — the mod only needs to be on the server. ✅ No client mod required. — any structure registered in your data packs can be protected. ✅ No client mod required.

---

Features

- 🛡 Live-editable when a player enters a protected structure, restored to their previous mode (Survival or Creative) when they leave. - 💥 Live-editable — TNT, creepers, ghasts, end crystals can't damage protected blocks. - 🔥 Live-editable — fire cannot start inside protected structures, removing burn-down griefing. - 🌋 Live-editable — flowing lava is stopped at the structure border. - 🧟 Live-editable — protected structures spawn mobs even in well-lit areas (ideal for dungeons). - ⛏ Live-editable — sneak + right-click with the right tool to remove decorative blocks (cobwebs, mossy bricks, iron bars, vines, dripstones, decorated pots …). - 💡 Live-editable — drop torches, lanterns, hay or slime blocks that auto-despawn after a configurable time. - 🪜 Live-editable — ladders, scaffolding, ender eyes can be placed without breaking adventure restrictions. - 🔁 Live-editable — repeaters, comparators, and brushable blocks (suspicious sand/gravel) work in adventure mode. - 🚪 Live-editable — teleport to a safe spot if you ever get stuck. Cooldown is bypassed if you're inside a protected area. - 🔧 Live-editable — admins can opt themselves out of the adventure-mode switch (default ON). - 📜 Live-editable — every break/place inside a protected structure is recorded with timestamp, player, position, and structure ID. - 🌍 Live-editable — English + German, automatically picked from each player's client language. - 💾 Live-editable — manage everything via in-game commands without restarting.

---

How It Works

When a player walks into a structure marked as protected, the mod switches them to Adventure mode and shows a small action-bar notice (`⚠ Protected Area — Adventure mode active`) plus a sound cue. Adventure prevents normal block breaking, but Structural Safety re-enables four explicit categories:

| Category | Default contents | How to use | |---|---|---| | Adventure-mode interaction | cracked/mossy stone bricks, mossy cobblestone, cobweb, iron bars, decorated pot, pointed dripstone, vines, cave vines, big/small dripleaf, hanging roots, glow lichen | Adventure-mode interaction with the correct tool. Blocks that don't require a specific tool in vanilla can be broken with bare hands. | | Adventure-mode interaction | torch, soul torch, lantern, soul lantern, hay block, slime block | Right-click to place. Despawns automatically after `tempMinutes` (default 10 min). Saves you from fall damage in dungeon shafts. | | Adventure-mode interaction | ender eye, ladder, scaffolding | Right-click to place. Stays forever. Use ladders/scaffolding to escape pits. | | Adventure-mode interaction | repeater, comparator, suspicious sand, suspicious gravel + any `BrushableBlock` | Right-click without sneaking. The mod momentarily lifts the adventure restriction for that one click. |

When the player exits the protected area, the mod restores their previous game mode (so creative builders stay in creative).

---

Commands

All commands are under `/structuralsafety`.

Player commands

| Command | What it does | |---|---| | `/structuralsafety info` | Shows current settings, lists, and the adventure-mode rules | | `/structuralsafety escape` | Teleports you to a safe surface position. Cooldown ignored inside protected areas. |

Admin commands (permission level ≥ 2)

| Command | What it does | |---|---| | `/structuralsafety admin opbypass <true|false>` | Toggle the op-bypass for adventure mode | | `/structuralsafety admin time escapetime <minutes>` | Set the escape cooldown | | `/structuralsafety admin time temptime <minutes>` | Set the lifetime of temporary blocks | | `/structuralsafety admin block destroy {list|add|remove}` | Manage breakable weak blocks | | `/structuralsafety admin block interact {list|add|remove}` | Manage adventure-interactable blocks | | `/structuralsafety admin block place temp {list|add|remove}` | Manage temporary-placement items | | `/structuralsafety admin block place perm {list|add|remove}` | Manage permanent-placement items | | `/structuralsafety admin structure {list|enableall|disableall|add|remove}` | Manage which structures are protected |

All `list` subcommands are paginated with clickable [REMOVE] / page navigation buttons.

---

Default Protected Structures

Vanilla structures protected out of the box: - Abandoned Mineshaft, Simple Dungeon, Pillager Outpost - Desert/Jungle Pyramid, Mansion, Ocean Monument - Stronghold, Trial Chambers, Ancient City - Nether Fortress, Bastion Remnant, Nether Fossil, End City

Modded structures are auto-detected on first server start and added as disabled — enable them with `/structuralsafety admin structure add <id>` or via the in-game list. You can also tag custom structures with the `#structuralsafety:protected` data pack tag for permanent protection.

---

Configuration

Settings are stored in `config/structuralsafety_settings.json` and updated live whenever you use admin commands. You can also edit the file directly while the server is offline.

When new versions add default entries (e.g. additional weak blocks), they are merged into your existing config without overwriting your customizations.

---

Audit Log

Every break or place inside a protected structure is appended to `config/structuralsafety_audit.log`:

``` [2026-05-08 14:23:11] BREAK_WEAK player=Steve uuid=… world=minecraft:overworld pos=12,64,-45 target=minecraft:cobweb structure=minecraft:stronghold ```

Easy to grep, easy to import into log analyzers.

ADS