-
Notifications
You must be signed in to change notification settings - Fork 482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
request support for pocket and bedrock edition maps #921
Comments
(This should be marked as Feature Request) Things we'll need to investigate for this feature
This sounds like an interesting project, I'd love to work on it but I don't own a smartphone. If you can provide example worlds, I could look into it this summer. |
Thank you. I find this an interesting project also -- my reason is my 4yr old daughter has spent quite some time making "houses" in minecraft pocket edition for iPad and i'd love to see them via overviewer.py Here is a zip of her older data (ipad) with several small worlds: http://www.mediafire.com/?rcpn1zc7nz22jid I can rsync her recent changes (probably new worlds) at any time and post them also. Thank you again. 2 years later, my girl is making fantastic creations -- would love to render |
+1 for this. My son and lots of kids in our neighborhood would freak out if I could render their maps for them. |
Me too - I'd like to map my Pocket Edition in addition to my PC Edition worlds. |
I've marked this as a Feature Request. This would be really great to have, but I'm afraid we don't have the resources to investigate this. If someone from the community wants to help, that would be great. To start with -- how do Pocket Edition maps differ from normal maps, and are there any other renderers out there that support MCPE? |
Possible open source code that reads Pocket Edition world files: |
Random thought: Since MC Windows 10 Edition = Pocket Edition, using Windows 10 Edition (if you develop on a PC) might be the easiest route for testing. https://www.microsoft.com/en-us/store/apps/minecraft-windows-10-edition-beta/9nblggh2jhxj |
Also found that MCPE world data is in the LevelDB-mcpe format. From MCEdit-Unified readme https://github.com/Khroki/MCEdit-Unified : INSTALLING leveldb_mcpe: MCPE support requires a special library. MCEdit will run without it, but to have MCPE support you need to build it yourself. For mac and/or windows users: This requires a boost.python installation. Get boost: http://www.boost.org/ and make sure to build the python libs. Next step is to get leveldb-mcpe from Mojang: https://github.com/Mojang/leveldb-mcpe Build the thing using something like cmake, and copy the created leveldb-mcpe.lib to ./leveldb_mcpe After those steps, you should be able to build the required .pyx: ' > cd ./leveldb_mcpe' python setup.py build Head into the build folder and look for the folder containing the .pyx. Copy it to ./leveldb_mcpe, and test: ' > python test.py' If no errors occured, move the .pyx to ../pymclevel, and you should be good to go. For linux users: Navigate to the leveldb_mcpe folder '> python setup.py build' '> python test.py' And you should be good to go. |
I get this same error when trying to render a map downloaded from Minecraft Realms, is it the same issue as this? |
If you're using the bedrock edition or whatever, then yes. If you're using the Java edition, then no. |
Any news on when this will get implemented? Im running the Bedrock Dedicated server (Alpha) on Debian and playing on it with the Windows 10 version. Would love to get my map visible with Overviewer. |
Me too! I would second adding Bedrock support for Overviewer, though I pretty much believe that this is a very hard and time consuming task to do. |
Bedrock dedicated server support would be awesome. I loved Overviewer for Java Edition! |
|
@CounterPillow Sorry, I'll remove my previous comment. I thought it might be useful but I don't want to get off-topic. |
I've heard that help is needed on this. Whom can I discuss this with? |
With us right in here, ideally. |
Somehow has posted a task on a freelance website regarding this issue. I came from there. Are we on the same page? If yes, let's discuss it. |
I don't know who posted that task, you should probably contact them through whatever freelance website that is though. |
And you should probably come to realize that if I posted my question here here and not at that freelance website, there must be a reason. |
Well, we don't know who posted that task, but development here is usually coordinated in github issues. |
I believe figuring out what your freelance task involves and helping you to achieve this is not the job of volunteer contributors who don't even know who posted it and what they wanted it to entail, so fuck right off with your attitude. |
Sorry about the drama, I posted the freelance job. I haven't used python much so I'm looking for help, and this issue is pretty old and I want to add motivation. If anyone here would be interested to help, please do email me :) My email is my username at gmail. Here's what I have so far: Here's a simple python project that can access chunks and blocks in 'Bedrock'. I've tested it and it does work. It doesn't have functions for checking if a chunk/block exists, so I was having trouble finding the bounds of the map using it. I'm also not sure about chunk timestamps. Here's a C# project that can actually generate a map for a 'Bedrock' map: https://github.com/mjungnickel18/papyruscs It's a lot simpler than Overviewer (which is why I'm here), but there's probably code there that can help see how they find map bounds and such, for example https://github.com/mjungnickel18/papyruscs/blob/master/Maploader/World/World.cs#L187-L199 As you probably know, the code that probably needs changing in Overviewer is the MCRFileReader here https://github.com/overviewer/Minecraft-Overviewer/blob/master/overviewer_core/nbt.py, and World and RegionSet (https://github.com/overviewer/Minecraft-Overviewer/blob/master/overviewer_core/world.py) If someone can help me with the hard part of reading blocks from Bedrock and preferably generating some kind of map, I can probably do the rest, for example if blocks need some kind of mapping between Bedrock data and Anvil data, or documentation and compatibility with other command line options. Here's a new world in Bedrock: https://drive.google.com/open?id=1HX-mFZFm1N0jKIQA3s8NMqbRa9kZe1yJ |
I'm working on this issue and am stuck with a rendering problem. If anyone can help please let me know here: #1707 |
Hows the progress of this feature request ? |
Alas I've moved on at this point. Feel free to take my pull request though and finish coding it |
@CounterPillow I'm thinking of possibly diving into this some time. What's the appetite to have this in Overviewer? Do you have any ideas for a general approach, or about what prerequestites Overviewer might need to enable work on this? |
@joshhunt I got started on this with this PR, feel free to take parts of it if you want: #1707 You can see more details in that PR. There are a couple libraries I bring in, and you can also use https://github.com/mjungnickel18/papyruscs as reference. I don't think it should be too hard to do, but then again I wasn't able to do it :) If you can get this to a point where it actually outputs some kind of map, I can help further with that. I got stuck because I thought I was reading blocks correctly, but I couldn't get anything output other than a black screen. |
+1 for papyruscs as a render pipeline reference. I would also recommend referring to vellum, which can run schedule renders using papyruscs. most critically, vellum does the automatic hold of a world to avoid corruption during a render/backup cycle. It doesn't make sense to reinvent the wheel or be spawning bugs where fixes are already known. I only just now realised after setting up an initial config that overviewer doesn't do bedrock (gzip error). I'm happy to alpha/beta test on a functioning BDS world that's running vellum and papyruscs for comparative testing on windows. |
Needs a rewrite of our ID stuff first, dynamically assigning them instead of doing static assignments. Preferably we can also do block models at the same time, but that's strictly speaking not required. |
$ overviewer.py --rendermodes=smooth-lighting "world1" ./
2013-04-24 16:29:56 Welcome to Minecraft Overviewer!
2013-04-24 16:29:56 E An error has occurred. This may be a bug. Please let us know!
See http://docs.overviewer.org/en/latest/index.html#help
This is the error that occurred:
Traceback (most recent call last):
File "/usr/bin/overviewer.py", line 532, in
ret = main()
File "/usr/bin/overviewer.py", line 413, in main
w = world.World(render['world'])
File "/usr/lib/python2.7/dist-packages/overviewer_core/world.py", line 97, in init
data = nbt.load(os.path.join(self.worlddir, "level.dat"))[1]['Data']
File "/usr/lib/python2.7/dist-packages/overviewer_core/nbt.py", line 29, in wrapper
return func(fileobj, *args)
File "/usr/lib/python2.7/dist-packages/overviewer_core/nbt.py", line 37, in load
return NBTFileReader(fileobj).read_all()
File "/usr/lib/python2.7/dist-packages/overviewer_core/nbt.py", line 181, in read_all
tagtype = ord(self._file.read(1))
File "/usr/lib/python2.7/gzip.py", line 256, in read
self._read(readsize)
File "/usr/lib/python2.7/gzip.py", line 291, in _read
self._read_gzip_header()
File "/usr/lib/python2.7/gzip.py", line 185, in _read_gzip_header
raise IOError, 'Not a gzipped file'
IOError: Not a gzipped file
The text was updated successfully, but these errors were encountered: