2

Minecraft backups are saved to a local folder on your computer.

C:\Users\USERNAME\AppData\Roaming.minecraft\saves

How can such a file be utilized from FME? Turning it into a map will require a rule set where one decides if the map/visualization should be done using the surface of the model, a cross section or a selection of features. What tools could be used.

Which transformers could be used?

2
1

As you might know, Minecraft data enters FME as a point cloud. Probably the best way to start is to divide the data by block type. Use the PointCloudSplitter to do this. You need to split by BlockID. If you've built a building using stone, then keep that ID, like so:

enter image description here

You can find a list of block ID numbers in many places online, including here. In the above, 1 is the stone walls, 5 is the wooden floor/roof, 20 are glass windows, etc.

Notice I'm choosing not to keep IDs 2 (grass), 3 (dirt) and 7 (bedrock) since they aren't part of the building I want to work with. Of course, for a 2D map I probably would keep them.

What might I do next? Well, it depends what you want. In this workspace...

enter image description here

I turn the point cloud into point features (PointCloudCoercer), get the x,y,z coordinates of that point, then use VertexCreators to turn that point into a 1-unit square polygon.

If I want that to be a 2D map, then I could just flatten it out (with a 2DForcer) and merge adjoining polygons together with the same ID. Of course, you need to decide which block type wins out, where there are multiple blocks stacked up on each other.

One way you could do that is to pick the highest block (highest z). Use a Sorter to sort by z and then a DuplicateRemover to remove duplicate x and y values. There are other ways, but they would depend on what you exact rules are.

Alternatively, here I extrude the blocks into 3D. That way I end up with a vector model that is made up of blocks, just like in Minecraft:

enter image description here

I could then add textures or appearances to give it a more polished look.

I hope this helps. If you need more assistance then please do post, either here or on the FME Community Answers site (fmepedia.safe.com)

1

What a coincidence, I am currently working on a workspace that brings Minecraft data that never existed in any other form, to some "normal" GIS format. I see a lot of possibilities here, but it all begins from point cloud splitting by blockID. My current world has 166 types of blocks, and this is what slows me down, I am a bit afraid to go through this pile of block types. Then I am going to deal with certain blocks or group of blocks separately. For example, we can extract vector polygons with PointCloudCoercer and HullReplacer. That should work for grass blocks, trees, water bodies. For buildings I am thinking, I could replace points with squares, intersect them and dissolve. I also would like to try bringing buildings as 3D objects to Revit, for that I am going to make boxes and then, maybe, use solid clipping - it would be nice to have a good standard 3DDissolver in FME, but at this point, we have only custom transformers, which aren't very fast (well, they are slow). Railways probably should work fine if we make a reverse operation to Minecraft railway creation shown during our webinar and described in more details in this article:

http://fmepedia.safe.com/articles/Samples_and_Demos/How-to-make-Minecraft-worlds

I'll try to update this article with the results of my current tests.

1
  • Ha! Of course, we both were working on an answer at the same time! – Mark Ireland Feb 23 '15 at 22:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.