You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As an enthusiastic newcomer to Minetest, I would love to bring some of my old worlds over from Minecraft. This script looks like what I'm after, but running it yields only the following error message and an exit status 1.
$ python3 mcimport.py "$HOME/Desktop/tree-world""$HOME/.minetest/worlds/tree-world"$HOME/mcimport/tile_entities.py:117: SyntaxWarning: invalid escape sequence '\/'
m = re.search('\/time set (\d+)', c)
Traceback (most recent call last)::??:?? h:m:s
File "$HOME/mcimport/mcimport.py", line 107, in<module>mtmap.save()
File "$HOME/mcimport/block.py", line 455, in save
forblockin self.blocks:
File "$HOME/mcimport/block.py", line 439, in fromMCMapBlocksIterator
formcblockinmcmap.getBlocksIterator():
File "$HOME/mcimport/block.py", line 62, in getBlocksIterator
blocks = self.getChunk(chkx, chkz).blocks
^^^^^^^^^^^^^^^^^^^^^^^^^
File "$HOME/mcimport/block.py", line 45, in getChunk
return MCChunk(chkx, chkz, self.world_path, self.ext)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "$HOME/mcimport/block.py", line 86, in __init__
raw_data = nbt.read(udata)['']['Level']
~~~~~~~~~~~~~~~~~~~^^^^^^^^^
KeyError: 'Level'
Home directory redacted; substituted with $HOME.
I tried it with the shell script first, but found that iterating while debugging was faster if I just ran the python script directly, and I was getting the same result either way.
I have tried it on four different worlds and get exactly the same result. One of the worlds is from MC 1.20.6 and another is from 1.12.2, so save version doesn't seem to be related. I've linked the example (from 1.19) below. (It's too large to attach apparently.) https://www.icloud.com/iclouddrive/044AlMrcWsxo3Bi50eVQuzzHA#source-tree-world
The output folder does seem to contain some basic files, which I've attached in case it's useful. tree-world.tar.gz
Information
OS: Arch Linux (fully updated)
Python: 3.12.3
Other info available on request.
Thank you for your time! I really appreciate it!
The text was updated successfully, but these errors were encountered:
This issue seems to be caused for a few different reasons. It looks like the level key has been moved / doesn't exist anymore for newer versions of minecraft. Anvil files also have changed recently, and frustratingly. "Sections" is also no longer a valid key either. It's been changed to "sections" with a lowercase.
If we print the properties of nbt.read() in block.py, we get these new dictionary keys dict_keys(['Status', 'zPos', 'block_entities', 'yPos', 'LastUpdate', 'structures', 'InhabitedTime', 'xPos', 'blending_data', 'Heightmaps', 'sections', 'isLightOn', 'block_ticks', 'PostProcessing', 'DataVersion', 'fluid_ticks'])
As an enthusiastic newcomer to Minetest, I would love to bring some of my old worlds over from Minecraft. This script looks like what I'm after, but running it yields only the following error message and an exit status 1.
Home directory redacted; substituted with
$HOME
.I tried it with the shell script first, but found that iterating while debugging was faster if I just ran the python script directly, and I was getting the same result either way.
I have tried it on four different worlds and get exactly the same result. One of the worlds is from MC 1.20.6 and another is from 1.12.2, so save version doesn't seem to be related. I've linked the example (from 1.19) below. (It's too large to attach apparently.)
https://www.icloud.com/iclouddrive/044AlMrcWsxo3Bi50eVQuzzHA#source-tree-world
The output folder does seem to contain some basic files, which I've attached in case it's useful.
tree-world.tar.gz
Information
Thank you for your time! I really appreciate it!
The text was updated successfully, but these errors were encountered: