Program That Allows You to Map Out Minecraft Pixel Art
            mcmap            - Isometric map visualizer
                                  
            
          
Original projection by Simon Rettberg. All the credit goes to him for the idea and vision.
            mcmap            is a tool allowing you to create isometric renders of your Minecraft save file.
            
          
This project is under heavy development, but compatible with newer versions of Minecraft.
Usage
Bones invocation
              mcmap <options> path/to/<your relieve>                                    The standard save path is unlike betwixt OSes:
- On Linux, it is              
$Domicile/.minecraft/saves; - On macOS, under              
~/Library/Application\ Support/minecraft/saves; - On Windows, the standard path is              
%AppData%\.minecraft\saves. If using Ubuntu on Windows, the path to access the save folder is the following:/mnt/c/<Your user>/AppData/Roaming/.minecraft/saves. 
Native Windows is now supported. Pre-compiled binaries tin can be downloaded from the releases page. For now, the programme tin only be used via            terminal/powershell            on Linux/Macos or Windows respectively.
An experimental GUI is available for Windows and can be downloaded here.
Options
| Name | Description | 
|---|---|
                  -from X Z                 |                 sets the coordinates of the cake to start rendering at | 
                  -to X Z                 |                 sets the coordinates of the block to end rendering at | 
                  -centre Ten Z                 |                 sets the center of a circular render | 
                  -radius VAL                 |                 sets the radius of a circular render | 
                  -min/max VAL                 |                 minimum/maximum Y index (height) of blocks to render | 
                  -file NAME                 |                 sets the output filename to 'Proper name'; default is                  ./output.png                 |               
                  -colors NAME                 |                 sets the custom color file to 'Name' | 
                  -nw                  -ne                  -se                  -sw                 |                 controls which direction will betoken to the top corner; N-West is default | 
                  -mark x z color                 |                 depict a marking at                  x                  z                  of color                  color                  in                  cerise,green,blue                  or                  white; tin can be used upwards to 256 times |               
                  -nowater                 |                 do not render h2o | 
                  -nobeacons                 |                 do not render beacon beams | 
                  -shading                 |                 toggle shading (brightens blocks depending on summit) | 
                  -lighting                 |                 toggle lighting (brightens blocks depending on light) | 
                  -nether                 |                 return the under | 
                  -cease                 |                 render the end | 
                  -dim[ension] [namespace:]id                 |                 render a dimension by namespaced ID | 
                  -mb VAL                 |                 maximum retentivity to use at once (default 3.5G, increase for large maps if you lot take the ram) | 
                  -fragment VAL                 |                 render terrain in regions of the specified size (default 1024x1024 blocks) | 
                  -tile VAL                 |                 generate split output in square tiles of the specified size (in pixels) (default 0, disabled) | 
                  -padding                 |                 padding around the terminal image, in pixels (default: 5) | 
                  -h[elp]                 |                 display an pick summary | 
                  -v[erbose]                 |                 toggle debug mode | 
                  -dumpcolors                 |                 dump a json with all defined colors | 
            Note: Currently you need both              -from              and              -to              OR              -centre              and              -radius              to define bounds.          
Tips
            mcmap            volition render the terrain in batches using all the threads of your computer. Unfortunately, when those batches merge, some artifacts are created: lines appear in oceans where the merge was operated.
Apply            -fragment            with a bigger value to limit the amount of batches and thus of artifacts. This is limited by the bachelor memory, as rendering a whole map iin one go may require 10+ gigabytes of ram.
Employ            -fragment            with a lower value to increase performance. Fragments of 256x256 and 512x512 blocks are actually efficient.
Color file format
            mcmap            supports irresolute the colors of blocks. To do and then, prepare a custom color file by editing the output of            mcmap -dumpcolors, and pass it as an argument using the            -colors            statement.
