Fill a held Minecraft map directly from its world terrain without exploring every pixel first.
Render the surface or a chosen depth, apply themed palettes, and lock finished maps for displays.
Map Revealer renders the terrain covered by a filled map without requiring a player to explore it first. It can use the surface or a chosen Y-level, transform the result with a themed palette, and lock the finished map so normal exploration does not overwrite custom colors.
- Renders all 128 × 128 pixels of the map held in the player's main hand
- Supports surface rendering and fixed Y-level slices
- Includes normal colors and nine themed palettes
- Preserves terrain shading while applying themed colors
- Automatically locks maps rendered with a themed scheme
- Provides a separate command for locking any filled map
- Processes the reveal with an asynchronous task and reports its duration
- Requires no configuration file or third-party plugin
- Minecraft 1.20 or newer
- Spigot, Paper, Purpur, or a compatible Bukkit server
- Java 17 or newer
- Core Features
- Supported Platforms
- Installation
- Third-Party Plugins
- Using Map Revealer
- Color Schemes
- Commands
- Permissions
- Operational Notes
- Building From Source
- License
- Screenshots
- Download the latest jar from Releases.
- Stop the server and copy the jar into
plugins/. - Start the server.
- Give trusted players
maprevealer.reveal, or use the command as an operator. - Hold a filled map in the main hand and run
/revealmap.
The plugin does not create a configuration file or data directory.
For a first test, use a normal map at scale 0 in a familiar area. Once the result looks correct, try a themed scheme or a fixed depth. Copy valuable map items before experimenting: rendering replaces the pixel data on the held map rather than creating a separate item.
None. Map Revealer is self-contained and does not hook into a permissions plugin directly. Any Bukkit-compatible permission manager can grant its permission node.
The command samples one world position for every map pixel. The map's center and scale determine the sampled X/Z coordinates.
- With no depth, each pixel uses the world's surface and skips fully transparent blocks.
- With a depth, sampling begins at the requested Y-level and moves downward past air or transparent blocks.
- Water and foliage receive specialized color handling; surrounding elevation is used for terrain shading.
- A themed color scheme remaps the calculated Minecraft map color while retaining its shade where appropriate.
- The completed pixel data is written to the existing map item; the command does not create a new map.
The player must remain online for the completion message, and the filled map must contain a valid MapView.
There are 10 scheme values: the standard palette plus nine themed alternatives.
| Scheme | Appearance |
|---|---|
normal |
Standard Minecraft map colors |
withered |
Faded and desaturated |
ender |
Purple void tones |
mystic |
Blue and purple magical tones |
nether |
Red and orange volcanic tones |
sepia |
Warm antique tones |
grayscale |
Monochrome shades |
inverted |
Reversed color treatment |
ocean |
Blue and green nautical tones |
autumn |
Orange and brown seasonal tones |
Any scheme other than normal is locked automatically after rendering. Normal maps remain able to update through ordinary Minecraft exploration unless /revealmap lock is used.
/reveal and /mapreveal are aliases for /revealmap. Commands are player-only and require a filled map in the main hand where noted.
| Command | Description |
|---|---|
/revealmap |
Render the held map at surface level with normal colors. |
/revealmap <depth> |
Render from a specific Y-level within the current world's height bounds. |
/revealmap <scheme> |
Render the surface with one of the listed schemes. |
/revealmap <depth> <scheme> |
Combine a Y-level with a color scheme. The two arguments may be supplied in either order. |
/revealmap lock |
Lock the held map against normal exploration updates. |
/revealmap schemes |
List all schemes in chat. /revealmap colors does the same. |
/revealmap help |
Show the in-game command summary. |
Examples:
/revealmap 64
/revealmap sepia
/revealmap -10 grayscale
/revealmap mystic 32
| Permission | Default | Description |
|---|---|---|
maprevealer.reveal |
Operators | Use all Map Revealer commands. |
- Larger map scales sample positions farther apart but still render 16,384 pixels.
- Revealing terrain may access world chunks covered by the map, so test the command under normal server load before granting it broadly.
- Map locking uses the server's internal map data in addition to disabling position tracking. Test locking again after a major server update because internal field names can change.
- The plugin reports the map center, scale, selected depth, scheme, and elapsed render time after completion.
Requirements: Java 17 or newer and Maven 3.6 or newer.
git clone https://github.com/Cobbleworks/Map-Revealer-Plugin.git
cd Map-Revealer-Plugin
mvn clean packageThe compiled jar is written to target/.
This project is licensed under the MIT License.
| Sepia Theme in an Item Frame | Grayscale Theme |
|---|---|
![]() |
![]() |
| Mystic Theme | Autumn Theme |
![]() |
![]() |
| Desert Reveal | Nether Theme |
![]() |
![]() |






