twoolie / NBT

Python Parser/Writer for the NBT file format, and it's container the RegionFile.
MIT License
361 stars 74 forks source link

A way to port to newer Minecraft versions? #151

Open FlashStopFall opened 3 years ago

FlashStopFall commented 3 years ago

This is a fantastic program. I have been writing my own code and going through newer region files (1.16.5); extracting chunk sectors, decompressing, editing, and repackaging them into the region file. The problem is I have gotten stuck at the uncompressed chunk data. There is almost no documentation on it. I can see the text but I can't decipher the rest of the file. Maybe it's compressed still, I don't know. I'm going to look through this program to better understand the chunk data. That said, this would be very cool and helpful to update/port to a newer Minecraft version, and I'd like to try to make that happen. What is needed to make this program work with a newer Data Version?

macfreek commented 3 years ago

In my opinion, the strength of this NBT library is in the ability to parse NBT data structures and region files. (in code: the nbt.py and region.py functionality). In short, the file format part. It's ability to parse world folders and interpret the contents of the NBT data structures (in code: the world.py and chunk.py) are less developed. In short, the Minecraft-specific part.

I can only talk for myself, but the impression I have is that the current maintainers (Twoolie and myself) don't have the time to add many more features or improve the Minecraft-specific part.

So in reality, what is needed to make this program work with a newer Data Version, is to have a new maintainer that is willing to work on that part of the program. Either as a part of this program, or as part of another program that uses this NBT library. That last is not new, Minecraft-Region-Fixer by Fenixin is a tool that uses the NBT library to read and write NBT files, and adds a lot of functionality around it.