Back to mods
WN Siege project artwork

CurseForge · Minecraft mod

WN Siege

Adds Warring Nations claim/grief protection, with a wartime siege exception, to Create, Create Big Cannons, CBC Military Supplement, TaCZ, Create Nuclear, Steam 'n' Rails cannons, guns, machines, and More!

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which WN Siege release should I use?

Updated 10 days ago
Latest stable file wn-siege-1.12.1.jar
Game version 1.21.1
Loader NeoForge

WN Siege wn-siege-1.12.1.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. All 5 required mods have matching files.

Where it goes

Is WN Siege required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release NeoForge
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does WN Siege wn-siege-1.12.1.jar need?

wn-siege-1.12.1.jar. Change the file and its required mods may change too.

All 5 required mods have matching files

Install Warring Nations, FTB Library (NeoForge), FTB Teams (NeoForge), FTB Chunks (NeoForge) and 1 more first. We found matching files for this game-version and loader setup. 9 come through another mod in the chain.

1 listed on this file 9 pulled in by those mods
Warring Nations Needed by WN Siege wn-siege-1.12.1.jar
required
Matching file found Matched file: warring-nations-neoforge-3.4.1.jar
FTB Library (NeoForge) Needed by Warring Nations
pulled in
Matching file found Matched file: [NEOFORGE][1.21.1] FTB Library 2101.1.35
FTB Teams (NeoForge) Needed by Warring Nations
pulled in
Matching file found Matched file: [NEOFORGE][1.21.1] FTB Teams 2101.1.11
FTB Chunks (NeoForge) Needed by Warring Nations
pulled in
Matching file found Matched file: [NEOFORGE][1.21.1] FTB Chunks 2101.1.21
Just Enough Items (JEI) Needed by FTB Library (NeoForge)
pulled in
Matching file found Matched file: 19.50.0.414 for NeoForge 1.21.1
Architectury API Needed by FTB Library (NeoForge)
pulled in
Matching file found Matched file: [NeoForge 1.21] v13.0.11
FTB Ranks (NeoForge) Needed by FTB Chunks (NeoForge)
pulled in
Matching file found Matched file: [NEOFORGE][1.21.1] FTB Ranks 2101.1.4

9 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add WN Siege without breaking your instance.

Built for WN Siege wn-siege-1.12.1.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use wn-siege-1.12.1.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install Warring Nations, FTB Library (NeoForge), FTB Teams (NeoForge), FTB Chunks (NeoForge) and 1 more first. We found matching files for this game-version and loader setup. 9 come through another mod in the chain.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside wn-siege-1.12.1.jar. It opens that exact file at the source.

About this project

What does WN Siege add?

Version Minecraft NeoForge Requires Mods covered Side

Warring Nations: Siege

