02
WN-Siege
COMPATIBILITY LAYERA claim system stops a pickaxe, not a cannon shell, bomber payload, mining laser or mechanical roller. Modded weapons write blocks through code paths no claim mod sees, so protection that tested airtight leaks the moment someone rolls out artillery. Siege routes every world-altering action from a supported mod through one decision first: who owns the land, who is allied, who is at war.
The rule
No break, no placement, round stopped. Nothing to roll back because nothing changed.
A blast reaching a claim at peace loses only those blocks and breaches the rest. A clipped corner won't cancel the blast; an open-ground detonation won't spare claims in range.
A projectile belongs to its shooter's nation, traced through the ownership chain. An unmanned machine belongs to whoever steers it, else a train's owner, else the chunk it sits in -- never the chunk it reaches into. A source-less blast belongs to the chunk it detonates in.
Supported mods
Each module is independent and optional. Only mods present at boot are enforced; absent ones are skipped, with nothing to configure.
Covered for free: CC:CBC rides on Create Big Cannons, Aeronautics ship interaction rides on Sable. Checked and confirmed to need nothing: Better Weaponry, Guns Craft: Reforged, TNT Grenades!.
Full compatibility matrix on the wiki → . Adding a new target mod →
Every mixin-based module is checked against the real installed jar before it is applied. If a mod update restructures what Siege hooked, that one module switches off -- not the server. Staff get a red chat warning naming the mod and the reason, plus a log line, while every other module keeps running.
A startup log line lists which modules loaded. The denial log keeps the last 25 denials in memory -- timestamp, dimension, chunk, acting nation, claim owner -- collapsing repeats at one position. Not persisted; clears on restart.
With WN-Discord installed, Siege registers /siege status, check and recent. No hard dependency either way.
No items, blocks, recipes or gameplay systems. No tick loop, timer or world scan: Siege checks only at the call where a supported mod writes a block, so a quiet server does no extra work.
Modules for absent mods never load, so an incomplete list costs nothing and can't break startup. If Warring Nations' API isn't up at very early boot, checks fail open by design rather than locking a world mid-startup.
Configuration
config/warring-nations/wn-siege-server.toml. Every module has its own enabled key, on by default; a general master switch turns off the whole addon regardless of individual module settings. An existing config from the old flat config/ location migrates automatically on first boot.
Every config key on the wiki → . Every command on the wiki →
