Back to mods
WN Bluemap project artwork

CurseForge · Minecraft mod

WN Bluemap

Live faction/nation territory map for Warring Nations on BlueMap: claims, active war frontlines, capitals, and alliances, with terrain-following borders, incremental live updates, and optional Discord integration.

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

Quick answer

Which WN Bluemap release should I use?

Updated yesterday
Latest stable file wn-bluemap-neoforge-1.4.0.jar
Game version 1.21.1
Loader NeoForge

WN Bluemap wn-bluemap-neoforge-1.4.0.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 Bluemap 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 Bluemap wn-bluemap-neoforge-1.4.0.jar need?

wn-bluemap-neoforge-1.4.0.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 Bluemap wn-bluemap-neoforge-1.4.0.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.44.0.403 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 Bluemap without breaking your instance.

Built for WN Bluemap wn-bluemap-neoforge-1.4.0.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use wn-bluemap-neoforge-1.4.0.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-bluemap-neoforge-1.4.0.jar. It opens that exact file at the source.

About this project

What does WN Bluemap add?

Version Minecraft NeoForge Requires BlueMap Side

Warring Nations: BlueMap

Warring Nations: BlueMap (WN BlueMap) turns BlueMap into a live political map of your server: nation territory, villages, active wars, alliances, and rivalries, all reading straight off Warring Nations' own state.

It reads claim geometry from FTB Chunks, nation color from FTB Teams, and nation/war/village/diplomacy state from the Warring Nations API, then draws it all as clean, color-coded regions on BlueMap. Everything updates automatically as the game state changes; nobody has to log in to see what's going on.

Server-side only. No client mod is required.


What appears on your map

Marker sets Toggleable Global

Four marker sets, each independently toggleable in the BlueMap web app:

Layer Marker set What it shows
Nations wnbluemap.territory Every nation's claimed territory, terrain-following borders + ground tint, one rich popup per region
Active Wars wnbluemap.war The contested frontline between nations at war, with a live per-war scoreboard popup
Diplomacy wnbluemap.diplomacy Lines between nations with a standing relation: green for alliances, amber for rivalries
Villages wnbluemap.villages Village-tier territory, rendered as a flat, paler decal distinct from nation land

There is no separate capital marker. Warring Nations has a real in-game capital concept, and a nation's popup names its capital when it has one, but a capital's chunk coordinates are deliberately withheld from the public API (the same rule /nation home follows), so the name is all the map ever shows, never a location. See What it deliberately does not show below for the reasoning.

Markers are global, the same for every viewer. This is a shared public political map, not a personal minimap.

Nations

Render layers Terrain following WN claims only

