# General Information

Mineways is a program for exporting Minecraft models for 3D printing or rendering. The latest version works with Minecraft 1.2 and later (Anvil); Mineways Version 1.15 works with Minecraft 1.1 and earlier (McRegion). The home page is here. This page explains how to use Mineways effectively, with in-depth descriptions of the various options and related resources.

Check the bug list if you have problems, and let me know if you're still stuck. The program is open-source and is based on the (great) open-source mapping program minutor written by Sean Kasun - his work gave me a huge headstart. Mineways is a superset of his mapper, with a model exporter and other features added. I wrote this program just for fun, I'm not associated with Shapeways or Mojang. There are other print services besides Shapeways that work with Mineways, such as i.materialise and Ponoko, as well as home 3D printers, such as RepRaps and Thing-O-Matics (wiki).

Normally you can just hit "OK" on the export dialog and things will work fine. Read on if you want to understand how to make your models less expensive, use different texture packs, and otherwise tailor you want to see printed out. What follows is extensive documentation about each part of the export and print process. If you don't want to wade through it all, at least search this page for the phrase "Key tip", as these bits are particularly useful.

- Links - useful links to Mineways-related information.
- How I Make an Export - what steps I go through.
- Installation - simple!
- Mapping - lots of ways to change the view and what you see.
  - Color Schemes - change object colors or make them invisible.
- Selecting a Region - define a 3D box in your world for export.
- Exporting Models - basics of exporting.
  - "My Model's Too Expensive!" - how to keep it cheap.
  - Rendering Tips - help for importing to different renderers.
    - Blender - quick tutorial for beginners.
    - Cinema 4D - quick tutorial.
    - 3DS MAX - this might help...
  - Options - the various export options.
  - Exporting to 3D print - in-depth coverage of 3D print options.
- Using Shapeways - two key tricks to use the site effectively.
- Related Resources - model viewers, worlds to try out, etc.
  - Other Packages - other model exporters and related software.
- Shortcut Keys - along with quick descriptions of various features.
- Known bugs - and workarounds, so check here if you have a problem loading, saving, etc.
- Wishlist
- Version History

## Links

- Download the latest Windows version of Mineways (version 2.03, updated 3/23/2012). If you are not using Minecraft 1.2 or newer, you should use Mineways Version 1.15 to read these files. The following texture pack terrain PNG files are included for use with Mineways ("File | Set terrain.png for export"), by permission of their creators (thanks!) - go here to see previews:
  - Coterie Craft by Cpt. Corn (up to Minecraft 1.2.3)
  - DokuCraft by Hickerydickery (up to Minecraft 1.2.3)
  - LB Photorealism (just the 64x64 - there are other sizes) by Scuttles (up to Minecraft 1.2.3)
  - Misa's Realistic Texture Pack by Misa (current)
  - Sphax PureBDCraft (just the 64x64 - there are other sizes) by Sphax84 (up to Minecraft 1.2.3)
- Download v2.02 for Mac. If you are not using Minecraft 1.2 or newer, download v1.15 for Mac. Ported to the Mac OS X platform by Psp4804 by using WINE. You must use the Update:Uninstall.command file in this download to remove any previous version before installing. This program requires X11 for Mac OS X, which comes with the xcode tools, as found on the Mac OS X Install DVD. How to install xcode can be found here. To load your world, you need to navigate to ~/Library/Application Support/minecraft/saves/ and select your save.
- Other platforms: Mineways works on Linux and the Mac under Wine - see link below (and I suspect it also works on the Mac using a virtual machine like VirtualBox - let me know).
- Download the source code (C/C++) - on github, free for just about any use; contributions welcome!
- Minecraft forum thread - this is where I announce important update information, so subscribe to the thread if you're a serious user.
- Video Playlist - where in the first two minutes I install Mineways, export a model from our Minecraft world, preview the result, and then upload it to Shapeways. Tutorials:
  - Mineways tutorial: The Basics
  - Mineways tutorial: How to use the Mac version
  - Mineways tutorial: 3d print cleanup
  - Mineways with a RepRap home printer - the tutorial itself is here.
  - Mineways with Cinema 4D - also see the step-by-step tutorial here.
  - Search YouTube for newer Mineways videos.
- Mineways Flickr group. Best photo so far: this one (not made in Mineways, but it could have been). Note: logging into Flickr appears to allow you to see more images in this group, due to their account review policy. If you submit images, I recommend submitting 5 or more (do some close ups) to avoid their limitations - less than 5 and your photos can only be seen by people signed into Flickr (goofy, I know).
- Search Shapeways for models tagged with "Minecraft", excluding MineToys.
- My modest (non-profit) Shapeways shop shows some buildings I've exported and purchased, mostly for friends. You can look at photos, check prices, and download the models themselves.
- Our world's homepage

Subscribe to Mineways - only for important announcements, such as new version releases. Visit this group.
Email:

## How I Make an Export

I'm assuming you have basic knowledge from the quick-start guide and can find options on the output dialog. If you need more information on a process, just follow the links or search this page for the term.

For me it starts with determining whether the model is printable at all: if it has elements that are floating in the air, then I either don't print it, or will add blocks to hold these elements up in the air when printed. If there are very thin columns holding up larger elements, I have to guess whether these thin columns will be able to support the weight or will break. Even trees will often break off, because their trunks are too thin to stand up to the cleaning process.

If printable, I then decide what part of a model to print. If there's interesting construction below ground level, how deep do I want to go? Should the model get printed as two or more pieces, so I can see the rooms inside? If the model is symmetrical, should I print just half or a quarter of the model and show the interior that way?

Once I've figured out what to capture, there are then a few steps I walk through:

- First do a rough selection of the volume of the model. I select an area, export, and view in the SAP Viewer Complete by double-clicking on the WRL file produced. I then adjust the bounds by grabbing the border of the selection in Mineways with the right-mouse and dragging, and use the "[" and "]" keys to adjust the bottom's height. I export again, then in the SAP Viewer hit Control-F5 to reload the model. Lather, rinse, repeat until I like the result I'm seeing in preview.
- Are there any floating pieces to worry about? If I get the warning that there are floating pieces, I check them out and usually just remove them by cranking up the "Delete floating objects" number, as shown in this tutorial.
- I'll check the price and see if there's any chance I'll ever print the model. Just load the WRL file produced into a text editor. Look for this line near the top: "if made using the full color sandstone material: $ 21.29". If it's reasonable, great. If it's too high, then I try out the ideas in this section.
- Since cost is based on the model's weight (volume), my main thought is "how can I get rid of any blocks I'll never see?" The major part of the work is then making sure unseen rooms are sealed off, so that Mineways can do its job removing them. The easiest way to do this is to add torches to the entrances of rooms and then use the "Seal off entrances" option on the export dialog. What should then happen is that these sealed rooms get filled with glass, then the hollowing process will delete them. Note that you can play in and change your world while also running Mineways, just hit the "R" key in Mineways to reload your world with your changes.
- Do I want to remove glass? If I want to look inside the building and it has glass in the windows, the glass should go (it doesn't print as transparent). Using a color scheme removes the glass, as described in this video tutorial. The downside of removing glass is that costs usually go up, since rooms won't then get removed by hollowing.
- Does filling in the tunnels look better? I'll try the option "Fill in isolated tunnels in base of model" and see how things look on the outside: do I mind having these tunnels filled in? I'll also check the cost and see how much money this option saves me (the price is always lower).
- Should I use another texture pack? I'm still experimenting in this area, and in practice the printing process won't pick up on many fine details (I'm guessing about 8x8 pixel resolution detail at 2 mm/block), but certainly the colors and contrast of a texture pack makes a difference. See this section about how to get and use terrain.png files.

## Installation

Installation is trivial, and there not much to add to: Download and unzip (using 7-Zip or other decompressor) to some directory, like the desktop.

Uninstall: just delete the directory. If you created color schemes, there will be a few small entries in the registry, If you are fanaticaly and really want to clean it all, search for "Mineways" and you'll find them.

## Mapping

Double-click the mineways.exe to run the program. Here's basic map use:

- Load a Minecraft world map with File | Open World. Only worlds where you have the file are available (e.g. single player, or worlds you've downloaded). If you put your maps in a non-standard location, use "Open..." instead and find your level.dat. If you can't load a world, it's almost always due to the first bug described here.
- Scroll around by dragging with the left mouse button, WASD keys, or arrow keys.
- Zoom in on an area by the mouse scroll wheel, Page Up/Page Down keys, or Q/E keys.
- Mouse over a block and look at the bottom of the screen to see its location and ID. (Note that a coordinate like "-76" means "-75 to -76"; "4" means "4 to 5"). "Y" is the height.
- Use the slider at the top of the window to slice away all blocks above the given altitude.
- Search the menu for other interesting options. The "hide obscured" option removes all blocks above the first air found in caves, making it easier to see the caves themselves. This option is turned on when first viewing the Nether. The "give me more memory" option allocates more space for the map; else, if you increase the size of the map window to near-full screen, you'll find performance can die.

### Color Schemes

Color schemes allows you to change the color for any block, and - extremely useful for 3d printing - remove any blocks you want from view. Key tip: you can eliminate all glass from your model by setting its alpha to 0 in a color scheme. This part of this video shows how to use color schemes to do this.

How do use a color scheme: From the menu, Add a new color scheme, then Edit it. Change the name "Color Scheme" at the top of the dialog that pops up to something useful, then select any block type to edit it. Color is given in hexadecimal color format. You can use MWSnap (old but free), FastStone Capture (new but costs $20), or other programs to find the hexadecimal (e.g. #787878) color value of any pixel on your screen. 'Alpha' says how opaque a block will appear on the screen, with 255 meaning fully opaque and 0 meaning fully transparent (invisible). Blocks with an alpha of 0 will be deleted when exporting. You can turn off export of all blocks by using the "Hide All Blocks" button. This feature allows you to create separate parts, e.g. a glass roof could be created by then turning on just glass export.

Changing the color will affect the 3D print model's color for only the "solid material colors" and "richer color textures" export modes; "full color texture patterns" (the default on the export dialog) will not be affected (except water, a little bit). To change full color textures' colors, you need to edit the input terrain.png itself.

## Selecting a Region

To create a 3D file for viewing or printing you first select a 3D box in your world. Whatever is in this box is exported. Hold down the right mouse button and drag to define a selection area. Key tip: once a region is defined, you can then use the right mouse button to select an edge or corner and drag to fine-tune the rectangle.

Once you make a selection, you may get a dialog as shown below.

Example: at first, the selected area does not include all terrain visible from above, as the lower depth is too high. Choosing "yes" lowers this depth and adjusts the slider, as shown in the center. Note that sometimes the adjusted lower depth becomes too low, for example when the selection includes a deep hole. On the right, the lower depth has been increased to the point where some terrain is now not selected. Bright pink shows terrain exactly at this lower depth.

By default the heights used for the rectangular block are from y=62 (sea level) to y=255. The upper slider determines the maximum height, but usually you'll leave this one alone. You'll normally use it for viewing or selecting areas fully underground or in the Nether. The number keys 0-9 can be used to quickly shift the maximum height; the < and > keys shift the altitude by one.

The lower depth can be changed in a number of ways, even when no area is selected. The lower slider is the simplest way to modify this value. If you click the middle mouse button on a location, the lower depth is set to its height. The [ and ] keys shift the lower depth by one, and so are useful for tuning. See the shortcut key list for more program options.

Key tip: to see what you're doing, export the model and view with the SAP Viewer Complete or other tool. I usually work by adjusting the box size and export options in Mineways, export, then viewing the file in the SAP viewer (which has a "file reload" option) to see the results.

## Exporting Models

You can select "Export Model for 3D Printing", control-P, to create a model suitable for sending to a 3D printer. Because of limitations in what the Shapeways model importer can accept, please keep the save file name simple: avoid punctuation, for example. If you want to render the model instead, select "Export Model for Rendering" from the File menu, or use control-R, and save your file. The resulting file(s) can then be imported into a huge variety of 3D modelers and viewers, e.g. Blender.

The big difference between rendering and printing is that 3D print models must be solid and well-formed. Currently Mineways treats all blocks as solid, full blocks: half-steps or stairs are treated as blocks, as is every other block. There is also no transparency for the materials, since printers do not currently support this type of creation. Models for rendering can, when full texturing is on, include billboard models for flowers, saplings, crops, and other elements. Note that the billboard locations are added in comments to the output .OBJ and .WRL files. In this way, a dedicated modeler could substitute his own elaborate grass, flower, or other models in place of the simple billboards Minecraft provides.

### "My Model's Too Expensive!"

If you export to print and upload to Shapeways, you might be surprised to find that the price is sometimes just shy of a used car. For example, this model of our spawn area is 15 x 9.8 inches in size (about 190 x 125 blocks, 2 mm wide), and costs $633.14. Expensive models happen because either the model is too small, or too large. The problem with small models is that each block itself is massive. If you scale a small model to a large height, the blocks themselves become larger and you have to pay for each block's volume. Mineways can't help you much there, you'll need to use a CAD program to hollow out your object manually. Shapeways has a tutorial on hollowing.

The other problem you may run up against is the blocks are not small enough. This happens with larger models, those 100+ hour darlings you sweated over in Minecraft. The cause is that, by default, Mineways exports the model to print at a safe size. Colored sandstone has a thin wall dimension of 2 millimeters. This means if some wall in your model is less than 2 mm thick, it is in danger of breaking into pieces if printed in color. There are some solutions to the price problem:

- Switch to the white and flexible physical material. Choose this material in the options dialog on export and the thin wall minimum drops to 0.7 mm. This brings the price (and size) of your model down, from about $6.00 per thousand blocks to $0.48 per thousand. You do lose color printout, of course, but can paint the model yourself. Your model should print safely.
- Print it smaller and cross your fingers. Change "Make each block 2 mm high" to "Make each block 1 mm high", for example. If you don't have any tree trunks (which at 1 mm will snap right off), thin walls, or other filigree, the model should be fine. You can remove trees from your model by using a color scheme that makes leaves and logs invisible. See this video, which shows how to make glass blocks invisible; just do the same with logs and leaves. At worst, at 1 mm other little bits might break off. Companion cubes will print with no problems, models of insects with thin little legs or feelers are less likely to survive. Keep going smaller until you like the price, or simpler yet, just choose the scaling option "Aim for a cost of $25.00" or whatever you want. Note that Shapeways itself might refuse to print your model if they believe some parts are too thin to support the structure; here's an example where Shapeways decided the support struts were not thick enough.
- Learn more about the options below. Proper use of "fill bubbles" and "super-hollow" can easily combine to reduce your costs by 2/3rds. "Seal off entrances" and "Fill in isolated tunnels" can also help. These options are extremely useful for going to a smaller scale but still having thick enough walls. The strategy I like is to have the interior of the building get filled with blocks by using "fill bubbles" and then have "super-hollow" remove most of these blocks, leaving a shell that's thick enough to print.
- Buy/make your own 3D printer. A pretty extreme solution, but the cost of material goes down considerably (no multicolor printing, though, unless you want to lay out $77,000 for a ZPrinter 650). Here's a nice 3D printer comparison page - RepRap wins on cost, $520 for the mechanical parts.

By the way, I hear "it would be cheaper using LEGOs" a fair bit. LEGO blocks cost around 4-5 cents a block, 2 mm colored sandstone 3D printed blocks run about 6/10th of a cent. There are advantages to LEGOs (larger, reusable, fun to make) and disadvantages (no textures, not perfect cubes), but LEGO cost is not an advantage.

Model check: the SAP Viewer Complete has a wonderful feature: cross sectioning. You can slide a plane through your model and see the interior spaces. This can help you determine where to place your box for printing, how well hollowing is working, where to build escape holes, etc. On the flip side, this viewer has a defect in its display of tree foliage when viewing render (but not 3D print) exports: from some angles you see through all the foliage. This is from it not setting alpha testing properly; use G3D instead if you want to preview for rendering (it also loads faster).

SAP Viewer Complete: on the top, the wonderful cross-section viewer in action. Below, leaves look fine in the left view; on the right, leaf cutout problems.

By default, Wavefront OBJ *.obj (and *.mtl) files are exported for rendering, VRML97 (aka VRML2) for 3D printing. Here's the rundown of the various file types you can select, including some subtleties about each.

OBJ, relative and material preview: Wavefront OBJ is an old format, so is commonly supported as an import format for a huge range of applications. The "material preview" version of OBJ works well with the free Blender package, letting you see colors of objects in interactive mode, before rendering. If you export materials, a corresponding *.mtl file is output; if you export textures, a *.png is also created. The .obj and .mtl files are text files, so can be easily edited or processed further. In addition, relative indices are used on faces. These allow you to concatenate two or more OBJ files into a single OBJ file. Currently Shapeways does not read in color OBJ files, so any OBJ files zipped and uploaded will print only in a solid material. Use VRML97 to export color files for 3D printing.

OBJ, absolute and true spec: This variant of OBJ is worth trying if you see anything odd (or nothing at all) when reading in the default OBJ output. A subtlety of OBJ is how the material file should influence the texture file. Many viewers, like the SAP Viewer Complete, will multiply the texture by the material (specifically, map_Kd times Kd). This is technically correct. The "material preview" is the default only because it helps in Blender's interactive preview. By selecting "true spec" for the OBJ file, a material file is generated where Kd is always white and so will have no real effect. Indices are absolute (positive), for those readers that don't read relative indices correctly. If for some reason you want "relative and true spec", just write the model out twice with the same name, to different locations in the two OBJ types, and mix and match.

Binary STL: This file format is commonly used by 3D printers. It normally is used for single-color materials, but the exporter will used either the Materialise Magics or VisCAM format to attach colors to triangles - see this article. When STL files, binary or ASCII text, are exported a corresponding *.txt file is generated with information about the model. This same data is included in the beginning of the *.obj and *.wrl files themselves.

ASCII text STL: A variant for 3D printers, the file generated is considerably larger than the binary form and cannot include color. The main advantage is that this file type is a simple text file and so can be easily edited. The format is trivial and so can provide a raw set of triangles for a model.

VRML97: Also known as VRML2 or VRML 2.0. While this format has been superceded by X3D, it is commonly supported by a wide range of packages. That said, its main reason for existence here is that it's the one file format that Shapeways uses for colored models. The *.wrl and *.png file created are put into a zip file and uploaded to Shapeways for printing - see more about this process below. The VRML file produced is tailored towards making a single texture for printing. When previewing, this is the best format to use with the free SAP Viewer Complete.

### Rendering Tips

This section covers the basics on importing Mineways files into various renderers. I know little about particular renderers, so rely on you guys out there to inform me. I'd love information on 3DS MAX, Maya, Blender, Octane, etc.

That said, if you want better geometry and other features, you should try out mc2obj; Mineways' focus is on 3D printing more than rendering. While I have your ear, you should also check out OptiFine or Unbelievable Shaders for in-game play or viewing: they have lots of cool rendering options.

Previewing: to quickly check results before importing into a rendering program, consider using an interactive previewer. The SAP Viewer Complete is a good previewer for 3D print models, but not so fantastic for viewing models made for rendering. I recommend the G3D viewer when using full color textures. It does not have cross-sectioning and supports only OBJ files, but has much better transparency support and shadows, loads much faster, and has screenshot and video capture built in (note: the viewer32.exe is the one that supports video capture). Downside: on weaker GPUs it can be slow. Unzip and double-click the register.bat file to associate it with OBJ files (or just do this manually, if you prefer). Here's an example, side to side, of this set of sampler files, which show one of (almost) every block in Minecraft (a good world for looking at blocks and texture packs is here).

On the left, SAP Viewer Complete showing the VRML (WRL) printing file; on the right, G3D on the OBJ rendering file:

#### Blender

Here's a quick tutorial from Alexander Boden, who's just learning Blender himself, along with ideas by Milenco Mulder and my own additions; if you have anything to add, let me know. This is for Blender version 2.61. To be honest, you're probably better off using Mineblend, which is tailored specifically for Minecraft to Blender import. There is some additional information on Blender and Mineways in this and this thread. Blender experts: I could use your help, I still haven't figure out the magic setting to make cutouts render properly. Please read this thread and help us all out, if you can.

1) Open your World in Mineways, select the area for exporting (hold right mouse button and drag the rectangle), and choose "File -> Export Model for Rendering" from the menu.

2) "File | Export Model for Rendering" and save the file as a Wavefront Object (.obj) to a folder of your choice. Let's call it myobject.obj or whatever you like. You can just click "OK" in the dialog with the export settings.

3) Open Blender 2.61 and click anywhere on the screen to make the splashcreen disappear. Then, click on the cube in the middle of the scene, hit "x" (or "delete"), and then "Enter". This deletes the cube.

4) Now, import the model we have just created by selecting "File -> Import -> Wavefront (.obj)" from the menu. Search and select the right file (the .obj file) and click "Import OBJ".

