In game mini map mode (circular map mode enabled in map GUI -> options menu)
In game full screen GUI.
Zooming out to see the world.
Features:
In game mini-map for multiplayer and singleplayer.
Client side (server does not need to have the mod installed).
The areas you explore are saved and can be viewed by scrolling or zooming the map, even when you are in a completely different part of the world.
Full screen map GUI. Set waypoints by right clicking, pan map by click dragging, zoom with the mouse wheel.
Rotating circular mini map mode. Can be enabled in the options GUI.
Colours for blocks automatically generated from the block's texture.
Support for custom texture packs.
Support for blocks added by mods.
Biomes now coloured appropriately.
Entire map can be written to a PNG image.
Explored chunks are also saved in Anvil format from multiplayer servers, so you can view the world using tools such as Eihort.
When in the Nether the mini map shows your effective location in the Overworld. This makes placing portals easier.
Underground map mode (vastly improved in 2.0.14).
All block colours configurable, including extended block ID's.
If you can't resist walking to every corner of the world in games for no other purpose than filling your map, then this is the mod for you.
It functions like the maps in many RPG's, not only showing your immediate surroundings, but also everywhere you've been before.
Another feature is that once you are done exploring for the day you can press 'm' then 'p' to create a PNG image of everywhere you have explored!
Note: Maps will need to be rebuilt when upgrading to 2.0.12 Press 'M' to enter the map GUI, then zoom out and press 'R' to rebuild the visible regions. May take a long time on large maps (it might be a good idea to do smaller sections at a time by not zooming all the way out).
New in 2.0.15: Texture support. See this post for more info.
Installation instructions for Forge can be found on the Forge wiki.
In Game Key Bindings:
'n' toggles mini-map between normal mode, large mode, and hidden.
'm' opens/closes the interactive map GUI.
',' toggles which marker group is shown.
'.' teleports to nearest visible marker in the direction you are facing.
'page up' zooms out.
'page down' zooms in.
'u' toggles underground mode.
In game key bindings can be changed via the normal Minecraft controls menu:
Press Escape -> Options... -> Controls...
Map GUI Key Bindings:
'M' opens/closes the interactive map GUI.
'Spacebar' cycles through marker groups.
'Delete' deletes the selected marker.
'Home' centers map on the player.
'End' centers the map on the selected marker.
'N' selects next marker in current group.
'C' changes colour of the selected marker.
'P' write currently displayed area of map to PNG.
'T' teleport to selected marker or to cursor position.
'L' toggles map scaling filter between linear (blurred) and nearest (sharp).
'1' toggles display of coordinates in game.
'2' toggles rotating circular mini map mode.
'R' regenerates the currently displayed area of the map. Use after changing texture packs.
'Page up' zooms out.
'Page down' zooms in.
Left click dragging the map pans the view.
Mouse wheel zooms the map view.
Right clicking the map sets a new marker.
Left clicking a marker selects it.
Left click dragging a selected marker moves it.
Mouse wheel on the selected marker cycles the marker colour.
Arrow keys pan the map.
Configuration file options:
Options for configuring the mod are found in:
%APPDATA%\.minecraft\config\MapWriter.cfg
####################
# options
####################
options {
# Max number of steps you can zoom in. Does not affect performance.
I:zoomInLevels=5
# Max number of steps you can zoom out. Larger values decrease performance.
I:zoomOutLevels=5
# chunksPerTick sets the maximum number of chunks updated per tick.
# increase if you find the map updates too slowly.
I:chunksPerTick=3
# The teleport command MapWriter uses. For some servers this may need to be
# set to "tppos"
S:teleportCommand=tp
# Set to 0 to disable teleporting
I:teleportEnabled=1
# the square of the max distance from the player to map chunks at
I:maxChunkSaveDistSq=16384
# set to 0 to disable appending the port number to the world name
# for multiplayer worlds
I:portNumberInWorldNameEnabled=1
# set to 0 to disable saving region files (mca files) in single player
# or multiplayer.
# Warning: without the region files you won't be able to regenerate
# the map when the texture pack changes, or when the save format
# changes in a future MapWriter version.
# In single player it is possible to just copy the Minecraft region
# files to the mapwriter directory to regenerate the map instead.
I:regionFileOutputEnabledSP=1
I:regionFileOutputEnabledMP=1
# Override the directory MapWriter uses to store images and region
# files. Not tested yet.
S:saveDirOverride=
}
Map size and position configuration:
Options for configuring the map are found in:
%APPDATA%\.minecraft\config\MapWriter.cfg
Look for the smallMap, largeMap, undergroundMap and FullScreenMap sections.
An example smallMap section is shown below:
####################
# smallMap
####################
smallMap {
# set to 0 to disable this map mode so that it won't appear
# when pressing 'n'
I:enabled=1
# Map opacity. 0-100 percent
I:alphaPercent=100
# Width of the border in Minecraft screen units.
I:borderWidth=1
# Set to 1 to draw coords.
# Toggled by pressing '1' in the map GUI.
I:drawCoords=0
# The map size as a percentage of the screen height.
# Ignored if both Left and Right or both Bottom and Top margins set.
I:heightPercent=30
# Margin sizes.
# If set to anything but -1 the map will snap to that margin.
# If both the Left and Right or both the Top and Bottom margins are set
# to -1 the map will be centered in that direction.
I:marginBottom=-1
I:marginLeft=-1
I:marginRight=10
I:marginTop=10
# Set to 1 to enable circular map mode.
# Can also be toggled by pressing '2' in the map GUI.
I:circular=1
# Set to 1 to rotate map with player heading.
# Can also be toggled by pressing '2' in the map GUI.
I:rotate=1
# Player arrow and marker size for this map mode.
I:markerSize=3
I:playerArrowSize=4
}
Information on files created and used:
As you explore your world MapWriter will write PNG images for each region to:
.minecraft\saves\mapwriter_sp_worlds\<world name>\images
.minecraft\saves\mapwriter_mp_worlds\<world name>\images
For singleplayer and multiplayer worlds respectively.
MapWriter will also save the chunk data in standard Anvil format to:
.minecraft\saves\mapwriter_sp_worlds\<world name>\regions\*.mca
.minecraft\saves\mapwriter_mp_worlds\<world name>\regions\*.mca
MapWriter stores map configuration options in the file:
%APPDATA%\.minecraft\config\MapWriter.cfg
Markers are stored in the 'mapwriter.cfg' file in the world directory of each world:
.minecraft\saves\mapwriter_sp_worlds\<world name>\mapwriter.cfg
.minecraft\saves\mapwriter_mp_worlds\<world name>\mapwriter.cfg
If you have a large number of markers to copy/convert it's probably easiest to edit the config files rather than editing the markers in game.
Customizing Block Colours:
You can customize the colour displayed on the map for each block ID by adding an override entry in the MapWriterBlockColourOverrides.txt configuration file.
This file is found at (on Windows):
%APPDATA%\.minecraft\config\MapWriterBlockColourOverrides.txt
There will be lines like:
block 37 * 60ffff00 # make dandelions yellow
block 38 * 60ff0000 # make roses red
blocktype 2 * grass # grass block
blocktype 8 * water # still water block
Lines beginning with "block" set the colour of a block. The second field is the block ID, the third the metadata value, and the fourth the colour code in hex (ARGB format).
The wildcard "*" can be used for the blockID or metadata fields to specify all possible block ID's or all possible meta values for a block ID.
Lines beginning with "blocktype" configure how a block is shaded.
Each biome has a separate shading colour for grass, foliage, and water.
Setting the block type makes MapWriter use that shading colour in addition to the texture colour when rendering the block.
Another blocktype is "leaves" which forces the block to be opaque. If this is not set for leaf blocks then trees look weird and flattened.
There are example block colour overrides for some popular mods already in the override file, but if you do add more then please post the changes here and I will add them to the standard release.
PNG Merge Tool: MapWriterMerge.zip
(used to merge all images from a world into a single large PNG file but has been
superseded by the /mwmerge command in version 1.2.7)
Changelog:
2.1.1
Allow waypoint names to have spaces and other special characters (all characters except ":").
If the teleportCommand in the MapWriter.cfg is set to "warp" teleporting to a waypoint will run the command "/warp <waypoint name>" rather than "/warp <x> <y> <z>".
Hide waypoints set in a different dimension.
Fix grey rectangles on nether map (caused by mushrooms growing above the ceiling bedrock!)
Changing the dimension in the full screen GUI now causes the minimap to also display that dimension.
Fix the overlays not working with the circular map mode.
Fix mini map disappearing when chat is opened (jk-5).
Slime chunk overlay now uses the "/seed" command to determine world seed (jk-5).
2.1.0
Support for Minecraft 1.7.2 (thanks jk-5!).
2.0.17
Added underground mode message under mini map when in underground mode.
Back to the basic black border textures.
2.0.16
Added minimap textures by LoneStar144.
Fixed flickering block bug.
Fixed blocks above 127 being rendered incorrectly.
Port number in world name option should now work (not tested).
2.0.15
Support for textures (borders, arrows, and background)
Fix underground map mode crash in The End dimension (thanks to tterrag1098)
Fix RuntimeException in BlockColourGen when used in combination with some mods
2.0.14
Improved underground map mode, smoother updating, shading for regions too far below position, circular update area around player.
Added key bind for underground mode ("U" by default).
Added config file options regionFileOutputEnabledSP and regionFileOutputEnabledMP for disabling region file (MCA file) output in single player and multiplayer respectively.
2.0.13
Fixed greyed chunks in the nether (and maybe in overworld as well?)
Fixed help message overflowing width
2.0.12
Merged ProfMobius's overlay API.
Fixed extra utilities compatibility issue (thanks to taelnia).
Added north arrow.
Smaller coords font size (configurable in GUI->options menu).
Started working on a replacement underground map (very buggy at the moment). Can be accessed by pressing 'u' in the map GUI. Only visible when zoomed in.
Region files are now only used for regenerating the map.
2.0.11
Death markers now work again (thanks to Christian Ehrhardt for the code).
Added GUI option to configure max number of death markers (0-10).
Death markers are now named the date that you died (e.g. 20130926_0956 for 26/09/2013 09:56).
2.0.10
Fixed zoom level changing when entering/leaving Nether dimension. Now the zoom level will only change autmatically when you switch dimensions in the full screen mode.
Made the map snap to the nearest pixel to prevent blurring.
Added an option in the GUI to disable snapping to nearest pixel.
Fixed map position option not changing underground map position.
2.0.9
Added a configurable max chunk draw distance to limit the area around the player that is mapped. Can be changed through the Map GUI -> Options menu.
Added options in the Map GUI -> Options Menu for configuring the map size and screen position. Now you don't have to edit the config file to move the map to a different corner.
Fixed crash with Torch Levers mod (hopefully, haven't tested yet).
Fixed freeze map colours button not regenerating block colours when required.
2.0.8
Add support to 'freeze' the current map colours, so that you can change texture packs without the map colours changing.
Fix the 'r' key for regenerating regions in the map GUI not working properly.
Fix region file bug that caused non-empty sectors to be overwritten.
2.0.7
Fixed dimensions other than overworld not being displayed.
Fixed scaling problem with the large circular map mode.
Changed the way chunks are loaded, hopefully it is more efficient.
2.0.6
Support for Minecraft 1.6.2
Added in game hot key for creating a marker (defaults to 'Insert').
Restructured region code and added custom region file read/write implementation.
Changed the location mapwriter saves marker configuration and explored map data for single player worlds.
Map now tries to match the map view size in blocks to the map size in pixels.
Added dimension field to markers.
Disabled teleporting to markers that were set in another dimension.
2.0.5
Fixed disabling maps in the config file.
Fixed current map mode not being saved.
Fixed texture scaling mode not being saved.
Right clicking the player in the map GUI now creates a marker at the players exact location.
2.0.4
Added an options GUI for configuring the map.
Made it possible to change the map texture size at runtime.
Added trail markers that show the path you have traveled in the last few minutes. Can be enabled in the new options GUI.
Attempt at fixing conflict with shader mods. It appears that some shader mods expect GL depth testing to be enabled and don't enable it themselves, so now it is enabled after the map is rendered. Also changed the circular map stenciling code to not wipe the depth buffer every frame.
2.0.3
Added rotating circular map mode. Press '2' in the Map GUI to activate.
Fixed PNG "area too large" errors.
2.0.2
Fixed chunks on borders of regions not updating.
Fixed map regeneration not working.
2.0.1
Fixed coordinate display (was broken in 2.0).
Improved region management code.
Fixed empty regions being loaded continuously.
Regions now use SoftReferences for pixel data, so that loaded regions are kept in memory until the Java garbage collector closes them. This means that regions will be loaded from disk less often, and also reduce the risk of running out of memory for large texture sizes.
2.0
Support for more zoom out levels ("zoomOutLevels" in config file).
Support for increased map resolution ("maxTextureSize" in config file).
Major code restructure and clean up.
Regions and map texture now updated from background thread.
Changed overlay size and position configuration options.
Buffer for terrain texture now dynamically allocated.
1.3.10
Fixed biome shading problem for biomes with ID greater than 127.
The last teleport height entered is now used as the default height for future teleports.
Removed blockalpha config file section, and added the 'opaque' block type instead.
Added block type entries for some Biomes O Plenty block ID's to improve how leaves and foliage appear on the map.
1.3.9
Updated for 1.5.2.
Stopped using OpenGL FBO's for colour generation and zoom level scaling.
Removed block generation exceptions.
Added "teleportCommand" config option.
1.3.8
Updated for 1.5.1
Started modifying code in preparation for moving everything but rendering to background thread
1.3.7
Map now generated directly from Anvil region files. Base level PNG images no longer needed. Images still used for zoom levels.
Added code for chunk NBT decoding/encoding.
Added map regeneration key.
Added configurable block types so Biome colouring can be performed without using Minecraft code. This is so that the map can be generated from chunks not loaded into the world.
Fixed coord display using incorrect texture.
Fixed chunks not saving on exit.
1.3.6
Fixed bug causing mini map to become tiny.
1.3.5
Changed block colour generation and zoom level code to use drawing methods from Minecraft's Tesselator class.
Made zoom level change when you switch between nether and overworld to match the scaling factor.
1.3.4
Added square brackets around dimension selection box.
Added group selection box in map GUI.
1.3.3
Preliminary support for dimensions other than the overworld. Only tested with the Nether at this stage.
Changed chunksPerTick default from 1 to 3.
Added debugging info for block colour generation.
Regression: Death markers no longer work. Need to find a different way to capture entity death events that works in multiplayer.
Unfixed: Different overworld dimensions on multiverse servers write to the same map.
1.3.2
Support for Minecraft 1.5.
Changed from coremod to mod. Chunks now polled constantly rather than using a bytecode injection to hook the chunk fill method.
Block colours now automatically generated from in game texture.
Biome colouring.
Improved region loading and rendering (regions now copied to large wrapped texture).
Map now refreshes periodically and tries to detect modified blocks.
Unfixed: Different overworld dimensions on multiverse servers write to the same map.
1.3.1
Fixed crash on zoom level recreation due to concurrent file IO in different threads.
Fixed crash upon selecting delete world after a death in hardcore mode.
Mouseover box in GUI now scales with marker name length.
Added help description for Page Up and Page Down keys.
Right clicking a non selected marker now no longer creates a new marker on top of the old marker.
Fixed large map borders not being configurable.
Unfixed: Different overworld dimensions on multiverse servers write to the same map.
1.3
Increased zoom out distance by 16 times. This required adding 4 levels of scaled images for each world. The scaled images should be generated automatically upon login.
Z key in Map GUI now forces recreation of scaled images.
Map size now scales directly with the screen resolution.
Modified the code to support viewing the map in a rectangular window.
Made the map GUI display a full screen map.
Implemented better marker direction calculations when markers are outside of the map area. They should no longer group so tightly in corners.
Home key now centres map on player, end key centres on selected marker.
Added help messages for the new key binds.
Made waypoints larger by default in the large and full screen map modes.
Added border to small and large map modes.
Added 'all' marker group which displays all markers.
Death marker system changed, now only the 3 most recent deaths are marked.
All waypoints are now stored in the world directory. The main configuration file only configures map options now.
Added separate configuration options for large and small map modes.
Marker size and player arrow size can now be configured.
Map borders can be configured or disabled.
Any or all of the small, large and underground map modes can be disabled in the config file.
Removed creative mode check on teleport.
Zoom level no longer shared between GUI and mini map.
Unfixed: Different overworld dimensions on multiverse servers write to the same map.
Unfixed: Null pointer exception on hardcore death when the player chooses to delete the world.
1.2.8
Added interactive map GUI for marker management.
Added configuration options for mini map size and position.
Removed all chat commands (superseded by map GUI).
1.2.7
Added /mwmerge and /mwmergearea commands.
1.2.6
Images are now saved to the Minecraft saves directory rather than the 'mapwriter' folder in the executable directory. Users will need to move images they want to keep to the new folder.
Multiplayer worlds are now saved to 'saves\mapwriter_mp_worlds\'.
World names are now stripped of invalid characters to prevent mapwriter saving to e.g. '..\..\..\Windows' or similar. Users may need to manually rename their world folders.
Restructured code to prevent some null pointer exceptions when components don't load in the expected sequence.
Added death markers.
Added black border around all markers to increase visibility.
Added '/mwdelgroup' command.
Made Glowstone and Giant Mushroom blocks show up on the map.
1.2.5
Fixed map panning increment not scaling with zoom level.
Zooming while map is panned now zooms to the centre of the view rather than to the top left corner.
Fixed teleporting to waypoints created in the Overworld when the player is in the Nether.
Fixed null pointer exception when the player is disconnected before the login packet is processed.
1.2.4
Added key binds for zooming the map.
Fixed an issue causing the map to flicker when used in combination with the Seasons mod. The GL colour was not being reset by mapwriter before drawing.
1.2.3
Added configurable block colours in the '.minecraft\config\MapWriter.cfg' file.
1.2.2
Fixed array out of bounds exception when switching to underground view mode in a map with extended block ID's.
1.2.1
Added confirmation messages for commands and better error output.
Updated class transformer for 1.4.6 obfuscation.
Fixed '/mwcolor' command not working.
1.2
Restructured class transformation code to allow for bytecode insertion into multiple base classes.
Added chat commands.
Markers now stored in a Forge configuration file rather than in markers.txt.
Markers now have a settable name and group.
Changed key functionality (comma changes marker group, period teleports).
1.1.1
Single player worlds are now saved in directories with the correct world name, rather than using the default 'sp_world'.
Image naming convention changed to match the Anvil region name convention, so '2.1.png' is the image for region 'r.2.1.mca'. Previously '2.1.png' would have been named '1024.512.png'.
Mod can now be tested with the 'startclient.bat' script in MCP. Previously it would not work due to the ASM class transformer only working with obfuscated code.
Commented some debugging lines that I accidentally left in 1.1.
1.1
Converted mod to use the Forge API
Acknowledgements:
Chrixian for the code to get death markers working.
ProfMobius for the overlay API.
taelnia for extrautils compatibility patch.
Ebayle for a lot of helpful suggestions early on in development.
LoneStar144 for minimap arrow and border textures.
AnvilMapper Tool
Features:
Standalone utility (not a mod).
Used to generate a map of a world from the Anvil (*.mca) region files. The map can be viewed using the included Google Maps viewer.
Mostly intended for server admins with access to the world files, but also works with the region files saved by MapWriter in multiplayer.
AnvilMapper generates images from the region files (*.mca files) of a world, which can then be viewed by the Google Maps viewer in the 'index.html' web page example included.
Single player worlds are found at:
%APPDATA%\.minecraft\saves\<world_name>
If you are running the MapWriter mod it will save explored areas in multiplayer worlds to:
%APPDATA%\.minecraft\saves\mapwriter_mp_worlds\<world_name>
By default the 'run.bat' script looks in the 'world' directory in the main AnvilMapper directory. So one way to use the tool is to copy the <world_name> directory to the AnvilMapper folder and rename it to 'world' (delete the empty world folder that is already there first).
Alternatively you can modify the 'run.bat' script to point to the world directory you want mapped.
For example, a modified 'run.bat' might look like:
Note the double quotes which are required if the path contains spaces.
Execute the 'run.bat' script, which will start generating images.
Once it has finished open 'index.html' in your web browser and it should show the world in the Google Maps viewer.
Adding colours for custom texture packs or blocks added in mods:
The biome colouring works by using a file called "MapWriterBlockColours.txt" in the main AnvilMapper directory. This file contains a list of block colours and biome shadings for every block ID. It is the same file that is generated by MapWriter when you select the 'Freeze Map Colours' option in the map GUI options menu.
The default MapWriterBlockColours file only contains block colours for unmodified Minecraft blocks. To add colours for more blocks or to use a different texture pack, load the texture pack and respective mods in Minecraft (on any map, does not need to be the one you want to map in AnvilMapper). Then in the MapWriter map GUI option menu, click the "Map Colours: auto" button twice to change it to "freeze" then back to "auto".
This will generate a new "MapWriterBlockColours.txt" file at:
Copy this file into the main AnvilMapper directory, overwriting the existing file, and run "run.bat" to regenerate the map.
Change Log:
2.0
Support for biome colouring.
Support for Nether dimension.
Generates maps much faster than the previous version.
Both MapWriter and AnvilMapper are open-source. Use the code from each in your own mods indiscriminately. You may also redistribute either in your own Mod Packs. I don't care about credit.
Yeah, definitely would be good to make the Nether viewable offline in the Google Maps viewer.
I would rather have the overworld always shown in game however, as I only really use the Nether for fast travel.
So... converted MapWriter to work with the Forge API today.
I had to make it a Coremod as Forge did not seem to provide a way to notify a mod when a chunk is filled with new data.
In the original non-Forge version I simply modified 'Chunk.fillChunk' to call an 'onChunkFilled' method in my mod.
To get the same functionality under Forge without modifying base files, I needed to add a ClassTransformer to modify the bytecode of the Chunk.fillChunk method at runtime.
So that's the reason it is a Coremod.
It seems to work fine with Minecraft 1.4.5 and Forge 6.4.0.395 but I haven't tested with many different combinations of mods.
If it doesn't work for you please post here and i'll see what I can do to fix it.
I like this mod a lot. It works with quite a few mods. At least I never got any errors from running them together. However I would like to know how you get the Anvil Mapper to work. I dont understand how you get it to work in the google map viewer. Could you explain how you make get the files to be read or how to install it or any programs you need to see the map files?
@Mas7er
That's good to hear that the mini map mod works with some other mods.
About AnvilMapper, I seem to have made a mistake in the example 'index.html'.
Usually you copy the world directory you want mapped to the AnvilMapper directory and rename it to 'world'.
Then run the 'run.bat' script to generate the images in '.\world\images_surface' and '.\world\images_caves'.
The mistake is that the 'index.html' page looks for the generated images in '.\images_surface\' rather than '.\world\images_surface'.
I have been manually moving the generated 'images_surface' and 'images_caves' in the world directory to the base directory for testing, but forgot to change the web page for release. Sorry!
I will upload a fixed version ASAP but for now just manually move the 'images_surface' and 'images_caves' to the same directory as 'index.html' (or modify 'index.html' if you know javascript).
@nworB_cirE
You can place markers at the moment by setting the colour with the comma key, and then pressing the period key to set/remove a marker of that colour. Are waypoints a lot different from these markers?
Hrm... I'd rather not add a GUI for selecting which waypoint to teleport to. Maybe chat commands would be ok?
For example:
/mwset for setting and naming markers.
/mwdelete for removing markers.
/mwlist for listing markers.
/mwtp for teleporting to a marker.
That's good to hear that the mini map mod works with some other mods.
For AnvilMapper, you need to generate the images from your world before the Google Maps viewer in 'index.html' works.
Single player worlds are found at:
%APPDATA%\.minecraft\saves\<world_name>
If you are running the MapWriter mod it will save explored areas in multiplayer worlds to:
<minecraft_exe_dir>\mapwriter\<world_name>
You can either copy the <world_name> directory to the AnvilMapper folder and rename it 'world'.
Or you can modify the 'run.bat' script to point to the world directory you want mapped.
For example, a modified run.bat:
Note the double quotes which are required if the path contains spaces.
Then run the 'run.bat' script and it will generate images in 'images_surface' and 'images_caves'.
Once it has finished open 'index.html' in your web browser and it should show the world in the Google Maps viewer.
If it doesn't check that that there are PNG images at the locations:
.\images_surface\<zoom_level>\<x>.<z>.png
.\images_caves\<zoom_level>\<x>.<z>.png
Where zoom_level is 0, 1, 2, 3, or 4, and x and z are numbers.
@nworB_cirE
You can place markers at the moment by setting the colour with the comma key, and then pressing the period key to set/remove a marker of that colour. Are waypoints a lot different from these markers?
Hrm... I'd rather not add a GUI for selecting which waypoint to teleport to. Maybe chat commands would be ok?
For example:
/mwset
for setting and naming markers.
/mwdelete
for removing markers.
/mwlist
for listing markers.
/mwtp
for teleporting to a marker.
Right now Im running Treecapitator, Industrial Craft 2 Beta, Millenaire, Extra Biomes XL, Reis Minimap, Matmos, Desired Blocks, Infernal mobs, Backpacks, Damage Indicators and Multicrafting Table.
The only issue I have is with Millenaire which is the m key. M for millenaire is missions and m for your mod is the map. I figured out holding shift m alters it but it would be nice if you could develop a config file or a menu for changing keys around.
Also I know it says it in the readme.txt in the anvilmapper folder but I think more people would try it if you said to extract the anvilmapper.zip. I honestly thought that you stuck it in the coremods folder. Just a little advice.
Just a quick question. Is it possible to zoom any further on the google maps image?
Yeah... the documentation and usage instructions are a bit meager. Another item on my to do list.
Zooming out or in?
Zooming out further is definitely possible, and would require only a small adjustment in the source code.
Zooming in further is a bit trickier.
At every zoom level a whole new set of images needs to be generated, and at every zoom level further in there are 4 times as many images as the last level.
So the zoom level is limited at the moment to reduce the number of images that need to be generated.
There should be a way in Google Maps to zoom in without needing a new set of images, by scaling the previous level in the browser, but I haven't found a way to do that yet.
So at the moment you can't zoom in further unfortunately.
Darn. Its just a tad hard to see whats on the map so far.
I dont know if its minecraft itself or your mod but the google images seems to not register in the correct colors? When looking at a snow biome or a desert biome its almost like looking at one color. Do you know if that's just the way minecraft makes the maps or would it be possible to distinguish the colors better by darkening and sharpening up the image?
That's strange... Are the colours you can see the same as in the screenshot at the top of the page?
The screenshot is mainly of a desert Biome but there is snow in the top right corner for comparison.
I have used mostly the same colours that Minecraft uses, but it is pretty easy to change them manually.
Open 'AnvilMapper.java' in a text editor, use Notepad++ if the line endings are messed up.
At line 51 you should see:
public static final int BC_AIR = 0x00000000;
public static final int BC_STONE = 0xff707070;
public static final int BC_GRAVEL = 0xff716053;
public static final int BC_GRASS = 0xff7fb238;
public static final int BC_SAND = 0xfff7e9a3;
public static final int BC_SSTONE = 0xfff5e38c;
...
The colour codes are normal RGB hex colours but with 0xff added to the start (the alpha channel).
If you change the colour of BC_SAND to 0xfff5e38c, it will render sand in a slightly darker yellow.
You might also need to change BC_SSTONE to something like 0xfff3de74 so that sandstone is different from normal sand.
Once you have made the changes, save the file and run 'compile.bat'.
If the script complains about not finding javac, you will need to download and install JDK 7 from Oracle.
Finally run 'run.bat' to regenerate the images and reload 'index.html' in your browser to view the changes.
You can place markers at the moment by setting the colour with the comma key, and then pressing the period key to set/remove a marker of that colour. Are waypoints a lot different from these markers?
Hrm... I'd rather not add a GUI for selecting which waypoint to teleport to. Maybe chat commands would be ok?
For example:
/mwset
for setting and naming markers.
/mwdelete
for removing markers.
/mwlist
for listing markers.
/mwtp
for teleporting to a marker.
Yeah, so if I type
"/mwset home" it'll make a waypoint called home,
"/mwdel home" will delete it,
"/mwhide home" will hide it on the map, and
"/mwshow home" will show it. In creative,
"/mwtp home" will teleport you there,
"/mwtp home true" will allow teleporting,
"/mwtp home false" will disable teleporting.
"/mwlist" will print out a list of all waypoints, their coordinates, and whether they're enabled to teleport to or not.
Rollback Post to RevisionRollBack
PLEASE! Learn to use spoiler tags, especially when posting crash reports: [spoiler]YOUR TEXT HERE[ /spoiler]
The colors just looked way too bright for what the terrain actually was. Almost like it was several shades lighter. Dont know if you can alter it so the map in the corner displays the colors most closely to the actual terrain or not but it might be something to look into.
Thought occured to me at work today but would it be possible to take this mod and mix it with a in game map that you can make and hang on a wall and be as big as the largest pictures you can get? That right there would make this mod stand above all other map mods
I've implemented chat commands for markers in version 1.2.
You can teleport to the nearest visible marker in the direction you are facing by pressing the '.' key.
Also added coordinates displayed underneath the map, you can switch them on or off using the /mwtogglecoords command.
Thanks for the suggestions.
@Mas7er
Forgot to say before but you can change the default key binds using the main Minecraft menu.
About adding the map to in game pictures:
If you have access to the world files (single player or you are the server admin), it would definitely be possible.
Would only need to make AnvilMapper output data in the correct format and overwrite some in game maps.
It would be a bit low in resolution though (128x128 pixels per map), and if a player walked around with one of the maps the AnvilMapper data would be overwritten.
Still, definitely possible even without a mod.
I know nothing about creating my own mods. But a friend of my friend and I have always wanted to have a 4x4 "painting" of a map would be so sweet. How easy would it be to make it though? If its not a whole lot of trouble do you think you could whip something up for me to test?
Oh right, paintings, I thought you meant a 4x4 array of maps in item frames (like shown here).
To get a map into an in game painting you'd only need to modify the texture for the painting ('art/kz.png' in texture packs or the minecraft.jar). Just open 'art/kz.png' in Paint, take a screenshot of your map in the Google Maps viewer, and crop/scale the screenshot so it fits onto one of the paintings.
A HD texture pack would work best. You can delete everything in the texture pack except for 'pack.txt' and 'art/kz.png' if you want to use the default textures for terrain, items, menus etc.
@macotela
I think an entity radar would cross the line between useful tool and cheat. Same reason I won't highlight diamonds or other ores in underground view mode, even though it would take maybe 3 lines of additional code.
Anyone with some Java knowledge could add functionality like this to my mod and release it under a different name, but I have no plans to.
In game mini map mode (circular map mode enabled in map GUI -> options menu)
In game full screen GUI.
Zooming out to see the world.
Features:
If you can't resist walking to every corner of the world in games for no other purpose than filling your map, then this is the mod for you.
It functions like the maps in many RPG's, not only showing your immediate surroundings, but also everywhere you've been before.
Another feature is that once you are done exploring for the day you can press 'm' then 'p' to create a PNG image of everywhere you have explored!
Note: Maps will need to be rebuilt when upgrading to 2.0.12 Press 'M' to enter the map GUI, then zoom out and press 'R' to rebuild the visible regions. May take a long time on large maps (it might be a good idea to do smaller sections at a time by not zooming all the way out).
New in 2.0.15: Texture support. See this post for more info.
Download:
MapWriter 2.1.1 (Mediafire) (for Minecraft 1.7.2)
MapWriter 2.0.17 (Mediafire) (for Minecraft 1.6.4)
Source Code (GitHub)
Installation:
In Game Key Bindings:
In game key bindings can be changed via the normal Minecraft controls menu:
Press Escape -> Options... -> Controls...
Map GUI Key Bindings:
Configuration file options:
Options for configuring the mod are found in:
%APPDATA%\.minecraft\config\MapWriter.cfg
Map size and position configuration:
Options for configuring the map are found in:
%APPDATA%\.minecraft\config\MapWriter.cfg
Look for the smallMap, largeMap, undergroundMap and FullScreenMap sections.
An example smallMap section is shown below:
Information on files created and used:
As you explore your world MapWriter will write PNG images for each region to:
.minecraft\saves\mapwriter_sp_worlds\<world name>\images
.minecraft\saves\mapwriter_mp_worlds\<world name>\images
For singleplayer and multiplayer worlds respectively.
MapWriter will also save the chunk data in standard Anvil format to:
.minecraft\saves\mapwriter_sp_worlds\<world name>\regions\*.mca
.minecraft\saves\mapwriter_mp_worlds\<world name>\regions\*.mca
MapWriter stores map configuration options in the file:
%APPDATA%\.minecraft\config\MapWriter.cfg
Markers are stored in the 'mapwriter.cfg' file in the world directory of each world:
.minecraft\saves\mapwriter_sp_worlds\<world name>\mapwriter.cfg
.minecraft\saves\mapwriter_mp_worlds\<world name>\mapwriter.cfg
If you have a large number of markers to copy/convert it's probably easiest to edit the config files rather than editing the markers in game.
Customizing Block Colours:
You can customize the colour displayed on the map for each block ID by adding an override entry in the MapWriterBlockColourOverrides.txt configuration file.
This file is found at (on Windows):
%APPDATA%\.minecraft\config\MapWriterBlockColourOverrides.txt
There will be lines like:
Lines beginning with "block" set the colour of a block. The second field is the block ID, the third the metadata value, and the fourth the colour code in hex (ARGB format).
The wildcard "*" can be used for the blockID or metadata fields to specify all possible block ID's or all possible meta values for a block ID.
Lines beginning with "blocktype" configure how a block is shaded.
Each biome has a separate shading colour for grass, foliage, and water.
Setting the block type makes MapWriter use that shading colour in addition to the texture colour when rendering the block.
Another blocktype is "leaves" which forces the block to be opaque. If this is not set for leaf blocks then trees look weird and flattened.
There are example block colour overrides for some popular mods already in the override file, but if you do add more then please post the changes here and I will add them to the standard release.
Old versions:
Mod:
MapWriter 2.1.0 (Mediafire) (for Minecraft 1.7.2)
MapWriter-2.0.16.zip (Mediafire) (for Minecraft 1.6.4)
MapWriter-2.0.15.zip (Mediafire) (for Minecraft 1.6.4)
MapWriter-2.0.14.zip (Mediafire) (for Minecraft 1.6.4)
MapWriter-2.0.13.zip (Mediafire) (for Minecraft 1.6.4)
Mapwriter-2.0.12.zip
MapWriter-2.0.11.zip (Mediafire) (for Minecraft 1.6.4)
mapwriter-2.0.10.zip (1.6.2)
MapWriter-2.0.9.zip (1.6.2)
mapwriter-2.0.8.zip (1.6.2)
mapwriter-2.0.7.zip (1.6.2)
mapwriter-2.0.6.zip (1.6.2)
MapWriter-2.0.5.zip (1.5.2)
MapWriter-2.0.4.zip (1.5.2)
MapWriter-2.0.3.zip (1.5.2)
MapWriter-2.0.2.zip (1.5.2)
MapWriter-2.0.1.zip (1.5.2)
MapWriter-2.0.zip (1.5.2)
MapWriter-1.3.10.zip (1.5.2)
MapWriter-1.3.9.zip (1.5.2)
MapWriter-1.3.8.zip (1.5.1)
MapWriter-1.3.7.zip (1.5)
MapWriter-1.3.6.zip (1.5)
MapWriter-1.3.5.zip (1.5)
MapWriter-1.3.4.zip (BETA) (1.5)
MapWriter-1.3.3.zip (BETA) (1.5)
MapWriter-1.3.2.zip (BETA) (1.5)
MapWriter-1.3.1.jar (1.4.7)
MapWriter-1.3.jar (1.4.7)
MapWriter-1.2.8.jar (1.4.7)
MapWriter-1.2.7.jar (1.4.7)
MapWriter-1.2.6.jar (1.4.7)
MapWriter-1.2.5.jar (1.4.7)
MapWriter-1.2.4.jar (1.4.7)
MapWriter-1.2.3.jar (1.4.7)
MapWriter-1.2.2.jar (1.4.6)
MapWriter-1.2.1.jar (1.4.6)
MapWriter-1.2.jar (1.4.5)
MapWriter-1.1.1.jar (1.4.5)
MapWriter-1.1.jar (1.4.5)
MapWriter-1.0.zip (1.4.4) (non forge)
Source Code:
MapWriter-src-2.0.2.zip
MapWriter-src-2.0.1.zip
MapWriter-2.0.zip
MapWriter-1.3.10.zip
MapWriter-1.3.9.zip
MapWriter-1.3.8.zip
MapWriter-src-1.3.7.zip
MapWriter-src-1.3.6.zip
MapWriter-src-1.3.5.zip
MapWriter-src-1.3.4.zip
MapWriter-src-1.3.3.zip
MapWriter-src-1.3.2.zip
MapWriter-src-1.3.1.zip
MapWriter-src-1.3.zip
MapWriter-src-1.2.8.zip
MapWriter-src-1.2.7.zip
MapWriter-src-1.2.6.zip
MapWriter-src-1.2.5.zip
MapWriter-src-1.2.4.zip
Mapwriter-src-1.2.3.zip
Mapwriter-src-1.2.2.zip
Mapwriter-src-1.2.1.zip
MapWriter-src-1.2.zip
MapWriter-src-1.1.1.zip
MapWriter-src-1.1.zip
MapWriter-1.0.zip
PNG Merge Tool: MapWriterMerge.zip
(used to merge all images from a world into a single large PNG file but has been
superseded by the /mwmerge command in version 1.2.7)
Changelog:
2.1.1
2.1.0
2.0.17
2.0.16
2.0.15
2.0.14
2.0.13
2.0.12
2.0.11
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0
1.3.10
1.3.9
1.3.8
1.3.7
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2
1.1.1
1.1
Acknowledgements:
AnvilMapper Tool
Features:
Download:
AnvilMapper-2.0.zip
Source Code (GitHub)
Usage Instructions:
AnvilMapper generates images from the region files (*.mca files) of a world, which can then be viewed by the Google Maps viewer in the 'index.html' web page example included.
Single player worlds are found at:
%APPDATA%\.minecraft\saves\<world_name>
If you are running the MapWriter mod it will save explored areas in multiplayer worlds to:
%APPDATA%\.minecraft\saves\mapwriter_mp_worlds\<world_name>
By default the 'run.bat' script looks in the 'world' directory in the main AnvilMapper directory. So one way to use the tool is to copy the <world_name> directory to the AnvilMapper folder and rename it to 'world' (delete the empty world folder that is already there first).
Alternatively you can modify the 'run.bat' script to point to the world directory you want mapped.
For example, a modified 'run.bat' might look like:
Note the double quotes which are required if the path contains spaces.
Execute the 'run.bat' script, which will start generating images.
Once it has finished open 'index.html' in your web browser and it should show the world in the Google Maps viewer.
Adding colours for custom texture packs or blocks added in mods:
The biome colouring works by using a file called "MapWriterBlockColours.txt" in the main AnvilMapper directory. This file contains a list of block colours and biome shadings for every block ID. It is the same file that is generated by MapWriter when you select the 'Freeze Map Colours' option in the map GUI options menu.
The default MapWriterBlockColours file only contains block colours for unmodified Minecraft blocks. To add colours for more blocks or to use a different texture pack, load the texture pack and respective mods in Minecraft (on any map, does not need to be the one you want to map in AnvilMapper). Then in the MapWriter map GUI option menu, click the "Map Colours: auto" button twice to change it to "freeze" then back to "auto".
This will generate a new "MapWriterBlockColours.txt" file at:
%APPDATA%\.minecraft\config\MapWriterBlockColours.txt
Copy this file into the main AnvilMapper directory, overwriting the existing file, and run "run.bat" to regenerate the map.
Change Log:
2.0
Both MapWriter and AnvilMapper are open-source. Use the code from each in your own mods indiscriminately. You may also redistribute either in your own Mod Packs. I don't care about credit.
I would rather have the overworld always shown in game however, as I only really use the Nether for fast travel.
I don't know what spotlighting is, but sure!
I had to make it a Coremod as Forge did not seem to provide a way to notify a mod when a chunk is filled with new data.
In the original non-Forge version I simply modified 'Chunk.fillChunk' to call an 'onChunkFilled' method in my mod.
To get the same functionality under Forge without modifying base files, I needed to add a ClassTransformer to modify the bytecode of the Chunk.fillChunk method at runtime.
So that's the reason it is a Coremod.
It seems to work fine with Minecraft 1.4.5 and Forge 6.4.0.395 but I haven't tested with many different combinations of mods.
If it doesn't work for you please post here and i'll see what I can do to fix it.
PLEASE! Learn to use spoiler tags, especially when posting crash reports: [spoiler]YOUR TEXT HERE[ /spoiler]
That's good to hear that the mini map mod works with some other mods.
About AnvilMapper, I seem to have made a mistake in the example 'index.html'.
Usually you copy the world directory you want mapped to the AnvilMapper directory and rename it to 'world'.
Then run the 'run.bat' script to generate the images in '.\world\images_surface' and '.\world\images_caves'.
The mistake is that the 'index.html' page looks for the generated images in '.\images_surface\' rather than '.\world\images_surface'.
I have been manually moving the generated 'images_surface' and 'images_caves' in the world directory to the base directory for testing, but forgot to change the web page for release. Sorry!
I will upload a fixed version ASAP but for now just manually move the 'images_surface' and 'images_caves' to the same directory as 'index.html' (or modify 'index.html' if you know javascript).
@nworB_cirE
You can place markers at the moment by setting the colour with the comma key, and then pressing the period key to set/remove a marker of that colour. Are waypoints a lot different from these markers?
Hrm... I'd rather not add a GUI for selecting which waypoint to teleport to. Maybe chat commands would be ok?
For example:
That's good to hear that the mini map mod works with some other mods.
For AnvilMapper, you need to generate the images from your world before the Google Maps viewer in 'index.html' works.
Single player worlds are found at:
%APPDATA%\.minecraft\saves\<world_name>
If you are running the MapWriter mod it will save explored areas in multiplayer worlds to:
<minecraft_exe_dir>\mapwriter\<world_name>
You can either copy the <world_name> directory to the AnvilMapper folder and rename it 'world'.
Or you can modify the 'run.bat' script to point to the world directory you want mapped.
For example, a modified run.bat:
Note the double quotes which are required if the path contains spaces.
Then run the 'run.bat' script and it will generate images in 'images_surface' and 'images_caves'.
Once it has finished open 'index.html' in your web browser and it should show the world in the Google Maps viewer.
If it doesn't check that that there are PNG images at the locations:
.\images_surface\<zoom_level>\<x>.<z>.png
.\images_caves\<zoom_level>\<x>.<z>.png
Where zoom_level is 0, 1, 2, 3, or 4, and x and z are numbers.
@nworB_cirE
You can place markers at the moment by setting the colour with the comma key, and then pressing the period key to set/remove a marker of that colour. Are waypoints a lot different from these markers?
Hrm... I'd rather not add a GUI for selecting which waypoint to teleport to. Maybe chat commands would be ok?
For example:
/mwset
for setting and naming markers.
/mwdelete
for removing markers.
/mwlist
for listing markers.
/mwtp
for teleporting to a marker.
Right now Im running Treecapitator, Industrial Craft 2 Beta, Millenaire, Extra Biomes XL, Reis Minimap, Matmos, Desired Blocks, Infernal mobs, Backpacks, Damage Indicators and Multicrafting Table.
The only issue I have is with Millenaire which is the m key. M for millenaire is missions and m for your mod is the map. I figured out holding shift m alters it but it would be nice if you could develop a config file or a menu for changing keys around.
Just a quick question. Is it possible to zoom any further on the google maps image?
Zooming out or in?
Zooming out further is definitely possible, and would require only a small adjustment in the source code.
Zooming in further is a bit trickier.
At every zoom level a whole new set of images needs to be generated, and at every zoom level further in there are 4 times as many images as the last level.
So the zoom level is limited at the moment to reduce the number of images that need to be generated.
There should be a way in Google Maps to zoom in without needing a new set of images, by scaling the previous level in the browser, but I haven't found a way to do that yet.
So at the moment you can't zoom in further unfortunately.
I dont know if its minecraft itself or your mod but the google images seems to not register in the correct colors? When looking at a snow biome or a desert biome its almost like looking at one color. Do you know if that's just the way minecraft makes the maps or would it be possible to distinguish the colors better by darkening and sharpening up the image?
That's strange... Are the colours you can see the same as in the screenshot at the top of the page?
The screenshot is mainly of a desert Biome but there is snow in the top right corner for comparison.
I have used mostly the same colours that Minecraft uses, but it is pretty easy to change them manually.
Open 'AnvilMapper.java' in a text editor, use Notepad++ if the line endings are messed up.
At line 51 you should see:
The colour codes are normal RGB hex colours but with 0xff added to the start (the alpha channel).
If you change the colour of BC_SAND to 0xfff5e38c, it will render sand in a slightly darker yellow.
You might also need to change BC_SSTONE to something like 0xfff3de74 so that sandstone is different from normal sand.
Once you have made the changes, save the file and run 'compile.bat'.
If the script complains about not finding javac, you will need to download and install JDK 7 from Oracle.
Finally run 'run.bat' to regenerate the images and reload 'index.html' in your browser to view the changes.
Yeah, so if I type
"/mwset home" it'll make a waypoint called home,
"/mwdel home" will delete it,
"/mwhide home" will hide it on the map, and
"/mwshow home" will show it. In creative,
"/mwtp home" will teleport you there,
"/mwtp home true" will allow teleporting,
"/mwtp home false" will disable teleporting.
"/mwlist" will print out a list of all waypoints, their coordinates, and whether they're enabled to teleport to or not.
PLEASE! Learn to use spoiler tags, especially when posting crash reports: [spoiler]YOUR TEXT HERE[ /spoiler]
The colors just looked way too bright for what the terrain actually was. Almost like it was several shades lighter. Dont know if you can alter it so the map in the corner displays the colors most closely to the actual terrain or not but it might be something to look into.
I've implemented chat commands for markers in version 1.2.
You can teleport to the nearest visible marker in the direction you are facing by pressing the '.' key.
Also added coordinates displayed underneath the map, you can switch them on or off using the /mwtogglecoords command.
Thanks for the suggestions.
@Mas7er
Forgot to say before but you can change the default key binds using the main Minecraft menu.
About adding the map to in game pictures:
If you have access to the world files (single player or you are the server admin), it would definitely be possible.
Would only need to make AnvilMapper output data in the correct format and overwrite some in game maps.
It would be a bit low in resolution though (128x128 pixels per map), and if a player walked around with one of the maps the AnvilMapper data would be overwritten.
Still, definitely possible even without a mod.
Oh right, paintings, I thought you meant a 4x4 array of maps in item frames (like shown here).
To get a map into an in game painting you'd only need to modify the texture for the painting ('art/kz.png' in texture packs or the minecraft.jar). Just open 'art/kz.png' in Paint, take a screenshot of your map in the Google Maps viewer, and crop/scale the screenshot so it fits onto one of the paintings.
A HD texture pack would work best. You can delete everything in the texture pack except for 'pack.txt' and 'art/kz.png' if you want to use the default textures for terrain, items, menus etc.
@macotela
I think an entity radar would cross the line between useful tool and cheat. Same reason I won't highlight diamonds or other ores in underground view mode, even though it would take maybe 3 lines of additional code.
Anyone with some Java knowledge could add functionality like this to my mod and release it under a different name, but I have no plans to.