Home›Java›Mods›CityMaps
CityMaps
ModsJava

CityMaps

Java mod listed for Minecraft 26.x. Downloads from the MC Java Mods app on Android.

by Nixx_Nick · on Modrinth

Add your cities on the map a cartography table, bell, and sign. Cartographers sell real maps with colored city markers.

⬇ Download on Modrinth
CityMaps — screenshot 1CityMaps — screenshot 2CityMaps — screenshot 3CityMaps — screenshot 4

CityMaps — Put your cities on the map.

Turn player-built settlements into destinations that other players can discover through ordinary villager trading.

Build a small landmark, give your city a name, and let cartographers spread the word. Travelers can buy a real Minecraft map pointing toward your settlement, whether it is nearby or thousands of blocks away.

CityMaps uses familiar blocks, vanilla dyes, filled maps, and the existing villager trading interface. Players can use its city mechanics without commands, custom menus, client mods, or resource packs.


Found a city through normal building.

Creating a city takes three blocks and a name:

  1. Place a Cartography Table.
  2. Place a Bell directly above it.
  3. Attach a regular Wall Sign to any side of the table.
  4. Write the city’s name on the first line of the sign’s front side.

The completed structure registers automatically. The player responsible receives a short action bar announcement and a vanilla sound.

The plugin checks the finished structure when blocks are placed or the sign is edited, so the order of construction does not matter. The cartography table marks the city’s location.

Use one named sign per table. Other lines on the sign can contain whatever you like.


Discover cities through cartographers.

Registered cities become available through real cartographer villager trades.

By default, each cartographer can offer up to 8 city maps. When the number of cities fits within the limit, every cartographer can offer every city.

For larger catalogs, cartographers receive stable selections of different cities. This keeps individual trading lists manageable while encouraging players to visit different villagers. A small cartographer population may not cover every city when the catalog exceeds the offer limit.


Give every city its own color.

Use a normal Minecraft dye on the sign’s front side to choose the city’s color.

All 16 dye colors are supported. The selected color determines the city’s banner marker and the color of the map’s item name.

For example, a city named Tiflis with a red sign produces a red city marker and a red Map of Tiflis item name.

Sign recoloring updates future map offers automatically.


Travel with real Minecraft maps.

CityMaps produces genuine filled maps centered on the city’s location. Each map includes a colored banner marker and an optional city-name caption.

The normal terrain renderer remains active, so players explore and fill the map through ordinary Minecraft gameplay. Position tracking remains enabled, including the edge indicator that helps players approach a distant destination in the same dimension.

New maps are not supplied with a fully explored view of the destination. Terrain fills in as players explore the surrounding area. Before reaching it, travelers can use the city marker and their position indicator to navigate.

The default description also identifies the destination world.


Rename, recolor, or remove a city.

Edit the sign’s first line to rename the city, or apply another dye to change its color.

Breaking the cartography table, bell, or registered sign removes the city from future trade offers. Clearing the name also removes it. Rebuilding the structure allows a city to be founded again.

Previously purchased maps remain usable and retain their original city name and color. Players can keep maps of settlements that have changed or disappeared.


Configure the experience for your server.

CityMaps generates its settings in:

plugins/CityMaps/config.yml

Configuration comments are provided in English and Russian. English is the default plugin language; set language: ru to use Russian.

You can configure:

Setting What it controls
Language English or Russian messages and map text
Trade prices Emerald and compass costs
Offer limit Maximum city trades per cartographer
Trade stock Purchases available before restocking
Experience Player rewards and villager experience
Price multiplier Normal demand and reputation pricing
Map scale How much terrain each map covers
Marker captions Whether the city name appears beside its marker
City names Maximum permitted name length
World environments Where cities can be founded
Announcements City registration messages
Map text Item names and descriptions for each language
Sounds Registration sound, volume, and pitch
Processing limits Work performed per tick and saving intervals

An example configuration:

language: en

trade:
  emeralds: 8
  compasses: 1
  max-city-offers: 8
  max-uses: 16
  villager-experience: 5
  reward-experience: true
  price-multiplier: 0.0

map:
  scale: NORMAL
  show-caption: true
  paper-decorations: true

city:
  max-name-length: 48
  allowed-environments: [NORMAL]

messages:
  en:
    city-created: 'The city of {city} is now on the maps!'
    map-name: 'Map of {city}'
    map-lore:
      - '&7World: {world}'
  ru:
    city-created: 'Город {city} появился на картах!'
    map-name: 'Карта города {city}'
    map-lore:
      - '&7Мир: {world}'

sound:
  enabled: true
  name: 'minecraft:block.amethyst_block.chime'
  volume: 0.7
  pitch: 1.2

performance:
  structures-per-tick: 64
  chunks-per-tick: 2
  villagers-per-tick: 8
  maps-per-tick: 16
  audit-interval-ticks: 200
  save-interval-ticks: 100

Map names and descriptions support {city}, {world}, {x}, {y}, and {z}. They also support standard & color formatting. The registration announcement supports {city}.

Available map scales are CLOSEST, CLOSE, NORMAL, FAR, and FARTHEST. The default, NORMAL, covers 512 × 512 blocks.

Cities are enabled in Overworld-style worlds by default. Other environments can be enabled, but maps still follow Minecraft’s normal dimension-specific behavior.

Perform a full server restart after changing the configuration. Language and text changes apply to future offers; already purchased items retain their existing names.


Persistent data and controlled processing.

City registrations are stored in cities.yml. Saved map editions are recorded separately in maps.yml, allowing older purchased maps to retain their markers after a restart.

Unloading a city’s chunk does not remove its registration. The plugin checks loaded chunks and relevant block changes, with configurable processing limits. It reuses maps for the same city edition instead of creating a new map for every purchase or trade-window opening.

Back up the CityMaps data folder together with the world’s vanilla map data.

On Spigot, scaling or locking a map can create a new Map ID. These derived maps may not inherit the original city marker and caption; the original purchased map remains supported.


Choose the correct download.

Build Server version Required Java
Paper 26.2 Paper 26.2 Java 25+
Spigot 26.2 Spigot 26.2 Java 25+
Paper 1.21.x Paper 1.21–1.21.11 Java 21+
Spigot 1.21.x Spigot 1.21–1.21.11 Java 21+

CityMaps is installed on the server only. Players can connect with a matching vanilla Minecraft client. No additional plugins are required. Folia is not supported.

To install, stop the server, place one matching CityMaps JAR in the plugins folder, and start the server. Once the configuration has been generated, adjust it if needed and restart before playing.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

File checked by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more