Structure Grief Manager (SGM) is not your typical protection mod. Instead of simply preventing players from breaking blocks, SGM introduces a Lifecycle System. You can allow players to break walls, loot chests, or build temporary bridges, knowing that the structure will automatically regenerate and foreign blocks will decay over time.
It allows for immersive gameplay in protected zones (like Raiding, RPG dungeons, or public servers) without leaving permanent scars on the map.
The heart of SGM is its sgm.json config file. We've included a Smart Macro System to make configuration incredibly easy. You don't need to know every block ID.
@solid - Matches any solid block (Stone, Dirt, Planks).@non_solid - Matches transparent/decoration blocks (Torches, Flowers, Glass).@container - Matches anything with an inventory (Chests, Barrels, Hoppers).@gravity - Matches falling blocks (Sand, Gravel, Anvils).@redstone - Matches signal sources (Levers, Buttons, Pressure Plates).* - Wildcard (Matches everything).Here is a robust example for protecting Villages:
{
"$schema": ".../resources/assets/sgm.schema.json",
"settings": {
"tick_interval": 20,
"respawn_time": 1200,
"decay_time": 600,
"debug_mode": false
},
"zones": [
{
"name": "Village Protection",
"type": "STRUCTURE",
"priority": 10,
"structure_whitelist": ["minecraft:.*village.*"],
"rules": {
"break": [
{
"targets": ["@container"],
"action": "DENY"
},
{
"targets": ["*"],
"blacklist": ["minecraft:dirt"],
"action": "ALLOW_RESPAWN",
"timer": 600
}
],
"place": [
{
"targets": ["@non_solid", "@gravity"],
"action": "ALLOW_DECAY",
"timer": 200
},
{
"targets": ["*"],
"action": "DENY"
}
]
}
}
]
}
/sgm info - Displays the current Zone you are standing in and its priority./sgm memory - (Debug) Shows how many blocks are currently waiting to respawn or decay in the chunk./sgm reload - Reloads the configuration file instantly without restarting the server./sgm test <block_id> - Test if a block matches your current rules.Found a bug or have a suggestion? Please report it on our GitHub Issues Page. Does a specific modded block not respawn correctly? Let us know!