Warring NationsWarring Nations MC 1.21.1.NEOFORGE.JAVA 21
04

WN-BlueMap

NO CONFIG REQUIRED

Your server knows who owns what, who is invading whom and who is allied with whom. Your web map doesn't. This addon reads live nation, war, diplomacy and village state plus the underlying FTB Chunks claims and paints them onto BlueMap as four toggleable layers. Markers are global: every viewer sees the same map, logged in or not.

LAYERMARKER SETWHAT IT DRAWS
Nationswnbluemap.territoryEvery nation's claimed land, in its own color
Active Warswnbluemap.warContested frontline, plus live siege-ring and objective-site markers
Diplomacywnbluemap.diplomacyLines joining allied capitals, and rivalry lines for standing enemies (hidden by default)
Villageswnbluemap.villagesEach village's own claimed territory, distinct from nation land
Nation cards

Claimed chunks merge into outlined regions; split territory becomes separate regions, and gaps or enemy pockets become holes rather than being paved over. Click for name, tier, claim and member counts, a capital name pill, leader, and up to eight members with player-head avatars.

War bleeds into the map

The war layer draws a narrow band, not whole territories: the chunks that border an enemy's. An at-war nation's color also blends toward the war color, so conflict shows even with the war layer off. Fallen siege rings are visually demoted so progress reads at a glance.

Villages under siege

Villages render as a flat top-down decal, cheap to keep in sync on a large server. A village under conquest siege shows a live under-siege banner on its popup and repaints when the siege starts or lifts.

Borders that sit on the ground

Most map integrations draw claims as a flat slab at one fixed Y: floating over mountains, buried under plateaus.

Here each border is a chain of short vertical wall panels that resample ground height every few blocks and step with the terrain, so borders read right in BlueMap's angled 3D view. Same-height neighbors merge, so long flat runs cost nothing extra. Claimed chunks also get a depth-tested tint just above ground: filled territory from overhead, occluded like a decal at an angle.

Staying in sync

Rebuilds fire on Warring Nations events -- claims, nation and member changes, war start and end, diplomacy changes, BlueMap reload, server start -- not a polling timer. Bursts debounce into one redraw (1.5s quiet by default), only changed nations recompute, and per-block scanning is spread across ticks instead of stalling one for seconds.

Every layer toggles independently in config, and styling, tick pacing, per-dimension inclusion and layer labels are all tunable. Values are read live: edits apply on the next rebuild, no restart.

Pacing under load

Ground-height scanning and turning tint samples into polygons are real per-block work, spread across ticks at five independent granularities instead of running as one synchronous burst, each bounding a different thing that scales independently. Pacing is sized against real large-server data, a top nation with 42,136 claims.

QUEUEDEFAULTBOUNDS
nationsPerTick3Splitting a dirty nation's claims into connected regions.
wallRegionsPerTick8Building one connected region's border walls.
tintCellsPerTick150Ground-height sampling per claimed chunk.
tintGroupsPerTick200Merging plateaus into polygon markers; over 100ms unpaced at 42,000 chunks.
villagesPerTick10Village territory building, no ground scanning to pace.

Territory, tint, and war-frontline results are cached per nation and only recompute when their dependencies change. Diplomacy lines are deliberately left uncached: their pairwise cost tracks nation count, not claim size.

Full rendering internals on the wiki →

Live-edited, no restart

config/warring-nations/wn-bluemap-server.toml, alongside the other Warring Nations addons' configs. All values are read live; an edit applies on the next rebuild, no restart. Nine key groups cover features, territory style, war/siege/objective appearance, village style, layer names, popup content, Discord, and pacing (above).

With WN Discord installedReflection-guarded, no hard dependency either way. Registers a bluemap logical channel and a %wn_maplink% placeholder; posts a map deep-link whenever a war starts or ends, toggleable independently of the rest of the bridge.

Every config key on the wiki →

What it deliberately does not do

Never renders a capital or home position. A capital's name may appear as a text pill; neither its coordinates nor /nation home's are ever read or drawn. Deliberate opsec against a map any enemy can view.
No cross-dimension alliance or rivalry lines. Both capitals must share a dimension.
No non-nation, non-village claims. FTB party and personal claims aren't drawn; this is a political map.
No per-player visibility. Every viewer sees identical markers, so nothing sensitive is published.

Requires BlueMap 5.x for NeoForge 1.21.1 and Warring Nations 3.4.0+. Server-side only. With WN-Discord installed, war declarations and conclusions are announced there with a link to your map.