Do Minecraft save files use a Python interface?

How do Minecraft save files work? Is there a Python interface?


You're looking for mclevel.py. This (as the name hints at) allows python to manipulate Minecraft levels. I don't know if it also does minecarts, but I suppose so.

It can be found at http://www.minecraftforum.net/viewtopic.php?f=25&t=28518&p=507974&hilit=pymclevel#p507974

An example of what you can do with it: http://www.minecraftforum.net/viewtopic.php?f=25&t=52183


This Minepedia page has some documentation; here's a simple overview.

  • World<x> holds the data for the world in the xth slot.
    • level.dat contains information about your spawn point, time of day, inventory.
    • A number of folders used to organize data into at most 64 groups of chunks.
      • A second level of folder used to organize data into at most 4,096 smaller groups of chunks
        • The chunk files themselves, each storing terrain, item and monster data for the corresponding 16×16 slice of the world.

      The folder hashing has been added because some systems had trouble handling folders with huge amounts of files.

      For the curious, the path for the chunk at position (x,y) for the world in slot w is calculated as follows, using this base36 function and the % modulus operation:

      world<w>/<base36(x % 64)>/<base36(y % 64)>/c.<base36(x)>.<base36(y)>.dat
      

      Each chunk is as large as this hole:

      a 16×16 meters large hole all the way down to the void.Image courtesy of Raven Dreamer, say hello to the creeper.


      Information about the world-file format can be found here and here.