Skip to content
This repository has been archived by the owner on Dec 16, 2024. It is now read-only.

Converter producing invalid worlds #5

Open
Anonymous941 opened this issue Aug 27, 2024 · 14 comments
Open

Converter producing invalid worlds #5

Anonymous941 opened this issue Aug 27, 2024 · 14 comments

Comments

@Anonymous941
Copy link
Contributor

When trying to use this on the Skyblock world, the result is an invalid world

@Cracko298
Copy link
Owner

Yes, this is an Experimental Feature and is not Reccomended for usage until further research is done.

@Anonymous941
Copy link
Contributor Author

Anonymous941 commented Aug 27, 2024

I'm using leveldb-mcpe to parse this, and here are the problems, in order:

  • The CURRENT file needs a newline. This can easily be fixed, see Fix CURRENT file #6
  • The CRC is not correct. Can be fixed by patching out the check, but generating a proper CRC shouldn't be too hard. I'll see if I can add it later
  • The log file is not in the correct format. For some reason, the script copies db/vdb/newindex.vdb to db/MANIFEST-000001, despite these files having no resemblance I could figure out.

This is where I'm currently stuck, as it won't continue without a valid log file, and patching out the check just parses a blank world with no chunks. I don't understand what it even is, but it seems to be used partially for crash recovery - here is the relevant documentation

@Cracko298
Copy link
Owner

Mc3ds isn't a traditional bedrock save it is close enough todo some sort of conversion and renaming

@Anonymous941
Copy link
Contributor Author

Where is the log file? newindex.vdb doesn't seem even close, and I can't find any other files that seem to have the correct structure

@Cracko298
Copy link
Owner

The 3ds Edition doesn't contain any log files. They representative of each other around PE 1.0.15 (not bedrock).

@Anonymous941
Copy link
Contributor Author

The library requires one, is there a way around this?

@Cracko298
Copy link
Owner

You can modify it out of the module, but no guarantee it'll work

@Anonymous941
Copy link
Contributor Author

How did you get the void world in Skyblock without converting a save? I'm trying to make a void nether, but I can't use any save editors because I can't convert it into a Bedrock save

@Cracko298
Copy link
Owner

I manually translated the Bytes by hand and used a pre-existing world as a template.

It's tedious and takes roughly 100 hours to completely convert a world this way.

@Anonymous941
Copy link
Contributor Author

Wow, that's insane dedication, no wonder you didn't fix Cracko298/MC3DS-Skyblock-Plus#2 (that could take years lol). I can try to make a program to automate this, how did you figure out the blocks? Which files are they stored in?

@Cracko298
Copy link
Owner

If you need to know why that happens (for Skyblock+). It happens because the world doesn't register the VOID as valid when saving and assumes it is wrong or bad data.

As for where the actual data is stored, you can look into CDB files. Index files do NOT contain any world data and just point to where the slot files are located inside of the folder and naming scheme.

@Cracko298
Copy link
Owner

If you would like to join us, we have a bounty for finding a full proof method and providing code to convert to/from mc3ds and Java or Bedrock in our community server.

The Bounty is $1000 for software that can convert it or $200 for a writeup of said conversion.

@Anonymous941
Copy link
Contributor Author

Anonymous941 commented Aug 28, 2024

If you would like to join us, we have a bounty for finding a full proof method and providing code to convert to/from mc3ds and Java or Bedrock in our community server.

The Bounty is $1000 for software that can convert it or $200 for a writeup of said conversion.

$1000?? If it's gone unclaimed all this time If it's this hard, I'm probably not skilled enough write it completely (or someone probably would have already), but I'd be happy to help to the best of my ability. I've been in the server for a week or so actually, my username is phoneticteacher

@Cracko298
Copy link
Owner

It just was posted today, but the bounty ends in one month (09/29/2024l.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants