June 2015 edit: I have updated the included substrate dll in the beta download. Substrate does not appear to properly load a Minecraft 1.8 file, but opens world files through Minecraft version 1.7.10. I will keep an eye on Substrate and update the utility if/when Substrate supports 1.8.n worlds.
Over my Christmas vacation I decided to join in the fun with my kids and begin playing Minecraft. I had actually set up virtual Minecraft servers for them here at home so they could host worlds for their friends. I had bought licenses for my kids and a couple as gifts, but had never actually played the game. I bought my own license and began learning the game.
While playing I ran into the problem of not being able to find things I had built, after having wandered off my spawn area and gotten killed. I didn’t know about making beds at the time, and it wasn’t until one of my sons showed me the “F3” command that I knew how to find anything at all using direction or coordinates… I had mainly gone by sunrise/sunset direction and terrain familiarity.
So armed with F3 I began adding X/Y/Z coordinate info to signs in front of hideouts and tunnels.
I jotted down the coordinates on a piece of paper so I could find them later if I wanted to. As my Minecraft world got bigger, I nerded-out and began plotting a map of my signs on a Visio document. But updating that took time and I began to look for a tool that would look into my Minecraft world and show me where all the signs were. There are some spectacular world utilities out there, but I couldn’t find one that would give me a simple graphic of my signs I could use as a deskside tool while playing the game.
So… off to build my own. I ran across Substrate, a .NET library written by Justin Aquadro for accessing and manipulating Minecraft worlds. Using Substrate, I was able to build a utility to open my Minecraft world and generate a 2D graphic of the X/Z coordinates of my signs. The utility can also print a list of all the signs, what they say on them, and their X/Y/Z coordinates.
Minecraft Sign Plotter’s first public release can be downloaded here. No installation program, just unzip the files in the archive to a single folder and run it.
Some notes on functionality and the options you’ll see:
1) Hit the ellipses button to load your LEVEL.DAT file in the Minecraft save area for your world. That gets the utility pointed to the right place.
2) If your plotted results get too cluttered due to proximity, you can use an ID instead, which is just a sequential number corresponding to a found sign on the list you can print.
3) You can optionally include the display of coordinates on the plot.
4) I found sometimes I like to use signs for small local notes that I don’t need cluttering up the plot. For those, you can make the first character in the sign text something you specify. I have it as a pound sign (#) as the default, so in Minecraft I can start a sign’s text with a pound sign to optionally exclude it from the plots.
5) Top world dimension can be set higher if your world gets huge. The default is 1800, which means that signs within X and Z -900 to 900 should appear
Once your options are set, hit the Create Plots button and wait for the operation to finish.
Once done, you have buttons to:
2) Print Plot : send the plot graphic to a printer. Note that the sign plots rotate through a list of eight or nine colors in order to be able to tell them apart easier on a printout. You can get a print preview by clicking on the “Plot Preview” graphic.
3) Save Plot: saves the plot to your Minecraft world folder (where you loaded LEVEL.DAT)
I have only tested this on my worlds so this is a work in progress for now. It helps me keep track of what I am doing and where to go, I hope others will find it useful! Thanks to Justin Aquadro for creating Substrate which makes all this doable in a short period of time. I plan to include the source code for the sign plotter with the final 1.0 release. Happy mining!