Each nation's claimed chunks are merged into clean polygons in the nation's color (/nation color, or a stable generated color if none is set / it's plain white or black). Split territories, unclaimed gaps, and enemy pockets enclosed inside a nation's land all render correctly as separate regions with real holes, nothing gets painted over. Only Warring Nations claims are shown; ordinary FTB personal/party claims are excluded.

Rendering happens in two layers per region:

  • Terrain-following border walls. Rather than a flat slab floating at a fixed world Y (which clips underground on any world whose ground isn't near vanilla sea level, and floats in the air over hills), the border is built from wall panels sampled along the real ground height every borderSampleSpacing blocks, merging consecutive same-height samples into longer panels so flat runs don't cost extra markers. Small decorations (flowers, leaves, torches) are skipped by the ground-height scan so they don't create false steps.
  • A flat ground tint over the whole claimed area, sitting just above sampled ground height so it wins BlueMap's depth test from directly overhead but is naturally occluded by real terrain from an angled 3D view, from above, the tint shows the territory; from an angle, the raised walls make the borders easy to read. Adjacent chunks sampled at the exact same height are merged into one polygon (fewer markers, no per-chunk seams).
  • If a BlueMap map has no 3D camera at all (both enable-perspective-view and enable-free-flight-view disabled in BlueMap's own per-map config, a common flat/Dynmap-style setup), this addon detects that directly from BlueMap's config and skips all ground-height sampling for that dimension, drawing one flat shape per region instead, since a locked top-down camera can't tell a terrain-hugging wall from a flat one.
  • A nation currently at war gets a war-tinted, thicker border so an active conflict is visible even with the Active Wars layer hidden.

Every region a nation holds carries a full popup, so a multi-region nation has one at each disjoint piece of land rather than at a single arbitrary point:

Popup field Detail
Name & color Nation's display name and color swatch
Tier The tier's in-game name and its war-power multiplier
Region size Chunk count and area in blocks² for that region
Center Block X/Z of the region's center
Capital Named only if the nation has designated one, never a coordinate (see above)
Alliance bloc Named if the nation belongs to one
Leader & members Player-head avatars, leader plus up to 8 named members with a "+N more" overflow
Allies / enemies Named lists of standing diplomatic relations (the same relations drawn as lines on the Diplomacy layer)
War flag A banner if the nation is currently at war

Active Wars

Frontline Both war models Scoreboard

Highlights the contested frontline, a nation's claimed chunks that directly border an enemy nation's claimed chunks, rather than tinting entire territories. Reads from an accessor that covers both of Warring Nations' war systems (the legacy war model and file-defined composable war types), so a composable war shows a frontline and war tint exactly like a legacy one.

Clicking a frontline opens a live scoreboard, one row per war that nation is currently fighting:

  • The opponent's name.
  • Both sides' score, written from the clicked nation's own point of view (its score first), with a leading / level / behind verdict.
  • The war type, humanized from its underlying id (border_skirmish"Border skirmish").
  • Roughly how long the war has run, at a deliberately coarse resolution ("just started", "14m in", "3h in", "2 days in"), elapsed time and score are baked into a cached marker refreshed on rebuild, not live-ticking, so the display never claims more precision than the rebuild cadence backs up.
  • A war still in its post-declaration countdown reads as "Mobilizing" instead of a meaningless 0-0.

Per-chunk live capture progress is deliberately not shown, see What it deliberately does not show.

Diplomacy

Alliance Rivalry Hidden by default

Draws a line between any two nations that both hold land in the same dimension and have a standing relation, anchored at each nation's largest-region centroid (an invisible point, no marker sits there):

  • Alliance, green (allianceColorRgb), popup shows both nations' names and tiers with a "sworn to defend each other" note.
  • Rivalry, amber (rivalryColorRgb), popup marks it explicitly as a standing posture, "not an active war." Rivalry lines are deliberately never the war color, so a declared-enemy line can't be mistaken for an active conflict at a glance. Toggleable independently via rivalryLines (on by default).

Only drawn between two nations in the same dimension, a line across worlds has no meaningful position on a single map. Hidden by default (diplomacyLinesDefaultHidden); each viewer can turn it on in the web app's layer list.

Villages

Flat decal No scanning Muted

Renders the village territorial tier, Warring Nations' sub-nation-level territory, as its own claim space, distinct from nation land at a glance:

  • A flat decal, never extruded border walls: villages render with zero ground-height scanning (no border-wall or tint sampling at all), so village rendering carries essentially none of nation territory's per-block scanning cost.
  • Paler, more muted coloring than nation territory (villageFillOpacity/villageLineOpacity default lower than the nation equivalents) so a village never reads as a nation-scale claim at distance.
  • An affiliated village inherits its owning nation's color; a standalone village gets its own.

Popup shows the village name, whether it's standalone or affiliated (and to which nation), region size/area/center, and its leader, no member roster (Warring Nations only exposes a village member count, not names) and no war banner (villages have no war state of their own).


Live updates

Debounce Incremental Full refresh

Markers rebuild automatically, debounced (debounceMillis, default 1500ms of quiet) so a burst of changes causes one redraw instead of many. Rebuilds are triggered by Warring Nations events, claim changes (including war captures), nation create/disband/rename, membership changes, village changes, war start/end, war score changes, and diplomacy changes, plus BlueMap enabling/reloading and server start. Only the nation(s) or village(s) that actually changed recompute; a periodic full refresh (fullRebuildEvery, default every 500 passes) exists purely as paranoia insurance against an unknown cache-invalidation gap, not as the routine mechanism for anything.

A war score changing rebuilds the war layer only. It does not touch cached territory or trigger the expensive per-block border rescan a real claim change does, otherwise every capture point awarded during an active war would drag a full border rebuild of both belligerents along with it.

Pacing under load

Queues Sized against Cached

Ground-height scanning (border walls and tint) is real per-block world reading, and turning tint samples into merged polygon markers is real geometry work, both are spread across server ticks at five independent granularities instead of run as one synchronous burst, each bounding a different thing that scales independently:

Queue Config key Default Bounds
Nation setup nationsPerTick 3 Splitting a dirty nation's claims into connected regions, cheap, but only enumerates work
Border walls wallRegionsPerTick 8 Building one connected region's walls, bounds a nation fragmented into many disjoint claim pockets
Tint sampling tintCellsPerTick 150 Ground-height sampling per claimed chunk, scales with claimed area
Tint grouping tintGroupsPerTick 200 Turning merged same-height plateaus into polygon markers, work that measures over 100ms unpaced for a single 42,000-chunk nation on realistically varied terrain
Villages villagesPerTick 10 Village territory building, no ground scanning to pace, just boundary tracing

Pacing is sized against real large-server leaderboard data (a top nation with 42,136 claims). One known limit remains: a single nation whose entire territory is one large, compact, unfragmented region still has that region's boundary traced in one synchronous call (~60ms measured at 42,000 chunks), region-level pacing only helps once a nation has more than one region to spread the work across.

Beyond pacing, territory, tint, and war-frontline results are all cached per nation and only recomputed when the state they actually depend on changes (claims, color, or, for frontlines, an adjacent enemy's claims/color/name). Diplomacy lines are deliberately left uncached (their O(nations²) pairwise cost tracks nation count, not claim size, so a claim burst never makes them more expensive).


Configuration

Live values No restart Groups

Config file: config/warring-nations/wn-bluemap-server.toml (alongside the other Warring Nations addons' configs). All values are read live, an edit takes effect on the next rebuild, no restart needed.

Features

Key Default Effect
territory true Draw nation territory
warOverlay true Draw the contested-frontline overlay
diplomacyLines true Draw alliance + rivalry lines
diplomacyLinesDefaultHidden true Start the diplomacy layer hidden in the web app
rivalryLines true Also draw the ENEMY half of diplomacy, not just alliances (requires diplomacyLines)
villages true Draw village territory

Territory style

Key Default Effect
fillOpacity 0.30 Legacy flat-slab fill alpha (unused once borderWallHeight-style rendering applies; kept for the flat-only-map fallback)
lineOpacity 0.80 Legacy flat-slab border alpha
lineWidth 2 Territory border-line width in pixels
shapeMinY / shapeMaxY 62 / 74 Bottom/top Y of the extruded slab on a flat-only map
depthTest false false = borders show through terrain
borderWallHeight 4 Height in blocks of each terrain-following border wall panel
borderSampleSpacing 4 Sample terrain height every N blocks along a border, so walls step with slopes/cliffs
borderThickness 0.5 Wall panel thickness in blocks, centerd on the true chunk boundary
borderOpacity 0.85 Border wall opacity
tintEnabled true Draw the flat ground tint over claimed area
tintOpacity 0.30 Tint fill opacity
tintHeightOffset 1.0 Blocks above sampled ground height the tint sits at; needs real clearance, at 0.1 the tint is invisible from the flat map
maxSurfaceScanDepth 48 Max blocks the ground-height scan walks down before giving up and reporting the surface, bounding worst-case cost for e.g. a deep uncapped shaft
fullRebuildEvery 500 Force a full uncached recompute every N rebuild passes, as pure safety-net insurance

War appearance

Key Default Effect
colorRgb 0xFF3030 War / frontline color
lineWidth 3 Frontline border-line width in pixels
fillOpacity 0.45 War overlay fill opacity
allianceColorRgb 0x30FF60 Alliance-line color
rivalryColorRgb 0xFF9A30 Rivalry-line color (deliberately never the war color)

Village style

Key Default Effect
fillOpacity 0.22 Village fill opacity, kept lower than nation tint so a village never reads "louder" than nation territory it sits inside/next to
lineOpacity 0.70 Village border-line opacity
lineWidth 1 Village border-line width in pixels

Layer names

Names shown in the BlueMap web app's layer list:

Key Default
territory Nations
war Active Wars
diplomacy Diplomacy
villages Villages

Behavior

Key Default Effect
debounceMillis 1500 Quiet period before coalescing a burst of changes into one rebuild
nationsPerTick 3 Nations whose claim geometry is set up (regions enumerated) per tick
wallRegionsPerTick 8 Border-wall regions built per tick
tintCellsPerTick 150 Claimed chunks tint-sampled per tick
tintGroupsPerTick 200 Merged tint plateau shapes built per tick
villagesPerTick 10 Villages built per tick
dimensionMode ALL ALL / INCLUDE (only listed) / EXCLUDE (all but listed)
dimensionList minecraft:the_nether,minecraft:the_end Dimensions used by INCLUDE/EXCLUDE
mapWebRootUrl "" Public BlueMap URL used to build Discord deep links; blank disables them

Optional Discord integration

No hard dependency Channel Posts

With WN Discord installed, this addon (reflection-guarded, no hard dependency) registers a bluemap logical channel, map it to a real Discord channel with bluemap=<channelId> in WN Discord's own [channels].extra config, plus a %wn_maplink% placeholder that resolves to mapWebRootUrl, and posts a short message with a map link whenever a war starts or ends.

When WN Discord is absent, or its bridge core isn't running yet, every Discord call is a silent no-op and map rendering is completely unaffected.


Requirements

Java BlueMap API Loader Warring Nations FTB

Requirement Value
Minecraft 1.21.1
Loader NeoForge 21.1.225+
Warring Nations 3.4.0+
FTB Chunks Required
FTB Teams Required
FTB Library Required
BlueMap 5.x for NeoForge 1.21.1
WN Discord Optional, for the war-start/war-end map-link posts above
Side Server only. Do not install on the client.

Install alongside Warring Nations and BlueMap on the server. Nothing needs to be installed on the client.


What it deliberately does not show

Opsec Public map

  • No capital coordinates. Warring Nations withholds a capital's chunk position from its public API the same way it withholds /nation home from other nations, since BlueMap markers are global and visible to every viewer, including enemies, broadcasting the true location would undo that opsec entirely. The name crosses the API boundary; the location never does.
  • No siege-specific styling. The war layer shows the contested frontline plus each war's scoreboard, not a per-chunk siege ring or objective marker, the public API doesn't expose one.
  • No live per-chunk capture progress. Marker rebuilds are debounced and paced across ticks by design; a capture bar that finishes in under a minute would be stale on the map more often than it was right. Whole-war score is the right granularity for a map, and the game itself already surfaces live capture progress in-world (boss bars, HUD readouts).
  • No cross-dimension diplomacy lines. A line across worlds has no meaningful position on a single map.
  • No non-Warring-Nations claims. Ordinary FTB personal/party claims are excluded entirely.
  • No private/per-player map views. Every viewer sees the same public political map.

Companion addons

Addons Server only

  • WN Siege: extends Warring Nations claim protection to Create, weapon, and explosive mods, breachable only during a declared war.
  • WN Discord: full Discord bridge, and the integration point for this addon's map-link posts (see above).

Project description from CurseForge.

Pick your setup

WN Bluemap 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 Bluemap versions and loaders

4 of 4 releases match

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