NMinimap
Serverside minimap based on core shaders

Documentation is available here
Features
- Round and square minimap
- Unlimited amount of custom markers
- Side of the screen selection (left or right)
- Scale of map from 1x (1 pixel = 1 block) to 8x (1 pixel = 8x8 blocks)
- Async work as much as possible
- Map frames that can be switched in-game
- Map size up tp 127 x 127 pixels
- Automatic resource pack build
- Supported minecraft versions from 1.21.11 to 26.2
- Configurable mob and player radar
Supported server platforms
- Papermc
- Folia
- Spigot with a lot of limitations
Showcase

Mods compatibility
Minimap Mods
Plugin can turn off some mod-driven minimaps at all or while serverside minimap enabled:

Supported mods:
- Xaero's Minimap
- VoxelMap-Updated
- JourneyMap
- Another mods do not have such functionality, or it is not documented.
Iris/OptiFine shaders incompatibility
Compatibility cannot be added because Iris don't use core shaders. You can disable NMinimap for users with Iris using NMinimapIrisBlocker

Bedrock
Bedrock is not supported yet due absolutely different render pipeline. Plugin will not allow bedrock players to turn on the minimap if Geyser installed on server.\
Players with nminimap.bedrock-bypass can still use the commands.\
If you are Bedrock developer and want to contribute please contact me.

Inspirations
Credits
- NezuShin - Plugin development
- DartCat25 - Shader development
- DEMEMZEA - Help with readme
- Meisosi - Plugin development,
underground-layersfeature - RBLKtenarios - Greek translation
Looking for affordable and powerful Server hosting?
Make sure to check out GaleniusNodes! Starting at 3€/month.\
With my link you can get 20% off Your first month
Help and support
If you have questions, want ask for a feature or report a bug - feel free to open issue,\ Also you can ask a question in the discord server.
All Versions
+ Add Version1. Added ability to edit display settings - scale, offsets
2. Added
keep-upright setting for markers to fix they rotation on round map3. Added map frames with multiple configurable layers, permissions and in-game selection via /mm frame <frame-name>
<img width="350" height="350" alt="c735113f-3e23-454a-8577-9daf6869a0b9" src="https://github.com/user-attachments/assets/f07da410-b2aa-4bbf-b045-7aa602d6c54e" />
<img width="350" height="350" alt="c918d1d8-8d9a-485d-9605-a176004eaa65" src="https://github.com/user-attachments/assets/e9be62c4-cabe-4d1f-9f13-726667ecf78b" />
5. Added new
nminimap_frame PAPI placeholder6. Added 26.3 support
7. Config updates are now little more convenient.
<img width="682" height="383" alt="2026-09-05_19 17 50" src="https://github.com/user-attachments/assets/77cfd7b4-cbc4-44e3-8a97-d1fb9f71815a" />
1. Added ability to disable cache for specific world using
per-world-settings config section2. Added Bedrock client support for convenience (Message that minimap only work on java version)
3. Added new bedrock-related placeholders -
nminimap_stats_bedrock_players and nminimap_is_bedrock 4. Added permission for /mm command -
command-permission config property5. Fixed lunar client markers blinking
6. Fixed incorrect offset for round map if right side selected
7. No-dependency messages are now little more clear
8. Lot of race conditions and double renders fixed.
## How to update?
1. Already-existing messages in lang files are not being updated automatically. so if you did not changed it manually, just delete it and plugin will copy new version. I'll will try to fix it in later releases.
1. Fixed bug with non-sending messages on 26.2
2. Fixed bug with memory leak on folia server software
3. Fixed bug with obtaining entity ids for packet-based entities on 26.2
4. Added radar -
/mm radar enable command, markers.mob-radar config property, AsyncEntityIconSelectEvent for API5. Added configuration for
another-player-marker markers - another-players-settings config property6. Added Greek
el_GR translation (Thanks to @RBLKtenarios!)7. Added new marker icons for mob-radar -
red_marker, zombie, skeleton, spider8. Added new safety feature - stop render maps when ram is low. See
available-ram-threshold in config.## How to update?
1. Non-arbitrary config settings are not being automatically merged, so I suggest you to copy-paste
mob-markers and sizes config sections from [example config](https://github.com/NezuShin/NMinimap/blob/master/src/main/resources/config.yml) to make it look as intended2. Plugin new requires AnvilORM 1.0.2, so you also need to update this dependency
3. Already-existing messages in lang files are not being updated automatically. so if you did not changed it manually, just delete it and plugin will copy new version. I'll will try to fix it in later releases.
- Added support for 26.2 version
- Added ability to block minimap in specific worlds (
disallowed-worldsconfig property) - Added
/mm admin clean-cachecommand for automatic cache cleaning - Added check for non-existant worlds in cache (
validate-worldsconfig property) - Added automatic updates for lang files (QoL)
- Config updates are not so invasive now (QoL)
- Cache loading little faster now
- Removed useless
max-tiles-in-ramconfig property
- Now map being send to player only if it has been changed (network usage optimization)
- Added non-square markers support
- Added ability to override marker size using
markers.sizesconfig property. underground-layersand WorldGuard support (Thanks @meisosi !)- Added config property
allow-config-updatesto disable automatic config updates. - Added configurable delay for cache loading
- Added world validation (remove cached tiles for non-existent worlds.
validate-worldsconfig property) - Added optional
supported_formatsfor pack.mcmeta for compatibility with another resourcepacks (use-formatsconfig property) - Fixed bug with missing markers on respawn
- Fixed bug with
/mm admin statsaccess without permission
- Added disk overflow protection (
available-disk-space-thresholdconfig property) - Added ability to configure static markers on map (
static-markersconfig property) - Added ability to configure map size in pixels (e.g. 127x127, 64x64;
map-pixel-sizeconfig property) - Added automatic checking for updates (
check-for-updatesconfig property) - Added new [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) placeholders -
nminimap_stats_disk_total_spaceandnminimap_stats_disk_free_space - Added Gzip cache compression
- Now plugin no longer loads and renders chunks outside world border
- Now plugin can work on [Spigot](https://www.spigotmc.org/)
- Added 26.1 Minecraft version compatibility
- Added new [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) placeholders -
nminimap_stats_loading_chunksandnminimap_stats_render_queue - Added resourcepack overlays support
- Now pack.mcmeta is managed by plugin
- Now plugin can work on [Folia](https://papermc.io/software/folia/)
- Added [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) placeholders (optional)
- Added compatibility with minimap mods (disable clientside minimap if serverside is active, or disable at all)
- Added Nether rendering (see
skip-ceilingin config.yml)
- Fixed bug with non-working
zip-destinationsoutput archives - Fixed ru_RU lang file
- Removed redundant debug output
- Replaced player_small marker to prettier version
- Added
default-settingsconfig section - Added
render-new-chunksconfig property