Skip to content

mackobun/TopoMC

 
 

Repository files navigation

The TopoMC project facilitates the construction of superficially realistic Minecraft worlds leveraging USGS, specifically the NED and NLCD datasets.

This project relies heavily on codewarrior0's pymclevel project which can also be found on github.

Version 0.8 includes changes to support the most up-to-date version of pymclevel (as of 2011 Dec 06).

Recent changes include:
 * Larger areas can be downloaded from the USGS.
 * Arrays are used instead of images for intermediary data.  Go Bravo!
 * Most module output moved to logger format.  Quieter runs!
 * Features like ore and statistics can now be disabled.
 * The rotated-rectangle problem is fixed!

Features include:
 * Vertical range can be expanded by trimming unused elevation.
 * Specific USGS product IDs can be selected for download.
 * Ore (including dirt and gravel) is generated properly.
 * Simulated bathymetric data based on local terrain.
 * Datasets can now be downloaded directly from the USGS!

This project 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

The default spawn point is at the highest point in the dataset.  The safe house is back!  Perhaps someday there'll be a chest in there with everything the explorer needs?

The best way to get latitude and longitude is through Google Maps.  Choose your chunk of the planet and right-click to place latlong markers in the upper left and lower right of the region you wish to model.  This will give you the maximum and minimum latitude and longitude (Y and X in my model) values.

Next, here's what to do!

1.  Download the dataset from the USGS.
    jmt@belle:~/TopoMC$ ./GetDataset.py --region Provincetown --ymax 42.0901 --ymin 42.0091 --xmin -70.2611 --xmax -70.1100

2.  Build the arrays.
    jmt@belle:~/TopoMC$ ./BuildArrays.py --region Provincetown

3.  Build a new world! 
    jmt@belle:~/TopoMC$ ./BuildWorld.py --region Provincetown

Both BuildArrays.py and BuildWorld.py have lots of options for the curious.  

One new option for BuildArrays.py is "--trim".  This option should be used with "--vscale 1" for users who are willing to sacrifice absolute elevation accuracy to achieve maximum vertical scale on the surface.  Essentially, "--trim" removes all the space between the minimum elevation of the region and sea level.  For more details, see the source code.

About

Building Minecraft worlds from USGS NED and NLCD topographical data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published