04
WN-BlueMap
NO CONFIG REQUIREDYour 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.
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.
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 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.
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.
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.
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.
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).
What it deliberately does not do
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.
