Map Art Simplification Program

Discussion in 'General Minecraft Discussion' started by supereskimo, Nov 27, 2014.

  1. Howdy, EMC!

    This post is mainly for people interested in making maps but who want a simpler way of doing it.

    For a long time now, I've needed a program that could create schematic files to help build map art. Well, I finally took the time and created a (very) simple python script which can do just that. It doesn't have any kind of user interface, but it'll take a map.dat file as input, and then give you a .schematic file as output. Using the schematica mod, you can then build the schematic directly on EMC. Once you're done building, just use an in-game map, and you'll have successfully imported your custom image into EMC!

    To use this tool, you'll need to install the Schematica mod, and you'll also need to install Python (I'll give tutorials on how to do this below). If you don't have access to both of these things, then sadly this tool (and this post) is not for you.

    • This tool gives you access to all map colors attainable in survival mode. You don't have to know how the game logic works to use this tool.
    • You don't have to think while building - just fill in the empty blocks shown by the mod.
    • You don't have to worry about making mistakes - if you misplace a block, the mod will mark it red.
    • The schematica mod gives you a materials list. This lets you know exactly how much of each type of block you'll need to create your map (not counting the dirt/ladders you'll need for scaffolding, or torches to light it up)
    • The program itself tells you how tall the schematic will be, both up and down. This lets you know how high above the world's surface you'll need to start building without touching the ground.
    • Several people can work on the same project at the same time. They just need to all have the same schematic file and have schematica installed.

    • You need to already have a map.dat file to use - you can't directly convert from an image file. However, there's a program called ImageToMap which lets you convert images into map.dat files. I may eventually add direct image-to-schematic conversion to my own program, but don't expect it soon.
    • You need to use the Schematica mod to view the schematic files. As far as I know, there's no way to get around this on EMC.
    • You need to have Python (2.7.8, I believe) installed. I'd like to make a stand-alone program eventually, but again, don't expect it soon.
    • You still have to physically build the schematic in-game. This means finding a good spot, collecting the materials, keeping it lit up (unless you're okay with monsters spawning there), and then spending hours building.

    I've already used this program to make a schematic for the Sassy Smooch map, and it seems to work. If you'd like to help me build the Sassy Smooch map, send me a PM so I can give you the file and other details. If you have any problems getting the program to work, just post below and I'll see what I can do. I'm pretty new to programming, and this is my first time distributing a program, so it's likely someone else will answer before I do :p
    For that matter, I'd eventually like to make this a stand-alone program, and add additional features. Right now the main problem is that I'm really bad at linking libraries and what-not. If you have experience developing GUI programs with Python or C++, I'd appreciate any help.
  2. This program is provided "as is". I seriously doubt it will cause any problems, but I take no responsibility if it somehow damages your system. It's kind of cumbersome to use, so honestly, unless you really want to make map art in the near future, there's not much reason to install this. I just wanted to share this with the few people crazy and/or determined enough to build these on EMC.

    This is only for people who have full administrator rights to their computer. If you don't have permission to install stuff on the computer you're using, please don't even bother trying to use this program.
    1. Install Schematica. Here's a video tutorial:
    2. Install Python. I know the script runs on Python 2.7.8, but it may not run on 3 or higher. But by all means, give it a try and let me know if it works. If you don't already have Python installed, just go to the download page and select 2.7.8. Then, while installing, select the option that lets you access python from the command prompt.
    3. Download the file from the downloads spoiler, and place it in your Python Lib folder. For Windows users, it'll be something like C:\Python27\Lib\
    4. Download the file and put it somewhere you'll remember.
    5. Install ImageToMap. I think you can just download it from the web site (in the spoiler below) and unzip it.

    1. Find an image you want to build. Ideally it should be a square, and not too high resolution.
    2. Open the image using ImageToMap, then export a map.dat file. Make sure you remember where you save it, since you'll need to type its file path into the program later.
    3. Open your command prompt. For Windows users, type "cmd" in your search bar.
    4. Run the Python script. To do this, type "python <filepath>". For example, if you saved the script to your downloads folder, you would type "python C:\Users\User\Downloads\" or something similar. Unfortunately, there's no way to copy/paste to the command prompt. However, if you don't close out of the window, you can hit the up/down arrows to enter the last thing you typed. Also, make sure to use the backslash "\" and not the forward slash "/".
    5. Type the filepath of the map.dat file you want to use, just like step 4.
    6. Type the filepath of the schematic file you want to create. Make sure to end the path name in "
    .schematic". If you try to save directly to the C: directory without admin permissions, the program will whine at you, so try saving somewhere else.
    7. If everything worked correctly, you should have a .schematic file where you told the program to make it. If not, make sure you typed in all the paths correctly.
    8. Place the newly created schematic where the Schematica mod can access it. Type %appdata% in your windows search bar and hit enter. Open the .minecraft folder. If Schematica installed correctly, there should be a folder called "schematics". Place your schematic file in this folder.
    9. Open Minecraft. When you're ready to start building, press the "/" key to open the Schematica menu. Select the schematic file you created and hit done. You should now be able to see a large, 128x128 structure in the world. If not, make sure that "hide" is not selected on the menu accessible from the "-" key.
    10. Press the "*" key to open another menu. This lets you move the schematic around the world. To get the x and z coordinates right, use an empty map and figure out where the corners are. Then line up the southern corners of the schematic with the southern corners of the map. The northern edge of the schematic should go 1 block further than the northern edge of the map. This is normal. To get the correct y value, make sure that all blocks are just above the ground or ocean. Once the schematic is in place, write down the x, y, and z values for future reference, since Schematica won't remember them for you.
    11. Now, build a tower up to the southern edge of your schematic. All blocks on the southern edge should be at the same height, so that's where you'll start building. You should probably place a bed somewhere near here in case you die.
    12. Now, just fill in the blocks shown by the mod. Be careful not to fall through the transparent blocks. You can place blocks below the shown blocks (i.e. dirt for scaffolding), but don't place anything above them (in the y direction). Correctly filled blocks will be blue, and incorrect blocks will be red. You want the schematic to look completely blue from the top once you're finished (besides any torches you may have placed).
    13. Once you're completely done building, look at a map and walk around. You should be able to see your image load. Do this with several other empty maps, so that you'll have backup copies. Take these maps back to town, and they should still show the same image.
    14. (Optional) If you don't want anyone to make a copy of your map, you'll need to destroy the build. This can take almost as long to do as building it in the first place, so plan ahead. DO NOT look at any of your maps within 400 blocks of the build site once you've started destroying it. Doing so will update the map, and will erase the image. However, as long as no one looks at a copy of the map while close to the build site, the maps will not be updated.

    • If you don't want monsters to spawn on your build, then place torches to light it up. Torches won't show up on the final map image. Schematica will mark them red, however.
    • If you need to build downward from where you are, place a water bucket to the side of the block you're standing on. Then place a dirt block below you and build out from there.
    • Water blocks are the only colored blocks which behave differently from the others. I would avoid using the specific shades of blue associated with water unless you know what you're doing. The shade of blue that water has on the map depends on how deep the water is, rather than where the water source block is. shows which colors correspond to which blocks.
    • It's easier to build over the ocean than over land. If you fall (which you will almost definitely do more than once), it's better to fall into water. Also, it's easier to plan around a flat ocean, and easier to get to the location.

    That's pretty much all I have for now. I've been awake for too long, but I'll check back often and try to answer any questions. I hope someone finds this useful!