b1naryth1ef / chunkymonkey

Minecraft Beta multiplayer server
MIT License
4 stars 0 forks source link

Goal: Anvil World Format #1

Open b1naryth1ef opened 11 years ago

b1naryth1ef commented 11 years ago

The first step to upgrading to 1.5 will be implementing the new Anvil world format.

b1naryth1ef commented 11 years ago

http://www.minecraftwiki.net/wiki/Chunk_format

toqueteos commented 11 years ago

Don't forget http://wiki.vg/SMP_Map_Format less NBT info more code related things.

b1naryth1ef commented 11 years ago

I've been poking through the current CM world loading system and I think it wont be too hard to implement this. It's basically gonna require removing all the artifacts of the previous two world-loading system (CM left in stuff from Alpha, as long with the creation of the Beta-loader). I'll take a stab at it now, otherwise its all on you @spekode.

FYI: Created an anvil branch for diff visibility/feature-tracking

b1naryth1ef commented 11 years ago

Latest head of the anvil branch is very close to being done. However I've reached something thats stumping me. For some reason, the NBT loader refuses to load the "Sections" tag for chunks. I'm really not sure whats causing this, as no errors are being thrown (meaning the NBT loader works fine, it just ignores that chunk data). I've double checked that it actually exists. (Anvil branch compiles and runs, however if you try to join the server you'll crash because we dont have enough bytes to send over the line, due to the fact we don't end up loading any data)

I'm guessing its a problem with the way we handle chunk-headers. @toqueteos, @spekode any ideas?

toqueteos commented 11 years ago

Well, it seems CM's NBT package might be reading something incorrectly.

While I was doing my own nbt implementation I found iotest.NewReadLogger, it may be a good idea to wrap the NBT loader reader with that and see what it's really reading and fix whatever is wrong.

I thought about forking CM but it had so many outdated things so I did my own new version of it.