If you cannot select Wavefront from the Import dialog, you have to active this file format first from the settings menu. Select "File -> User Preferences", activate the "Addons" tab, and scroll down in the list until you find "Import-Export: Wavefront OBJ format)". Just activate the checkbox at this entry, dismiss the settings dialog and try importing again.

5) The model we have just imported is probably small. Move the cursor to the center of the screen, hit "s", and move the mouse until you have the right size, then click the left mouse button to save the size. You may have to move in a different direction if the model is flipped upside down.

6) Turn on textured display: click the "n" key and a menu should appear to the right, the view properties menu (sometimes this hotkey is flaky - you can also find the Properties menu at the bottom of the View menu; look for the View menu in the lower left of the screen). Near the bottom is "Display". Open this menu by clicking on the arrow to the left of the word "Display". Near the bottom it says "Textured Solid" - click this box. You should now see the model as textured. Just above, for "Shading:", you can select "GLSL" for faster rendering. Click "n" again to dismiss this menu. Faster, different way: near the bottom of the window, above the animation timeline, is "View Select Object" etc. Just to the right of "Object Mode" is a solid white sphere. Click on it and pick "Texture". I have no idea what the difference is between this and the first method.

7) You are now ready to do a first render of your model. Just select "Render -> Render Image" from the menu and have a look. The lighting and view is probably not so great, and the background is a boring grey. So next you will want to position the camera and set the lighting and background.

If you are already happy with your result, you can select "Image -> Save as Image" from the menu near the left bottom of the screen, or hit F3.

8) Go back to the interactive view by hitting "F11". Move your view around with the middle mouse button. You can rotate by dragging with middle-mouse, or hold down shift and you'll pan, or hold down control and dolly. Once you like the view, click Control-Alt-Numpad 0 to set the camera to your view.

If you found the right angle and perspective for your camera, you can finetune a couple of parameters in the camera menu. This can be found by clicking the small film-camera (not the photo camera) symbol in the upper half of the right menu bar, below the scene graph. When you click it, a section called "lens" should appear. You can set the "Shift" of the X and Y axis, as well as the focal length of the camera.

8) There is one predefined lightsource on the working area (which looks like a dot with two enclosing dotted circles). You'll usually have to zoom out to see it. You can right click to select it, or select the Lamp from the Scene tree menu, and move it around the screen by selecting the red, green, and blue arrows and dragging. Then, select the Lamp settings in the same menu bar where you (hopefully) found the camera symbol. It looks like a small sun with four arrows pointing away from it in different directions. Click it, and you can find all kinds of parameters that affect the lighting of your scene. For example, try exchanging the "point" type for "sun", and play with the "Energy" value. You can also change the color by clicking the color field above the Energy settings. You can add Lamps from the "Add" menu in the upper left.

In order to achieve a more even lighting of your scene, select the "Ambient Occlusion" setting from the menu bar where you also found the camera and the lamp settings (in the parameters section, below the Scene list in the upper right). It appears when you click the small world icon in the row of icons. Play with the "Factor" value in this section, I like something between 0.25-0.5. In this menu, you can also set the background of your scene in the "World" section. Pick the "Real Sky" option and set horizon and zenith colors as you wish.

