1.21.4
1.21.3
1.20
1.19.4
1.19.1
1.19
1.18.1
1.18
1.17.1
1.16.4
Forge
Fabric
The mod adds a self-writing fullscreen map to your Minecraft client. Works as a separate mod but is a lot better with Xaero's Minimap. The reason why it's available separately is to keep Xaero's Minimap as light-weight as possible. This mod is mostly client-sided. Installing it on the server side is optional for some additional features like world identification.
The mod is still in development! Please report any bugs that you encounter or otherwise they won't get fixed. You can private message me to report bugs.
Make sure your world is optimized (Singleplayer - Edit - Optimize World) for the Minecraft version you're playing (repeat after every Minecraft update). It takes A LOT longer to generate singleplayer maps from unoptimized world saves.
Install by dropping the jar into the Minecraft Forge's mods folder, as usual. A step-by-step guide is available on the download page.
Follow me on Twitter? twitter.com/xaero96
Support me on Patreon? patreon.com/xaero96 (in-game rewards, goals for removing ads and more)
Current Mod Features:
Videos:
Screenshots:
How to install the Fabric version:
FAQ
How do I restore pre 1.30 update Nether maps in multiplayer to be displayed in the "full" cave mode type?
First, exit the server and locate the Minecraft game directory that you're using to play on the server. In the game directory, go into xaero/world-map/Multiplayer_[server_address]/DIM-1/[map_folder]. In older versions, xaero/world-map is simply XaeroWorldMap. If such doesn't exist already, create a folder called "caves", without the quotation marks, and go into it. Inside the caves folder, create a folder called "-2147483648", without the quotation marks, if such doesn't exist already. Go back into the folder that contains the "caves" folder and move all ".zip" files to the caves/-2147483648 folder. Feel free to delete the cache folders or also move them with the ".zip" files.
How do I set up cave mode to behave like it used to pre 1.30 before cave mode was introduced?
You can fully achieve this only when using the normal version of the minimap or no minimap at all. The fair-play version of the minimap now disables world map cave mode in the Nether and you can't toggle that, so it won't be exactly like it used to be.
If you have Nether map data from before 1.30, please start by moving it in the correct folder as explained under "How do I restore pre 1.30 update Nether maps in multiplayer to be displayed in the "full" cave mode type?" on this page.
After you're done with that, join a world/server and open the world map settings. Locate "Default Cave Mode Type" and set it to OFF and then set "Legible Cave Maps" to ON. Next, open the world map screen and click the cave icon in the bottom left of the screen. In the menu that opens, set the "Cave Mode Top Y" to absolutely any number. If you are in the overworld, set the "Cave Mode Type" to OFF. When you are in the Nether later, set "Cave Mode Type" to Full. The cave mode type is stored per dimension, so you can set it to Full for any nether-like dimension and keep it on OFF for anything else. You can also switch between displaying below and above bedrock roof by toggling it.
How do I discover the map without manually walking?
In singleplayer, the map is loaded directly from the world save. This means that you can pregenerate the world using whatever tools you prefer, relog and use the "Reload Regions" option in the world map settings to fix any conflicts in the map cache. In multiplayer, it isn't as simple. However, if you can download the server world save and enter the world in singleplayer, then you can pregenerate the world using a method of your choice, relog and then use the "Convert All Regions" in the world map settings to convert the whole world save to a multiplayer-compatible map instance saved to xaero->world-map->World->null->cm$converted. In older versions, xaero/world-map is simply XaeroWorldMap. You can copy/move that map instance folder to your server map instances in the xaero/world-map folder.
Why are multiple worlds on the same server address/IP using and writing to the same map?
This mod lets you have multiple maps on the same server address. You can freely switch between maps and create new ones at any time. Map overwriting can be prevented by choosing the right "Map Selection" mode for the type of server that you are playing on. Map selection is done in a special menu by clicking the bottom left icon on the world map screen (if the menu isn't open by default). In the menu you can switch between Manual, World Spawn and Single modes and select/create maps by using the top-center dropdown menu. If you hover over the Map Selection option, you can read everything you need to know about each map selection mode, including Server mode. World Spawn mode is the equivalent of what was used by the world map pre 1.6. So you don't have to downgrade the mod to still use it. Server mode is the best option for most cases because the server automatically controls your map selection based on server-side level IDs. It requires the mod to be installed on the server side. If changing the map selection mode switches your map to an empty one, you can always rebind the map that you want to be used by selecting it from the dropdown menu and confirming.
Why does the world map ask for confirmation?
A single server address can have multiple overworlds, nethers etc. It can be due to multiple sub-servers or just multiple world saves, for example a "Lobby" world and a "Game" world. Different worlds don't have any unique identifiers on the client side, which makes it impossible to reliably differentiate between them. Because of this, the world map mod lets you have multiple world maps for each dimension on the same server address. In older mod versions, by default, map selection is Manual, which means that you are asked to confirm which map to use every time you switch dimensions/worlds/sub-servers. You can also choose one of the 2 automatic modes. Map selection is done in a special menu by clicking the bottom left icon on the world map screen (if the menu isn't open by default). In the menu you can switch between Manual, World Spawn and Single modes and select/create maps by using the top-center dropdown menu. If you hover over the Map Selection option, you can read everything you need to know about each map selection mode, including Server mode. World Spawn mode is the equivalent of what was used by the world map pre 1.6. So you don't have to downgrade the mod to still use it. Server mode is the best option for most cases because the server automatically controls your map selection based on server-side level IDs. It requires the mod to be installed on the server side. If changing the map selection mode switches your map to an empty one, you can always rebind the map that you want to be used by selecting it from the dropdown menu and confirming.
Why can't I see my minimap waypoints on a server after the installation of the world map?
Your currently confirmed map affects which waypoints sub-world in the minimap mod is considered automatic. This allows each created map to have separate waypoints data. At any point in time, you can select and view any non-automatic waypoints sub-world by going to the waypoints menu (press U) and selecting it from top-right dropdown menu. You can make any sub-world automatic for your currently confirmed map by selecting Options -> Make Sub-World Auto.
Why has my world map "reset" for a specific server?
Do not panic. It's almost certainly not actually deleted (this has never happened as far as I know). Old world map versions use a world spawn-based system to separate a server into multiple maps. This system often breaks because of servers adding custom functionality to the vanilla compass item by sending fake world spawn coordinates to your game client. Make sure you update the mod to the latest version. There are now multiple map selection modes you can choose between, Manual being the default one. You can now view any world map you have on the current server address. Click the bottom left icon on the world map to open the map selection menu, if it's not open by default. The top center dropdown menu allows you to select existing or create new world maps. You can hover over the map selection mode setting (bottom left) to read about how each mode works. Server mode is the best option for most cases because the server controls your map selection based on server-side level IDs. It requires the mod to be installed on the server side. Manual mode is the safest alternative and should work on every other server. There are also 2 additional automatic map selection modes when Server mode isn't an option. Read more about them in the tooltip of the setting.
Old map is not in the map menu? This can mean 2 things: the server address has changed or the dimension IDs have changed.
Let's start with the dimension ID change. Each dimension on the server has a separate directory in the game directory -> xaero -> world-map directory. In older versions, xaero/world-map is simply XaeroWorldMap. Please backup the xaero/world-map directory before you begin doing anything with it. In older mod versions, the dimension directory name contains the server address and the dimension key, for example XaeroWorldMap/Multiplayer_127.0.0.1_DIM1. In newer versions the dimension directory is a sub-directory, so something like xaero/world-map/Multiplayer_127.0.0.1/DIM1. For compatibility reasons, default overworld, nether and the end dimensions are named null, DIM-1 and DIM1. Other dimensions should have their name be based on the original dimension ID, for example Multiplayer_127.0.0.1/minecraft$overworld_creative. In 1.16+, you can see your current dimension ID on the F3 screen ingame to figure out which directory is meant for which dimension (for example "minecraft:overworld"). Please exit to the game title screen or close the game before editing files/directories.
Each dimension directory contains sub-directories, one for each map that you have in the dimension (for example mw$default or mw-4,0,-4) as well as a file named dimension_config.txt that contains the actual display names of the maps. You can use the file to help you find a specific map directory that you want. Moving/copying a map directory between dimension directories should move/copy it between dimensions. You can give it a name later ingame. The most common case would be something like moving a map from /null to /minecraft$overworld_survival. It is needed when a 1.16+ server starts using a unique dimension ID for each sub-world.
For server address changes, you would first have to remove all directories inside game directory -> xaero -> world-map that contain the new server address. In older versions, xaero/world-map is simply XaeroWorldMap. There is usually only 1 such directory if you are using the latest mod version. Please backup the whole xaero/world-map directory before you do that. Also, exit the game at least to the title screen. Then you would have to rename each old server address directory (in xaero/world-map) to the new address, replacing ONLY the address part.
Message me or leave a comment if you have questions!
Here's the old explanation if you can't update the mod to 1.6.1 or newer:
Do not panic. It's almost certainly not actually deleted (this has never happened as far as I know). It's likely caused by a server plugin changing the behavior of the vanilla compass item and interfering with the mod's "multiworld" detection. In most such cases the compass item points to your bed instead of the global spawn point. Sleeping in the right bed again should bring everything back for you if sleeping in another one was the cause of the map "resetting".
If the map "reset" because of a new plugin being added (and if removing it is not an option for you), then here's how you can restore your map (and hope the plugin doesn't do it again):
Make sure Minecraft is NOT RUNNING.
1. Go to the game directory
2. Go to the XaeroWorldMap directory
3. Find directories that represent the dimensions you have visited on the server. These directories contain the address of the server in their name. The one that ends with _null is the overworld, _dim-1 is Nether etc.
4. Open the overworld directory (_null).
5. You should see multiple directories that start with mw.
6. Find the one that is the biggest in file size. Copy the name of it somewhere so you don't lose it.
7. Now find the newest mw directory (likely the emptiest or just check the creation date). Move this directory somewhere else. Don't delete it just yet.
8. Rename the directory from step 6 to the name of the backed up directory from step 7.
9. Open Minecraft and test if the overworld world map is back.
10. If it's not, exit Minecraft and restore the old name of the directory that you have renamed + restore the backed up folder. Reread all the steps to make sure you're doing everything right.
If overworld is now fixed, proceed to step 11.
11. Rename and backup the directories with the same names as overworld for every other dimension that you'd like to restore.
Contact me if you have questions!
Why have my waypoints not restored after restoring the map?
Please read the "Your waypoints are no longer shown for a specific server?" section on the minimap description page. It should cover most cases. Contact me, if it doesn't help.
How do I prohibit the use of cave mode on my server?
To do that, please install the mod on the server side (requires a Forge/Fabric/Quilt server as of writing this). When you start your server, a new "common" config file will be created directly in the server directory (not the world folder). In the config file, you get multiple options that let you disable certain mod features for your players. Changes require a server restart.
Alternatively, if you have the minimap installed, you can include the following strings in a server/system message sent to players (on login), which do the following:
(requires minimap to work) §f§a§i§r§x§a§e§r§o - causes the minimap to disable cave mode (including world map) and entity radar (fair-play mode)
§x§a§e§r§o§w§m§n§e§t§h§e§r§i§s§f§a§i§r - causes world map cave mode to work in the nether despite the minimap being fair-play
§r§e§s§e§t§x§a§e§r§o - reset all the system message flags
How do I let vanilla client players join my server that has the mod installed?
Look for a "common" config file directly in your server directory (not the world folder). In the config file, you get multiple options that let you disable certain mod features for your players. One of the options lets you disable the registration of status effects, which is what prevents players from joining. Changes require a server restart. Do the same for the minimap mod.
Download:
Xaero's World Map for Forge/Fabric + Forge Install Guide
You are allowed to make videos using this mod.
Using it in your modpacks is allowed with the following conditions:
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
I'll be sure to check it out and report anything, bugs or suggestions! Looks good just from the screenshot.
This is a very boring signature... Nothing to see here, move along!
Thanks! Hopefully will get it into decent shape before the actual release
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
Alright! So I've been trying it out, and so far I love it! It already looks the best out of other world maps I've seen. I love the fact that it matches my resource pack, and for some reason, I really love the n/s/e/w indicator in the corner (it looks really nice and simple).
One suggestion I have is to either not have the so much of the map visible at once, or to have the option to toggle something like that. What I mean is that only a small area around the player could be visible, and more appears as the player walks around, in order to encourage exploration.
I'm looking forward to the rest of the planned features and integration with the minimap. Personally, I wouldn't need to see mobs on the big map, but waypoints would be great.
One issue I've caught is this exception in my log, as well as a lot of logspam:
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at java.lang.Thread.run(Thread.java:745)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: java.lang.IllegalArgumentException: Cannot set property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5, 6, 7]} to 15 on block silentgems:FluffyPlant, it is not an allowed value
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at net.minecraft.block.state.BlockState$StateImplementation.func_177226_a(BlockState.java:160)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at net.minecraft.block.BlockCrops.func_176203_a(BlockCrops.java:175)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at net.minecraft.block.Block.func_176220_d(Block.java:147)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapBlock.isGrass(MapBlock.java:15)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapBlock.getParametres(MapBlock.java:20)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapSaveLoad.savePixel(MapSaveLoad.java:240)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapSaveLoad.saveRegion(MapSaveLoad.java:55)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapSaveLoad.run(MapSaveLoad.java:223)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at java.lang.Thread.run(Thread.java:745)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: java.lang.IllegalArgumentException: Cannot set property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5, 6, 7]} to 15 on block silentgems:FluffyPlant, it is not an allowed value
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at net.minecraft.block.state.BlockState$StateImplementation.func_177226_a(BlockState.java:160)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at net.minecraft.block.BlockCrops.func_176203_a(BlockCrops.java:175)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at net.minecraft.block.Block.func_176220_d(Block.java:147)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapBlock.isGrass(MapBlock.java:15)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapBlock.getParametres(MapBlock.java:20)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapSaveLoad.savePixel(MapSaveLoad.java:240)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapSaveLoad.saveRegion(MapSaveLoad.java:55)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapSaveLoad.run(MapSaveLoad.java:223)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at java.lang.Thread.run(Thread.java:745)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: java.lang.IllegalArgumentException: Cannot set property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5, 6, 7]} to 15 on block silentgems:FluffyPlant, it is not an allowed value
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at net.minecraft.block.state.BlockState$StateImplementation.func_177226_a(BlockState.java:160)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at net.minecraft.block.BlockCrops.func_176203_a(BlockCrops.java:175)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at net.minecraft.block.Block.func_176220_d(Block.java:147)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapBlock.isGrass(MapBlock.java:15)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapBlock.getParametres(MapBlock.java:20)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapSaveLoad.savePixel(MapSaveLoad.java:240)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapSaveLoad.saveRegion(MapSaveLoad.java:55)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at xaero.map.MapSaveLoad.run(MapSaveLoad.java:223)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: at java.lang.Thread.run(Thread.java:745)
[15:33:04] [Thread-23/INFO] [STDERR/XaeroWorldMap]: [xaero.map.MapSaveLoad:run:229]: java.lang.IllegalArgumentException: Cannot set property PropertyInteger{name=age, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5, 6, 7]} to 15 on block silentgems:FluffyPlant, it is not an allowed value
I guess it might be an issue with a specific mod? But the message ballooned my log to 124mbs, and eventually my game started to freeze as I noticed that all my ram was taken up (out of 6gb). I've never maxed out before on 1.8.9, so that really surprised me.
Anyway great job~ I'm looking forward to further development.
Thanks for the feedback and for the report. The bug will be fixed and the suggestions considered
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
To Download->
Update a1.1 (MC 1.8.9):
* Reworked Nether maps. Now shows air pockets starting from the top bedrock. Still not perfect but decent (see screenshot).
* Fixed crash while in Nether. Reported by musicatthedisco.
* Fixed Silent Gems crash + memory leak. Reported by sweetsosweet.
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
Thank you for this. Now, if you could make a version for 1.9, and your minimap as well, I will be switching to this.
No signature
This mod looks AWESOME! Great to see that you're making another extremely useful but not game-changing mod.
[center][center]
Got a chance to test out the newest update, and it seems like the issues I pointed out are all cleared up. Thanks for the quick turnaround.
Forge is not out for 1.9 yet but I'll probably update to 1.9 when it is.
Thanks
Glad to hear!
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
I already found that out, but once it comes out and mods for 1.9 start coming out, I will be using this mini-map. Thanks!
No signature
Hopefully Mojang didn't change the code too much. Or else we can expect the new Forge update in like a year
The dude behind Forge has probably also lost motivation because everyone just stays on 1.7.10. Hopefully 1.9 will do better than 1.8 in the terms of mods.
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
Is there anyway to allow you to move while the map is up? I've been playing for a long time, and my in game map is filled out for chunks in all directions of my start point. I have flying, so my preferred way to map is go up above tree level and move around until the black goes away, and the game maps let me do this. Your map, I have to open it, see where the nearest black is, close it, and go in that direction and hope that I hit it. Don't get me wrong, its a fantastic addition to the game experience, but it seemed frustrating to make it fully useful (ie, all filled out).
I'll see what I can do!
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
Can I have this mod in my modpack?
I know it is alpha but it works fine for me.
You can but I'd not recommend that just yet. It might work fine right now but it's not finished.
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
To Download->
Update a1.2 (MC 1.8.9):
+ Added togglable lighting.
+ Improved how transparent blocks are rendered on the map, especially multiple transparent blocks on top of each other. Same changes will be made to the Minimap mod. (noticed a bug right after the update, will be fixed next time)
* Performance optimization.
Some of these changes might require reloading the chunks. Sorry for the inconvenience. This will only happen during the alpha testing.
Also, I would appreciate if you people could test the mod along-side other mods that add new blocks to the game!
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
I hate to ask this but is there anyway you could make a 1.7.10 version ? Please ! I love this mod ,and the idea . It would be awesome if it was for 1.7.10 ,and also part of your mini map mod built in .
This will be out for 1.7.10 when it's finished. So keep an eye out for that, I guess. The minimap will be integrated into this mod one way or another
Flare Jump (Google Play) - my new Android game
patreon.com/xaero96 - support my work & get rewarded with automatic mod updates, capes and more
Xaero's World Map
Better PVP Mod
Xaero's Minimap
is download link broken? when i click download on newest version it says "server not found".