It just reads out the raw bytes from the file and maps each possible byte value to a Minecraft block, which means that it works with any file. The flipside of this is that it’s rarely going to produce anything other than a garbled mess.
For small numbers of blocks, this would be more space-efficient, because it has no overhead and stores less information per block. However, Minecraft’s file format actually already supports compression, so once things get to a certain size, it would probably start catching up (depending on how structured the blocks are in relation to each other).
More importantly though, this program can only produce contiguous square pillars, so there are not a whole lot of practical uses for it (of course, this is not the goal of this project to begin with). Once you start adding in the complexities to make it useful, you’re basically reinventing Minecraft’s own file format, with similar space-efficiency.
And of course, there’s the matter that normally, Minecraft’s worlds are procedurally generated from a seed, so it doesn’t actually need to save all the blocks that make up a region, just the changes the players made to it. But this is something that’s impossible to do when storing a region as just a sequence of blocks.
It just reads out the raw bytes from the file and maps each possible byte value to a Minecraft block, which means that it works with any file. The flipside of this is that it’s rarely going to produce anything other than a garbled mess.
This seems like it would be good for compression. Is the byte version any smaller than the Minecraft world? I’m assuming so.
For small numbers of blocks, this would be more space-efficient, because it has no overhead and stores less information per block. However, Minecraft’s file format actually already supports compression, so once things get to a certain size, it would probably start catching up (depending on how structured the blocks are in relation to each other).
More importantly though, this program can only produce contiguous square pillars, so there are not a whole lot of practical uses for it (of course, this is not the goal of this project to begin with). Once you start adding in the complexities to make it useful, you’re basically reinventing Minecraft’s own file format, with similar space-efficiency.
And of course, there’s the matter that normally, Minecraft’s worlds are procedurally generated from a seed, so it doesn’t actually need to save all the blocks that make up a region, just the changes the players made to it. But this is something that’s impossible to do when storing a region as just a sequence of blocks.