9) For all "cutouts" such as flowers, torches, mushrooms, wheat, you must select the mesh, select the Textures icon in the parameter area below, disable the "D" texture by unchecking its box(this image will look mostly black and white). Then click on the texture just above the "D" texture, it starts with "Kd". Once selected, scroll down to the "Influence" section and open it up. Under "Diffuse:" check the "Alpha: 1.000" box to enable it. Now cutouts should display correctly.

At the same time, you must also choose every mesh that receives shadows, select the Material icon (to the left of the Textures icon), and under "Shadow" at the bottom you need to click "receive transparent". Why this isn't the default...

10) Water looks pretty bad by default. This from Milenco Mulder: Select the Material icon:
Transparancy: Fresnel = 2, Blend = 1.25, IOR = 1.33
Mirror: Fresnel = 2, blend = 1.25, Gloss = 0.96
Select the Texture icon:
Influence: color = 0.8, alpha = 1.0, mir = 0.3, normal = 0.05
Somewhere below Influence there's a list under Bump Mapping, choose "Best Quality" there.

11) Alternate instructions for glass and water, which doesn't work for me but might for you (I think these instructions worked for an older version of Mineways). For each of these types of meshes you must select the mesh, select the Textures icon in the parameter area below, select the "D" texture (the image will look mostly black and white), then scroll down and check the "RGB to intensity" box. Naughty Blender, that doesn't let you pick multiple materials and edit parameters they have in common. For glass, you can make it more realistic (or at least, different - try it out) by selecting the glass objects, go into the "Material menu", and set the Transparency to Raytrace. Then, you just have to set Fresnel and Blend to 2.000, IOR to 1.500 and Depth to 8.

12) When you are happy with your scene, your can export it by selecting "Render -> Render Image" as described in step #6, and then selecting "Image -> Save as Image" from the bottom menu on your screen. You can also set several parameters of the Renderer by selecting the small photo camera icon in the menu bar where you also found the film camera, the lamp, etc. In the section "Dimensions", you can set the Resolution of the image and add a border, etc. In order to export Full HD, you can set the Resolution to X:1920 and Y:1080, and set 100% in the bar below these settings.

12) Upload your creation to the Mineways Flickr group! (Optional, but extremely recommended!)

#### Cinema 4D

Here are steps from James Christien (icecruiser xD; example C4D result here), with help from Huskyiee on alpha.

Step 1: Get your world and region selected in Mineways, then select 'Export Model for 3D Rendering'.

