Warring NationsWarring Nations MC 1.21.1.NEOFORGE.JAVA 21
02

WN-Siege

COMPATIBILITY LAYER

A 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

One rule, every weaponIdentical for a cannon shell, nuke crater, deployer, or paving roller.
TARGET CHUNKOUTCOME
UnclaimedAllowed
The acting nation's ownAllowed
An ally'sAllowed
A nation the actor is at war withAllowed -- the siege
A foreign nation's, at peaceDenied
Anyone's, when the actor ties to no nationDenied
Denials are silent

No break, no placement, round stopped. Nothing to roll back because nothing changed.

Explosions filter per block

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.

Attribution

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.

MODWHAT SIEGE GOVERNS
CreateDrills, saws, Mechanical Rollers, harvesters, deployers, contraptions, remote-interaction packets
Create Big CannonsCannon shell penetration and explosions, per block
CBC Military SupplementDual-cannon shells, racked rockets and bombs, torpedoes, anti-air
CBC Neo WarfareMedium Cannon shell penetration, unmanned munitions contraptions
Create: WarnauticsAerial bombs, sea bombs, land mines
Create NuclearReactor meltdown craters
Create: Steam 'n' RailsTrack-laying and replacing Roller behavior
Create: Gunsmithing . NTGLBlaze-round fire, Copper Backtank detonation, custom explosive rounds, fragile-block breaking
TaCZExplosive ammo, incendiary rounds, glass-shattering rounds
Superb WarfareRockets, cannon shells, bombs, mines, C4
WarBorn ExplosivesShrapnel, the TM-62M mine's secondary destruction pass
Vic's Point BlankCustom explosion type, hitscan glass damage
Just Enough GunsDrones, C4 vests, explosives, penetrating rounds
Scorched GunsMining laser, fragile-block breaking, penetrating rounds
Immersive WeaponsBullet glass damage, mortar, meteor and landmine blasts
BallistixTen blast types, chunk-regenerating blast, block launcher. Requires Voltaic
BMNWCrater carving behind all five nukes
Insane TNTSeven area-fill blast variants
PyrotechnicsThrown Sticky Grenade's on-impact placement
Weapons And ToolsThe Magic Wand's laser-mode fire placement
SableMoving-ship block interaction, resolved to real world position
Create AeronauticsLevitite Blend catalyzer packet (unlimited range, no reach check)
Eshan's Missile ModWarhead detonations, incendiary fire spread
WariumCE EXPERIMENTALAll weapon and explosion block writes

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 →

Visibility for staff

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.

Footprint

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.

REQUIRESWarring Nations 4.0.0+ . FTB Chunks 2101.0.0+ . NeoForge 21.1.0+. Every decision is server-side; players configure nothing.

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.

KEYDEFAULTEFFECT
create.guardContraptionPlacementtrueGuards blocks a Create contraption drops on disassembly.
create.guardRollerPavingtrueGuards blocks a moving Mechanical Roller paves ahead of it.
explosions.enabledtruePer-block filter for vanilla-routed explosions (Create Nuclear meltdowns, and the like).
general.notifyDeniedPlayersfalseTell a player in chat why their shot or placement was just blocked.
general.notifyStaffOnAutoDisabletrueChat ping to permission level 2+ staff when a module self-disables.
general.denialLogSize25How many recent denials /siege recent keeps in memory.
metrics.enabledtrueAnonymous, aggregate bStats reporting; no player names, UUIDs, IPs or addresses.
Known limitationsBallistix missiles track no owner in their own save data, so they aren't attributable. Sable ship movement into a claim, and ship-borne weapon fire, aren't covered yet — no reference implementation exists to port from.

Every config key on the wiki → . Every command on the wiki →