Programs and editors/TopoMC
| Author |
Mathuin |
| Developers |
? |
| Platform | |
| Written in |
Python |
| Latest version |
0.8 |
| Released |
2011-12-14 |
| Size |
21M |
| License |
MIT License |
| Source available |
Yes |
| Compatible with | |
| Links |
| The contents of this page are not supported by Mojang, the Minecraft Wiki, the Minecraft IRC Channel or the Minecraft Forums. |
Contents |
[edit] What is TopoMC?
The TopoMC project facilitates the construction of superficially realistic Minecraft worlds leveraging data from the USGS, specifically the NED and NLCD datasets.
[edit] Recent changes
Recent changes include:
- Arrays are used instead of images as the intermediary format. (Go Bravo!)
- There is now a hard floor of bedrock so no more falling through.
- All created worlds are now stored in Worlds/ by default.
- Fixed ore generation bug which made the ellipsoid a spheroid.
[edit] Features
Features include:
- Ore (including dirt and gravel) is generated properly.
- Simulated bathymetric data based on local terrain.
- Datasets can now be downloaded directly from the USGS!
[edit] What is included?
The source code and some documentation are included. Please feel free to contribute patches to both!
[edit] Sample Dataset
This project also includes one small dataset for testing. It was generated with the following commands:
- ./GetDataset.py --region BlockIsland --ymax 41.2378 --ymin 41.1415 --xmin -71.6202 --xmax -71.5332
- ./WarpElev.sh --region BlockIsland
[edit] What else is required?
[edit] pymclevel
TopoMC depends heavily on codewarrior0's pymclevel project, which provides a Python interface to Minecraft levels. Pymclevel is available at https://github.com/codewarrior0/pymclevel, or git clone https://github.com/codewarrior0/pymclevel.git
pymclevel should be cloned to a directory parallel to that of TopoMC -- i.e., they should both have the same parent directory. If pymclevel has been placed in a different location, it must be added to the Python path variable (PYTHONPATH) for the scripts to run.
PYTHONPATH=PYTHONPATH:/path/to/dir/above/pymclevel (This should *not* contain the actual pymclevel directory).
export PYTHONPATH
[edit] Command-line tools
In addition to pymclevel, TopoMC requires some command-line tools for manipulating geospatial data. On Ubuntu, those tools are found in the packages 'gdal-bin' and 'proj'. Consult your operating system documentation or the Internet for more information on how to install these modules.
[edit] Python modules
This project also uses a number of Python modules -- argparse, GDAL, Numpy, Scipy, and suds -- to retrieve and manipulate data. Again, consult your operating system documentation or the Internet for more information on how to install these modules.
[edit] Ubuntu Pre-requisites
You can get all the python and command-line tools installed on ubuntu (still need to get pymclevel by hand) with one line:
sudo apt-get install python-suds python-scipy python-numpy python-gdal python-lxml gdal-bin
Note that python-suds package is not in Ubuntu 10.10 and earlier repositories. If you are not on 11.04 may have to install python-suds manually. You may also have to install packages libproj-dev (which selects for the correct version of libproj0).
[edit] How do I use it?
[edit] Choose your location
First, obtain maximum and minimum latitude and longitude values for your desired area. I highly advise you to start small -- your first dataset should be less than 0.05 degree on each side. Once you are comfortable with the software's behavior, then you can work up to larger areas. Please note that coverage is currently limited to the coterminous United States of America!
For this example, I chose Washington, DC. I used Google Maps to obtain latitude and longitude information for the upper-left and lower-right corners of the region in question. They were (38.9024, -77.0575) and (38.8784, -77.0050), respectively. Please note that west longitudes are negative values.
[edit] Retrieve your dataset
Next, use the following commands to obtain your dataset and prepare it for usage:
- ./GetDataset.py --region Washington --ymax 38.9024 --ymin 38.8784 --xmin -77.0575 --xmax -77.0050
[edit] Build your world!
Now that the dataset has been obtained and prepared, it is time to build the arrays, and then the world:
- ./BuildArrays.py --region Washington
- ./BuildWorld.py --region Washington
You should now have a directory named Washington inside your Worlds/ directory. Move that to wherever you place your maps and start up Minecraft!
[edit] What did I do wrong?
I will populate this section with troubleshooting suggestions as problems are reported.
[edit] Anything else?
The default spawn point is at the highest point in the dataset.
The safe house is back! Perhaps someday there'll be a bed, or even a chest in there with everything the explorer needs?
Users whose primary focus is on the surface rather than the absolute altitude can use the "--trim" argument, which removes all the elevation between the lowest point in the region and sea level. Used alone, this provides the maximum space for building up -- but used with "--vspace 1" it permits the best vertical representation of the existing terrain.
[edit] Licensing
TopoMC is maintained under the MIT license, and the source can be found at https://github.com/mathuin/TopoMC/.