Step 2: Save as the file type 'VRML'. (OBJ doesn't import well, though Riptide might work.)

Step 3: Adjust your option accordingly:
- Tick the 'Export full color texture patterns' button. - Make the model 1000 CM in height so it's not super tiny in Cinema4D (optional)
Do everything else to your liking.

Step 4: Once the model is exported, open Cinema4D and drag into the main window the 2 files (.png and .wrl) generated.

Step 5: Once it is all loaded, if black ugly things are present on tiles - such as grass or torches - then double-click the material in the materials viewer. The materials viewer is the round sphere with materials on it, at the bottom of the interface.

Step 6: On the material options, on the left side options bar, check the Alpha option and go into its preferences window by clicking it after you checked it.

Step 7: In the alpha settings, come down to the Texture setting and click on the little arrow on the right, go down the menu and select Bitmaps, and choose the material name (there should only be one) in the small window that pops up after clicking Bitmaps.

Step 8: All the black things should be gone, ready to be used and rendered properly.

#### 3DS MAX

No real information here yet. There are lots of options for importing OBJ files in MAX's dialog. See the mc2obj User manual for some typical OBJ settings, in particular this image.

### Export options

There is a bewildering dialog that pops up on export, with a ton of options. You can blithely ignore this dialog and always just click OK (or the Enter key). However, some of the options are extremely useful, so plow on if you want to make sure your model is strong enough and still cheap as can be.

World coordinates selection: you can see and change the 3D volume of space to export from your world. Key tip: You can view the output *.obj or *.wrl with a text editor, like Notepad (or, better yet, Notepad++). By doing so, you'll see a line like this:

    # Selection location: -80, 72, 66 to -66, 127, 104

By putting these numbers in the 6 coordinate boxes, you can easily continue to work on a model between Mineways sessions. If you want to know the location of a place in your world, use the F3 key when playing Minecraft. Note that negative values like -5.239 will round down to -6, and also note that your Y-value altitude is one higher than where your feet are located, and so two higher than the ground beneath you.

Create a ZIP: like it says, on export a ZIP file of the exported files is created, ready for upload for 3d printing at Shapeways or other service. Note that the exported files themselves are also still immediately available for previewing.

Material export: these are pretty much as they say. The "no materials" option is just that. "Solid material colors" will give solid swatches of color for each material. "Richer color textures" gives texture tiles that have some noise in them. For the OBJ file format the difference is that a PNG texture file is output; VRML97 always exports a texture for any material option. "Full color textures patterns" requires the terrain.png file (look at the start of this page for more info), reading this file to create full textures for each block, as possible. Some blocks, such as fire, do not have any texture in the terrain.png image, so are rendered as solid blocks. Remember that for any format you can always turn off a block from being output by setting its alpha to zero in your own color scheme. For "full textures" the color scheme has no other effect, other than affecting the water color: the higher the alpha set, the more of the base color you define is combined with the water texture. So, for a deeper blue, you can define the two water colors (note there's a "stationary water") as dark blue or even black and a high alpha, e.g. 200.

The one file you may want to change is the terrain.png file that comes with Mineways, which is from the Ancient Roots texture pack; I did not want to distribute the original Minecraft default texture pack, though I think it's better for 3D printing (higher contrast). Minecraft itself and all texture packs make their own terrain.png files. If you unzip minecraft.jar, you'll find the default terrain.png in there. If you unzip a texture pack, you'll see the terrain.png inside. You can also find these by searching Google Images, though many are dated. To select a different terrain.png file, use the "Select terrain.png for export" under the File menu. If you have a terrain.png file you would always like to use by default, copy it into the directory where mineways.exe is located, replacing the one that is there.

Here are some of the texture pack terrain.png files distributed with Mineways, displayed with G3D. Click on an image for the larger version.
Default Minecraft textures, plus flame | Coterie Craft by Cpt. Corn | DokuCraft High by Hickerydickery | LB Photorealism by Scuttles | Misa's Realistic Texture Pack by Misa | Quandary Ancient Roots | Sphax PureBDCraft by Sphax84

The effective 3D print resolution of textures appears to be around maybe 10x10 for the default output block size of 2 mm/block. Fine details are unlikely to be visible, though sometimes I'm surprised to see them. If you use a high-resolution texture pack, you may even cause yourself problems.

Texture resolution: The image on the left was made using Glimmar's Steampunk terrain.png and printed at 2 mm/block. It appears that the glass cube grillwork texture has some synchronization problem with the printer, causing the pattern to sometimes print out incorrectly. The middle image is printed at 3 mm/block and shows the original 16x16 TNT tile; however, at both ends the fidelity becomes poor. On the right, from Alexander Boden, a 5 mm/block print clearly shows details such as cobblestone and tree bark. Click on an image for higher resolution versions.

Note to terrain.png experts: I do use the four tiles in the rightmost column, at the bottom, for water and lava (water, stationary water, lava, stationary lava). Many texture pack terrain.png files do not have lava, water, and fire tiles that are valid. Mineways detects this and replaces with a solid color - if you want textures for these, replace the tiles in the terrain.png file. Algorithm: if the water tile at 16,13 (column and row from upper left, in the 16x16 array) is fully semitransparent and the lava tile at 16,15 is fully opaque, we assume the terrain.png file has good water tiles at 16,13 and 16,14, good lava at 16,15 and 16,16, and good fire at 16,2.

One warning: 128x128 and larger tile texture packs will work (and will take awhile to process), but previewing these files in an interactive viewer like the SAP Viewer Complete may not work. This is because DirectX and OpenGL has limitations on the maximum texture size. These texture files should display fine in offline renderers.

Internals: the tiles are each given a border 1 pixel wide. This border avoids bilinear interpolation artifacts. However, mipmapping will not work well, since tiles are next to each other, so disable it for rendering (other sampling techniques should work fine). If you cannot disable bilinear interpolation in your renderer and want a more blocky look, take your terrain.png file and resize it to be say 4x larger in both directions; alternately, resize the texture(s) that Mineways exports. Make sure you just use a "pixel resize" without any filtering. You also want to check if your image filtering program deals with alpha support correctly (Irfanview doesn't, for example). Download this example and use it in place of the terrain.png in your Mineways program directory to see the difference. From experimentation, this higher resolution does not improve the clarity of 3D texture printing.

On the left, the basic 256x256 terrain.png file is used; on the right, the input terrain.png image is resized (without filtering) to 1024x1024.

Make Z the up direction instead of Y: some graphics applications consider the Y direction to be "up", some Z. If your model imports sideways into your application, check (or uncheck) this box.

Center model: when checked, the center of the bottom of the model is put at the origin, location (0,0,0). This helps for import into a renderer, and can improve the floating-point resolution of the data. If you want to instead have the same coordinate values as in your world, uncheck this box.

Export all block types: by default smaller objects, such as flowers, signs, etc., are culled out when exporting solid materials - only nearly-block-sized or important blocks are exported. This option is on by default when exporting full color textures for rendering; turn it off to remove the "billboard" objects. Remember you can also turn off output of any block type by setting its alpha to zero in your own custom color scheme.

Merge flat blocks with neighbors: some blocks, like redstone wire, repeaters, snow, ladders, wall signs, etc., can be glued onto neighboring blocks, changing their faces. By default we do this; turning this option off (why?!) will generate full blocks for these objects. I haven't done much work on this option, as I never turn it off.

The rest of the options mostly have to do with 3D printing, which follows.

### Exporting to 3D print

As background, view the Shapeways 3D color printing process video. Layers of material are laid down and solidified at the appropriate spots. Unsolidified "sand" is vacuumed away. You pay by volume, not by complexity. What this means to you is: avoid making enclosed spaces with tiny entrances. Unfortunately, most buildings are just that: large rooms with small doors. Your job is to make sure your model has either no openings at all, in which case the Hollow option can clear out the inside, leaving just a shell. Alternately, make escape holes yourself using snow blocks, which you then melt after all processing of your model. I'll explain these options below.

There are other potential pitfalls with 3D printing, such as thin wall problems (more here), and too many polygons (rare for a Minecraft model), to name just two. Shapeways' tutorial pages and materials pages give you a lot to chew on. The Mineways program tries to guide you past the major pitfalls, but it's always possible to generate something that's essentially unprintable: too weak, holes too small to clear out the dust, etc. Browsing the tutorials there should help you understand what is possible. Options follow.

Rotate model clockwise: this is useful when you want to display a model on Shapeways. The view of the model is rendered by Shapeways from the south-south-east. So if your model faces west, you might rotate it 270 degrees to have it face south and so display better on your models page. One way to tell if the model is facing right before uploading to Shapeways is to load it into the SAP Viewer Complete, which has pretty much the same initial view as Shapeways uses.

Scale: There are four major ways to scale your model. For 3D printing, Mineways assumes the units are meters. If you want centimeters, as some home printers use, you currently have to multiply the values input by 100. For example, if you want to print 1 millimeter wide blocks, you have to put 100 millimeters instead. A units option will be added soon.

- Height: you can specify how high you would like a model to be. This is also useful for rendering output, where the default is set to be reasonable for import into Blender.
- Minimize size: if you want to make "draft" 3D print models that are as small as safely possible, check this option. That said, if you know your model has pretty thick walls, you could make your model smaller still by using the next option.
- Block size: by default the safe wall size (for a non-supporting wall) is shown here. You can make this value smaller if you are convinced that your model is thick enough to print. Mineways will issue a warning nonetheless. This option is also useful for rendering output.
- Aim for a cost: you can aim, though the wall size needed may be too small to safely print. If you get this warning, you'll have to decide whether the walls appear thick enough to print. This feature is imperfect: it computes a rough cost before hollowing, so that it has a sense of how small it has to make the blocks to reach the goal. Hollowing uses this size to keep the walls thick enough to print. So, sometimes the walls are thicker than needed when the model is finally exported.

Bonus pro tip, for pixel-art makers: if you export pixel art, you'll often want scale the model down to lower than 2 mm/block, e.g., by specifying a target height. This keeps the price down and lets you get exactly the size you want. However, the thickness of pixel art is just one block wide, and Shapeways won't print a model in colored sandstone that is less than 2 mm thick. You could go add blocks to make the model twice as thick, but there's an easier way. Open up the WRL file in a text editor and look for this line:

    scale 1 1 1

Say you were printing at 0.8 mm/block. Change that to, for example

    scale 2.5 1 1

and the model will be 2.5 times as wide in the X direction, 2 mm/block. Give the file a preview to see if it's what you want. You may need to do

    scale 1 1 2.5

or possibly even (if you built the pixel art on the ground, facing up)

    scale 1 2.5 1

to thicken the model in the right direction. Don't forget to put this new WRL inside the ZIP file before uploading to Shapeways. Note that this will also stretch the appearance of the blocks around the edges, for good or ill. For pixel art (which you might want to export without texture, just colors) this probably won't matter.

Physical material: choosing a material here from among the more sensible Shapeways material options sets the default wall thickness and constrains the "Aim for a cost" option. It also ensures that the price is computed for that material and output in the top of the model file (or associated *.txt file, for STL output). It's worth saying again, key tip: view the top of the output model file in a text editor for all sorts of useful information about the model and how you generated it. The "White & Flexible" material has a smaller minimum wall thickness compared to "Colored Sandstone" (0.7 mm vs. 2.0 mm), so much smaller (and cheaper) models can be created in it. White & flexible is plastic and pretty durable, colored sandstone is heavier, fairly strong, but brittle. Shapeways has a tutorial on how to paint this white plastic material, which can be fun in itself. Note that the ceramics material has a maximum wall thickness of 15 mm, something Mineways does not check; this material is also the only one where you are charged by surface area instead of volume (which Mineways does compute).

Model's units: when a model is saved, the values stored in the file are not in any particular units, like meters or inches. However, 3D printers need this scale for printing the model. Meters are assumed, as this is what Shapeways uses by default. For other services and printers, other units are assumed. Here's a brief rundown:

- i.materialise - for this 3D print service, millimeters are the default units. For STL export, choose the "Binary Materialise Magics" STL file type; by default "Z is up" is off and the units are millimeters. Textured models are not currently supported, but colored models are, by exporting color to STL and choosing the multicolor material in their 3D print lab. If you want to import VRML for some reason, "Z is up" should be on and you'll have to change the export scale to millimeters.
- Ponoko - this 3D print service uses centimeters, millimeters, and inches. "Z is up" should be on. Color materials are not supported, from what I can tell.
- RepRap - this home 3D printer appears to need models in centimeters. I'm not sure if this is more of a requirement of the related software.
- Thing-O-Matic (wiki) - I don't know a thing about this one; information appreciated!

By default, the model is heavily processed to clear up a number of potential 3D printing problems:

Fill air bubbles: any hollow area is filled with solid material (specifically, glass, which can sometimes be seen when doing base hollowing, below). There are two sub-options:

- Seal off entrances: uses "entrance" blocks - doors, ladders, trapdoors - to seal off rooms, even if the doors and ladders themselves are culled. Sealed rooms can then be removed from printing. See the example below.
- Fill in isolated tunnels: a volume being exported can have tunnels underground running through it, and can run into the sides of the volume itself. These tunnels cost time and money to print; if the tunnel is isolated (no access to the surface) then this option will seal these off and fill them in. Hollowing can then remove more material.

Example: on the left, the inside of this simple building is visible. On the right, the "Seal off entrances" export box is checked. The torches are then considered as blocking the entrance; since the entrance is fully sealed off, the room is filled with glass. This example is trivial, but by placing torches you can seal rooms off so that they fill up with glass, then get hollowed by the "hollow" option, described further on, thus saving on printing areas difficult or impossible to see from outside.

Connect parts sharing an edge: certain non-manifold edges (where two blocks are diagonal and share an edge) are eliminated by a welding process in which more blocks are added. This welding process normally occurs only when it joins pieces that otherwise would be separated and fall apart.

- Connect corner tips: if two blocks touch at just their tips and the blocks are found to be in separate parts, they are then welded together by adding two new blocks.
- Weld all shared edges: Shapeways normally allows two blocks' edges to touch, despite information to the contrary. If this behavior is unacceptable (Shapeways or some other application rejects the model), checking this box will work to remove all shared edges.

Example: on the far left, with all connect parts options off, the strings of the balloons do not connect. These will probably print as separate bits. In the middle left, blocks sharing an edge are connected. Some parts of the strings touch only at corner tips, so are still not connected. Note that for these examples the "delete floating objects" option was turned off, as otherwise the disconnected string bits would have been removed. On the middle right, corner tips are connected, and now each balloon will print correctly. On the far right, debug mode, showing edge connecting blocks as lava and tip connecting blocks as pink wool.

Delete floating objects: if objects hang in space, these are eliminated if they're small (less than 16 blocks in size) or are entirely tree logs and leaves. This step eliminates parts of trees hanging along the edge because of where the selection box is located. If you get a warning about there being more than one part in a model exported, crank the block number up to 1000 or more to get rid of larger chunks (once you know what those chunks are - see the debug display parts mode below).

Example: Exporting without deletion of floating objects results in a hunk of foliage hanging in space. The "debug showing groups" option shows the disconnected group (the black columns are support columns created when hollowing). Turning on deletion of floating objects, the floating foliage is deleted. Note the clump of leaves from a chopped-off tree stuck to the house is not deleted: get out the shears in Minecraft, if you want to chop it clear.

Hollow out the bottom: models are typically resting on an uneven ground layer, and building interiors are typically filled in. Hollowing clears out blocks inside the model, making it less expensive and faster to print (though weaker). The "super hollow" option is more aggressive, searching hollow areas found to see if more can be carved out. This option can occasionally make volumes that do not have wide enough holes to clear out the material; vanilla "hollow" alone is normally safe in this respect.

Technical note: superhollow can sometimes create little separate objects at the bottom layer unconnected to the rest of the model, pieces of tunnel not cleaned out. You'll need to also turn on the "fill in isolated tunnels" box to have these removed ("delete floating objects" should do this, but currently does not).

Example: in the upper left, hollowing is off and tunnels are not sealed. In the upper right, tunnels are sealed (the glass blocks). While this briefly increases the block count, hollowing will cut it considerably. In the lower left, basic hollowing is performed; the cutaway shows how far it penetrates into the teapot. Block count is reduced from 26.8k blocks to 14.7k blocks. Lower right, superhollowing is performed, reducing the count further, to 8.3k blocks. The escape hole between teapot and ground looks to be large enough to clear the sand (and indeed it was, see this photo).

Melt snow blocks: This one's subtle, for pros. Say you have a model of a fort on a mountaintop. You would like to have the mountain be hollowed out. You would also like the fort to have an escape hole in the floor for any unattached printing sand inside it to be cleared out. By replacing part of the floor (or other area) of the fort with snow blocks, these blocks will be removed at the very end of all processing. So, the hollow operation can then hollow out the mountain below the fort, right up to the fort's floor. Then the "melt snow" operation makes a hole between the fort's interior and the mountain, allowing sand to be vacuumed out.

There are also two debug print options available, both shown in examples above. The "show separate parts" option does just that: the largest object is made semi-transparent and smaller groups each given a unique color, so that you can see what pieces of the model are not connected. Either remove these smaller parts by kicking up the "delete floating objects" limit, or go into Minecraft itself and add blocks to attach them together. That said, separate parts are fine in a file if you know what you are doing: you could be making a chain of separate links, or could have a number of individual pieces (such as letters) you want to create in a single print run. Note: I've found this mode tends to crash the SAP Viewer Complete if you export to VRML97. Exporting to OBJ seems to display fine.

The "show welds" option shows what blocks were added by the various "connect parts" options. If you don't like where the welds are put, you can go into your Minecraft world and edit the model yourself. Key tip: you can run Mineways and play Minecraft at the same time. So, you can edit your world in Minecraft, then reload the world into Mineways. The selected area won't be cleared when you do so, so you can edit, reload, export, and view the model (in a separate viewer); lather, rinse, repeat. This is an efficient way to perfect any model you're working on.

Key tip, worth repeating: at the beginning of the model file itself (which is a text file, so can be viewed in any text editor) is a summary of various statistics, such as number of blocks generated, model dimensions, and cost (good to within a few cents).

## Using Shapeways

If you want to make a 3D print of a model, the quick way is to use Shapeways' site (I'm game to list other services or hobbyist machines like MakerBot, if applicable - I don't get any money from Shapeways, they're just convenient). After creating an account (and creating a shop), go to the upload page. Choose a file for upload, always a .zip file containing (usually) a single .wrl and .png file you created with Mineways, using 3D print export. MAKE SURE TO INCLUDE THE .PNG FILE. You can check the "Have us fix" box if you want, but it shouldn't be necessary. You also don't need to specify a Unit of Measure: "meters" is the default and is what Mineways always outputs.

Once you've uploaded, wait for an email (ten minutes wait at most) saying your model "is now available on Shapeways". Now go to your account menu (upper right of screen) and select "My Models" from the menu (or use this link). Key tip: you must select directly on the text itself in most Shapeways menus and other elements - selecting the box is not enough. This drove me insane before I realized that is how it works.

Once you're on the My Models page you should see a view of your model. Note the cute "cube" feature next to the model's image: click on it and you get a 3D model you can rotate with the mouse. To make the model purchaseable, click on the model itself to edit its page. In the upper right of this page is a subtle "Edit Page" button: it should say "ON". If "OFF", click on the button to toggle it on. Key tip: if you want to actually purchase your own model, turn editing "OFF" and then you can add the model to your cart. Don't forget to select the material type. Note that colored sandstone is often less expensive than the default white material! White models, as we've discussed earlier, can be considerably smaller and print correctly.

There are a bunch of things you can edit about your model. On the upper right click on "More" to display the model publically and make it available for purchase. Click on the model's name to change it (not obvious), click below the image to allow downloads of your model files, and below that to add a description. You can turn off any materials that you think would be too weak for the model, and you can add keywords at the bottom (include "Minecraft"!). There are also ways to change how the size and price are displayed. Key tip: - to change the default material to colored sandstone, hover over the colored sandstone material in the list. You'll see "make default" appear in blue at the bottom of the material's box. Select it, then "select only the default material" at the top of the list of materials. Make sure to click "Update Materials & Pricing" at the bottom of the list of materials.

Once you've actually printed the model, you can upload photos of it. See my humble shop as an example.

That's it! You can add models to your cart and checkout. Note there's a fixed cost of $6.50 per order. Be careful, however: unlike Amazon, you cannot cancel your order once placed. After you've made an order, the waiting begins, often 2-3 weeks: check the orders page to see the expected ship date. If this ship date passes and your model is still just "Accepted", write Shapeways service and ask about it - they're friendly and helpful.

If you get serious about printing models, the materials sampler is worth considering: it costs just $5 to add to an order, factoring in the $25 coupon you receive with it towards your next order.

## Related Resources

Here are some related (free) tools that are handy, collected in one spot:

- The SAP Viewer Complete for viewing exported models for 3d printing. Get the complete version, not the minimum. This viewer has a cross-sectioning tool and many other features and is good for 3d print model examination. However, it loads slowly and its preview of OBJ models for rendering shows artifacts, so you might prefer the next viewer.
- The G3D viewer is excellent for previewing 3D OBJ files for rendering (sorry, not VRML or STL), as its support for cutouts is superior to the SAP Viewer. It also includes real-time shadows and reflection-mapped water, as well as built-in screen and movie capture (only the viewer32.exe version has video capture). Models also load faster. Downside: on weaker GPUs it can be slow. Some examples here.
- The VisCAM View is good for viewing and checking STL files.
- MeshLab helps you convert, simplify, and smooth meshes, among a huge number of other operations.
- Blender for rendering OBJ files.
- World Downloader is a client-side mod you can use to download and capture any part of a multi-player world that you see into a local single-player world save. This is a great way to grab your creations off a multi-player server.
- MCEdit lets you make large-scale changes on your world. For example, you could trim away objects near your model to make a cleaner export. You can also read in model schematic files from sites such as this. To use a schematic with Mineways, import the schematic into an empty world and save the world, then use Mineways on that world.
- WorldEdit is a Bukkit plugin to export multiplayer world data to a .schematic file, which you can then put in an empty world on your computer and exported from there.
- VoxelSniper is another Bukkit addon for servers, providing a wide range of editing abilities.
- Binvox goes the other direction, letting you turn a model file into a voxelized representation, suitable for building or export to a schematic file. I have a quick-start Binvox package for Windows: binvox, viewvox, GLUT DLL, two sample 3D models, and batch files to run the programs. Documentation here. For more info, see the forum thread and related forum thread, and album. I used it to make the teapot, guardian, and hopper, among other models.
- Eihort is a fantastic 3D viewer for your world. You can zoom through, see a huge distance, and get coordinates for wherever you are. It's slightly outdated and buggy right now, but a new version is in the works.
- More Minecraft tools here.

Want something to try Mineways on? There are a number of sites with cool downloadable models and worlds, including:

- MCSCHEMATICS.COM has thousands of schematics for download (award-winners here), which can be read into MCEdit, saved in a world, and then exported with Mineways.
- Minecraft World Map has a large number of worlds and includes a nice Google Maps preview feature.
- Minecraft World Exchange has a small but organized collection of maps. Some dead links.
- Minecraft World Share has nearly 2000 maps in a long, long list.

You could get a copy of our world, Vokselia. I've also got a Shapeways shop, where you can view photos of different 3D prints and also download the model files themselves. You could also buy any of these (though you should just make your own!).

For something amazing, check this out (more here)- meta! Double-meta, I exported this model using Mineways, check it out.

### Other Packages

I'm not the first to offer a Minecraft model exporter. Minepedia has a page about exporters. Here's more information on the ones I know about and related services. They may fit your needs better than Mineways:

- Jmc2obj is a new entry, Java-based (so multi-platform) and rapidly adding new features. I am hoping it becomes the winner as far as export for rendering goes.
- mc2obj (documentation and source here) - this utility pulls in the specified Minecraft world data and makes an OBJ file. With its focus on rendering, it is considerably farther along than Mineways. In particular, it includes true geometry vs. Mineways' whole block orientation. In my perfect world Mineways' user interface and extra features (e.g., good redstone connection, textures with borders) would be merged with mc2obj to make a friendly and full-featured exporter for rendering.
- Mineblend - an add-on that extracts data from a world directly into Blender.
- mcobj is an older exporter for rendering, with source available. There is a Blender tutorial and a gallery of results. It has command-line and dialog versions. It doesn't apply textures, so is mostly superceded by mc2obj, above.
- MINECRAFT.print() - these guys were first to print Minecraft models. You run some python scripts from a command line to take a volume and turn it into an STL file. There's a hollowing function (their Companion Cube is not solid, thank heavens). These guys are adding a friendlier user interface soon. Cody pointed out this nice little color export someone did using their scripts.
- Minecraft structure planner - written in Ruby, this is a basic exporter of STL files from schematics. It's the first program I know to export color models from Minecraft for 3D printing.
- MineToys and the MineCon Shop (French) offer 3D prints of your character. More on how MineToys works here.
- Mineposter.com - you can upload your world and have them make a poster of a view of the whole thing or a particular portion of it.
- 3DTin - it's not Minecraft, but has a connection to 3D printing. Build your model out of blocks inside this web app and upload to a 3D print service.

## Shortcut keys

Most operations can be done with the mouse: left button and mousewheel for viewing, middle mouse button for setting the depth to whatever is at that location, right mouse selects a region to export - more on this in the Selection section.

- WASD and the arrow keys move around.
- E/Q and PageUp/PageDn zoom in/out one level.
- Home and End zoom all the way in and out.
- < and > move the altitude slider up and down.
- 0-9 move the altitude slider larger amounts.
- B sets the export lower depth to whatever the slider is at. Use the slider to go to the altitude desired, then push the 'B' key.
- [ and ] moves the lower depth up/down by one level.
- Ctrl-O opens a world file, for when the world file is in some non-standard place.
- Ctrl-T saves a 3D model file for rendering, e.g., water is made transparent.
- Ctrl-R saves a 3D model file for rendering, e.g., water is made transparent.
- Ctrl-P saves a 3D model file for printing at Shapeways or other 3D printer.
- F2 jumps to spawn.
- F3 jumps to player's location.
- F4 jumps to selected area, if any.
- F5 goes to Nether, if any.
- F6 goes to The End, if any.
- F7 shows all blocks on the map, such as flowers, mushrooms, ladders; off by default, as these can be distracting. This option does not affect exported models.
- L show nighttime lighting. This option does not affect exported models.
- C shows underground caves below the given altitude.
- H hides obscured blocks. When you set a maximum altitude underground, this option discards all blocks at this altitude and lower, until an air pocket is hit. Try it with the slider set to 60 or lower, to see tunnels. On by default in the Nether.
- F shades by altitude. This option does not affect exported models.
- I shows slime spawning areas underground, from level 40 on down (you can use the altitude slider to see these more clearly).
- R reloads the world's map. This is useful for when you edit your world while Mineways is running, see this tutorial.
- Ctrl-W closes the program.
- ? pops up the About dialog.

## Known bugs

Find a bug? First, make sure you have the latest version installed, and check the list below. Still stuck? Send me an email and I'll help you out. Fix a bug? You're my personal hero, and send me the code.

- Superhollow can sometimes create little separate objects at the bottom layer unconnected to the rest of the model, caused by internal tunnels. "Delete floating objects" currently does not remove these. The workaround is to use "fill in isolated tunnels", or to just let these separate little chunks print and pay a bit more for them. The real fix to add to the code is to search the whole model again for groups and delete the small groups.
- Sometimes the selected area is not cleared from the screen itself. This will happen when you select, scroll to a new place, select, then scroll back. Easy to fix: just switch lighting on and off, hit 'L' and 'L' again. Or, reload with 'R'.
- West is at the top of the screen. This is how things were until version 1.8, at which point Notch made old East into the new North. PITA to fix, but I'll probably eventually get around to it.
- ZLIB: for some weird reason I need to link to two different versions of the ZLIB library. It's some problem with name mangling, but I don't know what. Things work fine, but this is dumb (on my part, I would guess). Help appreciated!

## Wishlist

This is my own wishlist; if you really want a feature, add it yourself! I'm busy writing a book in my spare time so don't have a lot of cycles to spare for this project.

- Now with jungles appearing, vines really should work better. When they hang down without anything next to them, they have to be blocks, but when they're adjacent to trunks, etc., they should go flat. That said, this doesn't look quite right: a vine on a trunk will be flat, but then if it hangs in the air it will fill the "outside" block. I think the answer is to shift the vine inwards from whatever block it's in to the one it's touching.
- Blocks are always full blocks: stairs and half-blocks could be given true geometry instead of appearing as blocks, doors and vines given thin slabs instead of full blocks, etc. The Mineways data structures focus on sharing vertices by tagging which corners need to be output. Adding new geometry is all special cases. This addition would be fairly easy for rendering, I suspect, but for 3D printing care would be needed so that the new block shapes matched up with their neighbors and formed a clean surface. Shapeways itself might be able to clean up the model, so maybe less care is needed overall. That said, I'd rather it be done right, so that other 3D print efforts can easily use the models without cleanup. Note that mc2obj has true geometry output for rendering (not printing). One idea I've toyed with: double the resolution of all blocks, then track the slab and stair blocks, filling in the appropriate subblocks in the 2x2x2 representation. Use the subblocks for output of these special blocks and their neighbors. Headaches include stitching up neighbor faces to avoid cracking (T-vertices).
- Integration with Shapeways' API and i.materialise API (not out yet): Mineways could save each user a few minutes by directly uploading the resulting model files to Shapeways or i.materialise. While manually zipping and uploading is not a big deal, it's a bit of a pain to set the default material, add "Minecraft" as a keyword, etc. These APIs would set all this information for the user, as is done by MineToys, 3DTin, and TinkerCAD.
- Schematic file import: some players store their creations in schematic files. You can use MCEdit to import a schematic into an empty world and save the world, then use Mineways on that world. It would be nicer if the schematic file could just be read in directly and selected for export.
- Work on Mac and Linux: my code is very much a Windows beast. Currently, Mineways works on Linux under Wine on Linux and the Mac. To port, there's some old minutor platform-independent code (colorschemes.c, mapviewer.c, Mineways.c) in the topmost source directory, but I haven't touched it. If someone wanted to make a Qt version of this code, great. The MinewaysMap subdirectory shouldn't need much work, it's just the Win subdirectory that is platform-specific.
- Better color selection: this is a weakness with the original minutor. Yes, you have to put in hexadecimal numbers for the color and the alpha.

## Version History

- Version 1.0, 12/24/2011 - exe, source
- Version 1.01, 12/27/2011 - exe, source - fixed depth going to -1, added warnings about models being too large, increased map cache size, improved model summary information at top of model file.
- Version 1.02, 12/30/2011 - exe, source - added "hide all blocks" feature to color scheme dialog, fixed debug mode for separate parts so that it works properly if full textures are on (the textures get turned off) and so blocks always appear, don't export billboard torch if "Export all block types" is off.
- Version 1.03, 1/2/2012 - exe, source - Added check to see if world reads properly, warns if not; added snowy sides to grass blocks when covered with snow; changed to "illum 4" for Wavefront OBJ export.
- Version 1.04, 1/2/2012 - exe, source - Rendering gets some love: using "illum 4" kills Blender import, so back to "illum 2" for all but water, add "Tf" and remove "d" export; export "map_d" of the same texture map, making SAP Viewer work better with OBJ; change face offsets to be relative numbers instead of absolutes, so OBJ files can be added to each other.
- Version 1.05, 1/4/2012 - exe, source - Added two options: F7 makes little things like flowers and mushrooms visible on the map, and under File is "Select terrain.png for export", so a different terrain.png file can be used. Do not set the transmittance when using full textures for glass (assumes a cutout for glass). Other little menu cleanups, like what key selects the menu item.
- Version 1.06, 1/8/2012 - exe, source - Major bug fixes: bubble population problem, group allocation, proper display of different neighboring transparent objects, sloped powered rails not displaying properly for printing, mushrooms not displaying as billboards for rendering. Added units selection for output. Added automatic ZIP creation for export. Separated cutouts from transparent blocks. Corrected export of Tf for OBJ material file. Added separation of textures into RGB and RGBA and alpha-only for better rendering import to 3DS MAX. Added "frosted detail" physical material.
- Version 1.07, 1/9/2012 - exe, source - If blocks were turned off and "seal off entrances" was used, some of the hidden blocks would reappear; fixed, and guard code added. If a warning was flagged, a ZIP file is not created; changed so that the zip file is always created.
- Version 1.08, 1/10/2012 - exe, source - Files zipped before errors reported, output only those textures needed (and RGB for 3D printing instead of RGBA). Added fire billboard (your terrain.png must include it). Added dead bush and fern billboards.
- Version 1.09, 1/11/2012 - exe, source - Bug fix: was saving VRML PNG twice. Features: added Materialise Magics as a color STL export format, defaulting to the settings i.materialise prefers. All STL now defaults to mm units, as this seems to be a common choice.
- Version 1.10, 1/18/2012 - exe, source - Bug fix: default texture output not set for printing single-material OBJ. Fixed terrain.png read error message. Features: added emitter Ke output for emitters, though currently always '0 0 0'; this makes for easy identification and editing of emitters. Added internally a static, absoluteIndices, to allow positive indices to be output for OBJ files.
- Version 1.11, 1/19/2012 - exe, source - Bug fixes: spaces in texture file names baffles Shapeways' parser, so replaced with underlines; Wavefront OBJ "single material" output replaced by "true spec", where Ka and Kd are set to 0.2 and 1.0 for all materials - looks better in the SAP Viewer Complete. I also made "true spec" output absolute indices, for those readers that can't handle relative ones.
- Version 1.12, 1/25/2012 - exe, source - Bug fixes: half slabs of wood, sandstone, etc. were all showing up as stone. Stronghold bricks were never cracked or mossy. Enhancements: "true specification" OBJ files are now output by default, since I figured out how to turn on previewing in Blender (see the tutorial). Blocks are now 1 meter in size when output for rendering, a scale that most rendering systems prefer and that I originally meant to be there.
- Version 1.13, 1/28/2012 - exe, source - Improvements: you can reload your world by hitting the "R" key now. Loading a different world will recenter at spawn and unzoom the view. Bug fixes: Major fix is that wide characters are now supported on file read and write, which means characters like ÅåÄäÖö can be used in file names. These get simplified for material and texture file names, since those need to be UTF8 (really, more UTF7) for OBJ and WRL files. Fixed bugs with spaces in file paths. Resolved color mismatches for solid color output. Fixed a color problem with slabs when using solid colors (appeared in v1.12). Redstone torches were always flattened, now they appear properly in rendering output. Flames are now exported to be at the edge of blocks. OBJ export always has Y as up, for easier print preview with G3D. When exporting Magics STL without colors the header is made simpler, so the object does not preview as black.
- Version 1.14, 2/4/2012 - exe, source - minor bug fix: extremely large chunks (those with say 100 chests full of objects) would not decode; fixed by increasing CHUNK_INFLATE_MAX. Improve selection highlighting: the selected area is always shown, and if some blocks are not selected the user is warned and corrective action applied (moving Bottom depth down). Note that when the depth is moved down, it is conservative, including visibility down deep holes, for example. Improve texture pack import: avoid using bad water, lava, and file tiles in custom terrain.png files - see notes on terrain.png. Statistics about the print's cost are now optionally displayed at the end of export.
- Version 1.15, 2/15/2012 - exe, source -bug fix: scale error on warning of "too small" model for colored sandstone; Shapeways doesn't appear to enforce this rule, though. Fixed vines to export in a more reasonable fashion: composited with underlying objects and underneath trees, changed color, made background grass. However, vines still extend out beyond trees (see bug list). Removed right-mouse click for assigning "Bottom" height, as it's confusing and redundant; just use middle-mouse instead. Change "Z is up" to be default for i.materialise STL models. Add Show size in inches and centimeters in printout dialog. Fixed dragon egg tile location. Added beta jungle tile support in optional terrain_jungle.png: 9,9 wood, 4-5,12 leaves, 14,1 saplings. Replaced terrain.png with the game's default terrain.png plus flames, as it's better for printing. Added other terrain.png options. Removed alpha cleanup for print export, as it's unnecessary.
- Version 2.0, 3/17/2012 - exe, source - Anvil support: if you use Minecraft 1.2 or newer, use 2.x, else use 1.15. Hats off to Sean Kasun and some anonymous githubber, who did the heavy lifting in the conversion to Anvil. Source code uploaded to github. Old North is now East. Added redstone lamps, added Sphax PureBDcraft and LB Photorealism terrain.png files and updated the rest to Minecraft 1.2.3, as possible. Fixes: now uses a little less memory in a few places, to help large exports. Repeater/wire connection fixed so that wires properly attach to only the ends of repeaters, not the sides.
- Version 2.01, 3/21/2012 - exe, source - fixed various height bugs that slipped through the cracks. Wool now doesn't lose its color above height 127, for example.
- Version 2.02, 3/22/2012 - exe, source - Updated to 1.2.4: added circle brick, different wood planks, and sandstone variants. Fix: swap spruce and birch saplings.
- Version 2.02, 3/23/2012 - exe, source - Improvement: added a "Lower depth" slider to the user interface, making depth selection obvious and easier (thanks to Adrian Alan Brown for the suggestion). Misa textures updated to 1.2.4 (Coterie, Doku, LB, and Sphax have not been updated).

That's it - have fun!