Warring Nations: Siege (WN Siege) is a server-side-only addon that extends Warring Nations' claim/war protection to 25 combat, weapons, and automation mods whose block-mutating code routes around vanilla's own break/place/explosion events entirely (mixins, raw Level#setBlock/destroyBlock calls, self-driven Explosion subclasses, or client-triggerable network packets). Nothing here touches the client; do not install it there.

Without Siege, any of these mods can grief a claimed nation's territory in full peacetime with zero permission check, because they never reach the vanilla block-break/explosion event chain Warring Nations itself listens to. This addon closes that gap and layers WN's own peace/war rules on top, so covered actions become a real siege mechanic instead of a hole.

Your land is yours. Allied land is accessible. Enemy land can be attacked during a declared war. Foreign land remains protected during peace.


Territorial rules

Decision function Fails closed Per block

Every world-altering action from a supported mod runs through one decision function (WnSiegeDecision#mayAlter) before it's allowed to touch a block:

Target chunk Result
Unclaimed Allowed
Your own nation's claim Allowed
An allied nation's claim Allowed
A nation you are at war with Allowed, this is the siege
A foreign nation at peace Denied
Actor can't be attributed to any nation Denied

A denied action is cancelled or skipped outright, the block reads as unbreakable, the placement never happens, no partial effect leaks through.

Explosions: filtered per block, not all-or-nothing

Every covered explosion (Create Big Cannons shells, TNT-variant blasts, reactor meltdowns, vehicle rockets, whatever) is walked block-by-block against the decision above, exactly how Warring Nations' own vanilla ExplosionEvent handling already works, extended to every mod-specific explosion path that bypasses that event. A blast that clips three different nations' claims strips only the blocks it isn't at war with; everything else in its radius still goes off normally. This applies identically whether the explosion is a real vanilla Explosion object (generic filter) or a mod's own hand-rolled destroy loop (per-mod mixin).


Attack attribution

Owner chain Fallback Unattributable

Siege resolves who an action belongs to before deciding whether it's allowed:

  • Direct player action → the player's own nation.
  • Projectile (shell, bullet, torpedo, rocket, thrown grenade) → its shooter's nation, walked recursively through the owner chain (vehicle gunner → vehicle → driver, etc.) via vanilla's Projectile#getOwner().
  • Train-mounted or contraption-mounted weapon → the train's or contraption's controlling player where one exists.
  • Unmanned machine with no owner reference at all (a moving contraption breaker, a falling unguided bomb, a reactor meltdown) → best-effort fallback to whichever nation owns the chunk the action is physically occurring in.
  • Genuinely unattributable (e.g. Create: Gunsmithing's Copper Backtank detonation, which has no shooter reference to chain back to) → fails closed: still protected against at peace, but not currently breachable by a legitimate wartime attacker either, rather than guessing an owner.

Supported mods

Mods covered Per mod toggle All optional

If a mod isn't listed here, either it already routes through vanilla's own block/explosion events (already covered for free by Warring Nations' core protection) or it hasn't been audited yet.

Mod Config section What Siege covers
Create create Drills, saws (including whole-tree felling via both the Saw and the vanilla tree cutter), Mechanical Rollers (breaking + track paving), harvesters, ploughs, dispensers/droppers/deployers, and contraption disassembly/placement, attributed to the controlling player, the containing train's owner, or the contraption's own chunk, in that priority order. Two sub-toggles (below) let you disable contraption-placement or roller-paving guarding independently.
Create (packet protection) create_packet_protection Eight remote-interaction network packets that reach their server-side handler with zero positional permission check if crafted or replayed directly (Create only gates the client-side right-click UI, not the packet itself): clipboard edit, super glue attach/detach, toolbox equip/dispose, wrench radial menu, block-entity configuration, and curved train-track removal. The curved-track case gets its own extra check since a track connection's far end can sit on a different claim than its near end.
Create Big Cannons create_big_cannons Cannon and autocannon shell/bullet penetration, shrapnel bursts, and shell explosions, all filtered per affected block. Also gates the cannon-welder network packet, which carries two client-supplied block positions and no distance check of its own, so a crafted packet could otherwise weld or tamper with cannon segments anywhere in the loaded world. Covers the CC:CBC ComputerCraft compat for free (it only fires existing, already-gated CBC cannons).
CBC Military Supplement cbc_more_shells Dual-cannon shells, racked rockets/bombs, torpedoes (all three shrapnel-torpedo variants), the anti-air machine gun, and incendiary fire spread. These munitions reimplement block penetration themselves and never call CBC's own canDamageTerrain hook, so each is checked at its own destruction site.
CBC Neo Warfare cbc_neo_warfare Its Big Cannon shells and autocannon rounds extend CBC's own already-gated classes for free. Its Medium Cannon shell is a sibling class that reimplements block penetration with a raw setBlock call bypassing CBC's canDamageTerrain gate, and is checked at that call. Its unmanned munitions-carrying Create contraption takes the same raw-setBlock path, attributed via controller/train/chunk-owner resolution since it carries no projectile owner of its own.
Create: Warnautics warnautics Aerial bombs and land mines, filtered per affected block. Its blast lifecycle drives its own explosion directly instead of routing through CBC's shared canDamageTerrain choke point, so the check sits in that lifecycle, at Warnautics' own named applyBlastToEntities method. Its small-shrapnel mine variant routes through CBC's own explosion handler and is covered by the create_big_cannons module instead.
Create Nuclear explosions (generic) Reactor meltdown blast damage, via the shared vanilla-explosion filter (see below) since it routes through a real Level.explode.
Create: Steam 'n' Rails railways Its own Roller extension (track-laying / track-material replacement), which diverts around Create's normal Roller-paving path that the create module already gates.
Create Aeronautics aeronautics Its Levitite Blend catalyzer packet, which carries a client-supplied block position and no distance check of its own, converts fluid into a solid crystal block and, by the mod's own default config, destroys every adjacent breakable block around it. Everything else Aeronautics adds (balloons, propellers, hot-air burner, mounted potato cannon) mutates no blocks and needs nothing. Ship/sub-level interaction is covered separately by the sable module, since Aeronautics ships are built on Sable's sub-level engine.
Create: Gunsmithing (cgs) cgs Blaze-round weapons plant a Soul Fire block directly on hit, checked against claim ownership rather than only the mobGriefing gamerule. Hitting a sufficiently-full Create Copper Backtank with any gun projectile detonates it via a raw Level#destroyBlock call, checked at that call. The Backtank case has no shooter reference to attribute, so it fails closed (protected at peace, not breachable at war) the same way Warnautics' land mines do.
NTGL ("NukaTeam's Gun Lib", cgs's required shared library) ntgl Any explosive round drives its own Explosion subclass directly instead of calling Level#explode, so it is filtered at that subclass rather than by the shared explosion filter. Every projectile hit from any weapon built on this library also rolls a chance to break "fragile" (glass-like) blocks via a raw Level#destroyBlock call, checked at that call.
TaCZ tacz Fire-starting incendiary ammo (raw fire-block placement with no event) and glass-shattering rounds. Explosive ammo/grenades are covered separately by the generic vanilla-explosion filter (explosions).
Superb Warfare superb_warfare Rockets, cannon shells, mines, and C4. Several projectile/mine classes call Level#destroyBlock directly for single- or multi-block impact damage outside any explosion. Its shared full-radius CustomExplosion.explode(), the blast every rocket, cannon shell, C4, and aerial/melon bomb goes through, also destroys blocks via its own raw call in a manual radius loop and never populates the vanilla blow-list, so it is filtered inside that loop rather than by the generic filter. Vehicle-fired shots already attribute correctly via vanilla's own Projectile#getOwner().
WarBorn Explosives warborn_explosives A Superb Warfare add-on. Its shrapnel entity shatters glass blocks/panes directly (the same pattern as TaCZ/Immersive Weapons/Point Blank), and its Tm62M mine adds a second manual block-destroy pass on top of its already-covered explosion blast. Its regular grenades and other mine types need nothing further: they attempt no block damage of their own, or route through the covered Superb Warfare explosion.
Point Blank point_blank Its own CustomExplosion class, which fires no real NeoForge explosion event and keeps a private toBlow field that never delegates to vanilla's blow-list machinery, filtered per affected block; plus its hitscan guns, which destroy thin blocks (glass, etc.) directly on impact.
Just Enough Guns just_enough_guns Its shared SpecialExplosion utility (payload drones, C4 vests, placed explosives, faction bomber fire) threads a real shooter/owner through the whole call chain but passes null at the block-destroying blast itself, so the module carries the real owner through to the check. Also covers explosive-ammo bullets, penetrating rounds, flaming arrows, and molotov/grenade fire spread, each gated by the real shooter or thrower.
ScorchedGuns scorched_guns Fragile-block (glass) breaking on the base projectile class, inherited by nearly every bullet type. The Krahg Round, Osborne Slug, and Fire Round's sculk-clear effect each have their own separate raw block-break call. The Scamp Tank and Scamp Rocket hostile mobs terrain-break with no owner. The Penetrator block's tunnel reaches past its own placement point. The mod's mining laser gun fires block-breaking beams against whatever the firing player's raycast hits; each beam-broken block is checked against claim ownership like every other action, attributed to that player.
Immersive Weapons immersive_weapons Bullet glass-shattering on impact (the TaCZ pattern). Its mortar, meteor staff, and landmine already route through real vanilla explosions and need nothing further.
Ballistix ballistix (requires Voltaic) Its shared canBreakBlockState choke point (used by 10 of its ~25 blast types) is gated directly, since Ballistix's own check there consults GriefDefender only. Also covers BlastRejuvination, which regenerates an entire target chunk from fresh world-gen data, and BlastAntigravity's raw block-launching, which bypasses the shared choke point its own sibling blast types use. Known limitation: Ballistix's missile system tracks no owner anywhere in its own data model from launch to impact, so missiles are not attributable; covering them would require new persistent state in Ballistix's own save schema.
BMNW (Bunkers, Machines & Nuclear Weapons) bmnw All 5 nuke types (Caseoh, Dropped Soulfire Bomb, Little Boy, Nuclear Charge, Tsar Bomba) funnel through one shared crater-carving handler that carves chunk-radius blasts with no vanilla events, checked per block at that handler. Attributed via the chunk owner at the point of impact, since the falling bomb tracks no owner and can drift before detonating.
Insane TNT insane_tnt Seven of its ~36 TNT/nuke block variants (Ice, Glitch, Magic Slime, Slime, Sponge, Subzero, Transformation) dispatch raw permission-level-4 /fill commands across areas up to 63 blocks wide with no vanilla explosion event at all, bypassing the generic explosion handler entirely. Each is gated at its command-dispatch call site, checked per chunk across the whole affected area. The remaining ~29 variants already route through a real vanilla explosion and are covered by the generic filter, the same way Create Nuclear's reactor meltdown is.
Pyrotechnics pyrotechnics The thrown Sticky Grenade plants a live primed-grenade block on impact with no event, ahead of its own already-covered delayed detonation. Every other explosive in this mod already routes through a real vanilla explosion and needs nothing further.
Weapons And Tools weapons_and_tools The Magic Wand's laser mode places raw fire/soul-fire with no event at all, letting vanilla fire spread do ungated damage from there. Melee weapons and the wand's ball mode need nothing (effect-only, or already an event-firing vanilla explosion).
Sable sable Right-click, left-click, and block-break aimed at a block on a moving ship's own detached sub-level never resolve to the world position that block actually occupies unless something explicitly translates it, by default, flying a ship over a claim lets a player interact with or break its blocks completely unprotected. Ported from the reference implementation in the CurseForge addon "FTB Chunks: Sable Aerospace." Does not cover ship movement into a claim or ship-borne weapon fire, no reference implementation exists to port from either, so both remain an open, known gap. Known limitation: no concept of ship ownership independent of land ownership, so a player's own ship is denied the same as a stranger's while parked on neutral foreign territory specifically; every other case (unclaimed, allied, wartime enemy) already works correctly.
Eshan's Missile Mod mol Every warhead detonation (direct hit, cluster/incendiary sub-munitions, an intercepted missile's self-destruct) already routes through the mod's own real, cancellable WarheadDetonateEvent.Pre, fired before its vanilla explosion, its own multi-tick crater carving, and its scorch-mark pass all run, a single listener covers all three with no mixin needed. Two incendiary fire-spread call sites (the Incendiary Warhead's area ignition, and the cluster warhead's incendiary sub-munition) run unconditionally regardless of that event's outcome and are gated separately, at their own method head.
WariumCE wariumce A large MCreator-generated military/artillery mod. Every weapon and explosion procedure's block writes are checked through the mod's own WariumBlockAlterEvent, attributed to the firing entity where one is tracked and falling back to the target chunk's owner otherwise. Experimental: this event only exists on a WariumCE build carrying an unmerged upstream patch; against any public WariumCE release, Siege detects the missing event and disables just this module with a log warning rather than crashing or silently failing to protect.

Configuration

Config file Defaults Migration

config/warring-nations/wn-siege-server.toml (an existing config from the old flat config/ location is migrated automatically on first boot).

Key Default Effect
general.enabled true Master switch. When false, no module does anything, regardless of its own toggle.
<section>.enabled true Every mod section above has its own enabled key, on by default. Fully optional per target mod, Siege works with any subset of these mods installed.
create.guard_contraption_placement true Also guards blocks a Create contraption drops into the world on disassembly. Best-effort attribution by the contraption's current chunk; disable if it interferes with legitimate parking near a border.
create.guard_roller_paving true Also guards blocks a moving Mechanical Roller paves into the world ahead of it. Separate from guard_contraption_placement, which only covers disassembly placement; disable if it interferes with legitimate roller use across your own claim boundary.
explosions.enabled true Per-block filter for vanilla-routed explosions (Create Nuclear's reactor meltdown, any mod that calls Level.explode normally, and the ~29 already-vanilla-routed Insane TNT variants). Does not touch Create Big Cannons' own explosions, those are handled by the create_big_cannons module.

Staff tools

Denial buffer Discord commands Verified mixins

Startup log

On boot, the server log prints exactly which target-mod modules were found active this session, so staff can confirm what's actually being enforced without reading the config file.

Recent denials

Siege keeps an in-memory ring buffer of the last 25 denied actions (time, dimension, chunk, acting nation, claim owner), deduplicating repeat denials of the same action in the same tick. It's queryable via the /siege recent Discord command below; there is no in-game slash command for it.

Discord integration (optional)

If WN Discord is also installed, Siege registers a /siege command with three subcommands, no hard dependency either way, and nothing changes if WN Discord is absent:

Command Description
/siege status Which target-mod modules are currently active.
/siege check <x> <z> [dimension] [nation] Simulates whether a given nation (or an unattributed actor) could alter a specific chunk right now.
/siege recent The last 15 denials as an embed, plus a bar chart of denials grouped by claim owner. Staff-only.

Self-healing against target-mod updates

Every injection-style mixin (77 of them, covering every @Redirect/@Inject-at-INVOKE in this addon) is verified against the real, installed target-mod bytecode before Mixin ever attempts to apply it, bypassing Mixin's own transforming classloader to check first. This exists because Sponge Mixin's own failure path isn't a safe fallback: once any mixin fails to apply, Mixin permanently stops applying mixins from any mod for the rest of that session, required: false or not.

If a future target-mod update ever changes a covered method's shape enough to break one of these mixins, that module switches itself off automatically (bypassing the config file, which nobody's watching live), staff online at permission level 2+ get a red chat warning naming the mod and the reason, and a log line is written, instead of the server crashing or silently losing protection with no notice.


Lightweight

No content Idle cost

Siege adds no items, blocks, recipes, or gameplay systems of its own. Only the actions listed above are checked, and it costs nothing for target mods that aren't installed, their modules simply never engage.


Requirements

Java Loader Warring Nations FTB Chunks

Requirement Value
Minecraft 1.21.1
Loader NeoForge 21.1.225+
Required Warring Nations 3.4.0+
Required FTB Chunks 2101.0.0+ (backs Warring Nations' claims)
Optional WN Discord, for the /siege Discord commands above
Side Server only. Do not install on the client.

Install alongside Warring Nations on the server. Every target mod above is optional, install any subset and Siege enforces protection for whichever ones it finds.

Project description from CurseForge.

Pick your setup

WN Siege by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

1 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

WN Siege versions and loaders

4 of 4 releases match

Looking for an older file? The official CurseForge project page is in Resources.