问题
I can't find a way of reading the Minecraft world files in a way that i could use in python
I've looked around the internet but can find no tutorials and only a few libraries that claim that they can do this but never actually work
from nbt import *
nbtfile = nbt.NBTFile("r.0.0.mca",'rb')
I expected this to work but instead I got errors about the file not being compressed or something of the sort
OSError: Not a gzipped file (b'\x00\x00')
Full errors: raceback (most recent call last): File "C:\Users\rober\Desktop\MinePy\MinecraftWorldReader.py", line 2, in nbtfile = nbt.NBTFile("r.0.0.mca",'rb') File "C:\Users\rober\AppData\Local\Programs\Python\Python36-32\lib\site-packages\nbt\nbt.py", line 628, in init self.parse_file() File "C:\Users\rober\AppData\Local\Programs\Python\Python36-32\lib\site-packages\nbt\nbt.py", line 652, in parse_file type = TAG_Byte(buffer=self.file) File "C:\Users\rober\AppData\Local\Programs\Python\Python36-32\lib\site-packages\nbt\nbt.py", line 99, in init self._parse_buffer(buffer) File "C:\Users\rober\AppData\Local\Programs\Python\Python36-32\lib\site-packages\nbt\nbt.py", line 105, in _parse_buffer self.value = self.fmt.unpack(buffer.read(self.fmt.size))[0] File "C:\Users\rober\AppData\Local\Programs\Python\Python36-32\lib\gzip.py", line 276, in read return self._buffer.read(size) File "C:\Users\rober\AppData\Local\Programs\Python\Python36-32\lib_compression.py", line 68, in readinto data = self.read(len(byte_view)) File "C:\Users\rober\AppData\Local\Programs\Python\Python36-32\lib\gzip.py", line 463, in read if not self._read_gzip_header(): File "C:\Users\rober\AppData\Local\Programs\Python\Python36-32\lib\gzip.py", line 411, in _read_gzip_header raise OSError('Not a gzipped file (%r)' % magic) OSError: Not a gzipped file (b'\x00\x00') [Finished in 0.2s]
Any help would be appreciated,
Robert
来源:https://stackoverflow.com/questions/57397934/how-can-read-minecraft-mca-files-so-that-in-python-i-can-extract-individual-blo