The accepted format is a            json            file, with a specific construction. The root contains a list of block IDs to alter, with the namespace prefix, such as            namespace:cake.
Simple block
To define a colour for a simple, regular block, provide an entry in a JSON file. The color format is a hexadecimal color code. If the alpha is non specified, it is assumed to be opaque.
              "namespace:block": #rrggbbaa (or #rrggbb)                                    Examples:
              {     "minecraft:dirt":   #7b573b,     "minecraft:water ice":    #7dadff9f,      ... }                                    Complex block
Some blocks are better looking when fatigued in a specific way. To specify that a block has to be drawn differently, y'all have to provide a            json            construction with the following fields:
              "namespace:block": {     "blazon":     <BlockType>,     "colour":    "#rrggbbaa",     "accent":   "#rrggbbaa" (Optional) }                                    The bachelor available block types are:
| Proper noun | Appearance | Accent back up | 
|---|---|---|
                  Full                 |                 Default. Full-block. | No | 
                  Hibernate                 |                 Do non return the block entirely. | No | 
                  Clear                 |                 This cake is optimized for transparent cake in large quantities, such equally glass and water. The elevation of the block is not rendered, making for a smooth surface when blending blocks together. | No | 
                  Sparse                 |                 Will colour only the height of the block underneath. Used for snow, runway, force per unit area plates. | No | 
                  Slab                 |                 One-half cake. | No | 
                  Stair                 |                 Renders a stair block. | No | 
                  Rod                 |                 A slimmer block, used for fences and walls. | No | 
                  Wire                 |                 Small-scale dot on the floor, used for tripwire and redstone. | No | 
                  Head                 |                 Smaller block, too used for pots, pickles, and mushrooms. | No | 
                  Plant                 |                 Used in a diversity of cases, renders a foliage-like block. | No | 
                  UnderwaterPlant                 |                 Same as                  Institute, but the air is h2o-colored. Used for sea-grass and kelp. |                 No | 
                  Burn down                 |                 Burn-similar. Used for fire. | No | 
                  Beam                 |                 Internal cake type, used for markers and buoy beams. | No | 
                  Torch                 |                 Three pixels in a vertical line, with the height pixel rendered with the emphasis colour. | Yes | 
                  Ore                 |                 Block with veins of color. The vein is rendered with the accent color. | Yes | 
                  Grown                 |                 Blocks that have a dissimilar layer on top. Grass, nylium, etc. The superlative layer is rendered with the accent color. | Yes | 
                  Log                 |                 Directionnal block, to render logs/pillars equally close as possible. The center of the pillar is rendered with the accent colour. Used for logs, pillars, basalt. | Yep | 
                  Lamp                 |                 Conditionnal cake, to render redstone lamps. If lit, rendered with accent color. | Yes | 
            NOTE: Waterlogged blocks will be rendered within water instead of air by default co-ordinate to their blockstates. However, sea-grass and kelp are hardcoded to be underwater and their blockstates won't reflect this, and so they have to be defined as            UnderwaterPlants.
Examples:
              {     "minecraft:dirt":   "#7b573b",  // Total block with solid colour      "minecraft:grass_block": {         "type":     "Grown",        // Apply a special block type         "accent":   "#4c7a40",      // Accent supported for `Grown`         "color":    "#7b573b"     },      "minecraft:h2o": {         "blazon": "Clear"         "color": "#0734c832",       // Transparency enabled     }, }                                    Tiled output
Using the            -tile            options with a non-cypher value triggers the split output. A binder will be created with the following format:
              $ ls output 0    104  15  21  28  34  40  47  53  half-dozen   66  72  79  85  91  98 1    105  xvi  22  29  35  41  48  54  60  67  73  eight   86  92  99 x   106  17  23  3   36  42  49  55  61  68  74  lxxx  87  93  mapinfo.json 100  11   18  24  30  37  43  5   56  62  69  75  81  88  94 101  12   19  25  31  38  44  fifty  57  63  7   76  82  89  95 102  thirteen   2   26  32  39  45  51  58  64  seventy  77  83  nine   96 103  14   20  27  33  4   46  52  59  65  71  78  84  90  97                                    To view the generated map, open the HTML file in            contrib/leaflet/alphabetize.html. A file dialog will be present; give information technology the above            mapinfo.json            to load the map.
Compilation
            mcmap            depends on the            PNG            and            zlib            libraries. Development was made using            gcc            version ten, and can be compiled with            gcc            8 or later on or            clang            10 or later. Configuration is washed using            CMake.
Linux
Getting the libraries depends on your distribution:
- Ubuntu:              
apt update && apt install git brand thousand++ libpng-dev cmake; - Archlinux:              
pacman -S --needed git gcc brand libpng cmake. 
Then become the lawmaking and compile:
              git clone https://github.com/spoutn1k/mcmap mkdir -p mcmap/build && cd mcmap/build cmake .. brand -j                                    macOS
In an Apple tree environs, you need a developer toolkit recent enough, with the version of            g++ --version            superior to 10.
Using            mash:
              brew install libpng libomp git clone https://github.com/spoutn1k/mcmap mkdir -p mcmap/build && cd mcmap/build cmake .. make -j                                    Windows
            mcmap            was successfully compiled for Windows using Visual Studio/Visual C++ and MinGW. Every bit there is no bundle manager on Windows,            libpng            and            zlib            need to exist compiled/installed manually. If compiling the GUI version, you volition also need            Qt.
Y'all tin can also download and gear up up Ubuntu on windows then the steps are the same as Linux/Ubuntu.
Snapshot support
Snapshots are unsupported by default. One tin enable support by using the            SNAPSHOT            CMake            selection. In linux/macOS:
              git clone https://github.com/spoutn1k/mcmap mkdir -p mcmap/build && cd mcmap/build cmake .. -DSNAPSHOT=ane make -j                                    On Windows, this will depend on the software you are using to compile            mcmap.
Troubleshooting
Compilation fails
Bank check            thou++ --version. Supported versions are at to the lowest degree 8.0.0. If your version is non upwardly to date, install a more recent ane using your package director. You volition have access to the new version using            g++-Y            with Y being the version number. Compile using            CXX=thou++-Y brand.
Compilation fails complaining near OMP something
Attempt compiling with            OPENMP=NOTHXM8 make. This disables the underlying threading code, so performance may drop.
Output has lines in the ocean
This is due to the merging algorithm. Try increasing the split size with the            -fragment            selection, or change the color of the h2o block to utilize the            Full            block type to make it less noticeable.
Source: https://github.com/spoutn1k/mcmap