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

Update for minecraft 1.13 #39

Open
jonatkins opened this Issue Jul 23, 2018 · 7 comments

Comments

Projects
None yet
3 participants
@jonatkins

jonatkins commented Jul 23, 2018

After upgrading my server to 1.13, TMCMR now gives the following error

Error reading chunk from /home/jon/minecraft/world/region/r.-1.0.mca at 31,25 java.io.IOException: Invalid tag type: 12. at org.jnbt.NBTInputStream.readTagPayload(NBTInputStream.java:180) at org.jnbt.NBTInputStream.readTag(NBTInputStream.java:103) at org.jnbt.NBTInputStream.readTagPayload(NBTInputStream.java:161) at org.jnbt.NBTInputStream.readTag(NBTInputStream.java:103) at org.jnbt.NBTInputStream.readTagPayload(NBTInputStream.java:161) at org.jnbt.NBTInputStream.readTag(NBTInputStream.java:103) at org.jnbt.NBTInputStream.readTagPayload(NBTInputStream.java:161) at org.jnbt.NBTInputStream.readTag(NBTInputStream.java:103) at org.jnbt.NBTInputStream.readTag(NBTInputStream.java:81) at togos.minecraft.maprend.RegionRenderer.preRender(RegionRenderer.java:291) at togos.minecraft.maprend.RegionRenderer.render(RegionRenderer.java:370) at togos.minecraft.maprend.RegionRenderer.renderRegion(RegionRenderer.java:455) at togos.minecraft.maprend.RegionRenderer$RenderThread.run(RegionRenderer.java:66)

@piegamesde

This comment has been minimized.

Show comment
Hide comment
@piegamesde

piegamesde Jul 29, 2018

Contributor

This is to be expected. The NBT format got extended by some tag types and it will take some time for the libraries to adjust and the changes to trickle down to the releases. Furthermore, the Chunk Format has been changed so that the existing rendering code will have to be adjusted.

Contributor

piegamesde commented Jul 29, 2018

This is to be expected. The NBT format got extended by some tag types and it will take some time for the libraries to adjust and the changes to trickle down to the releases. Furthermore, the Chunk Format has been changed so that the existing rendering code will have to be adjusted.

@Cyoor

This comment has been minimized.

Show comment
Hide comment
@Cyoor

Cyoor Aug 12, 2018

Will this be fixed?
What needs to be changed?
Is it coding or just manual checkup of tags and input in to some file?

Cyoor commented Aug 12, 2018

Will this be fixed?
What needs to be changed?
Is it coding or just manual checkup of tags and input in to some file?

@piegamesde

This comment has been minimized.

Show comment
Hide comment
@piegamesde

piegamesde Aug 13, 2018

Contributor

What needs to be changed?

First of all, the NBT specification has changed (LongArrayTag added) and all NBT libraries need to be updated. Then, the Chunk Format has changed radically. This is how Minecraft encodes the data of a Chunk into NBT. This is because of the removal of block meta data in the game. This means that the color generation/mapping has to be updated too.

Will this be fixed?

Most NBT libraries have not incorporated the changes yet, even if there are open pull requests. Maybe I'll fix the chunk loading and someone will have to rewrite color generation too.

So yes, a lot of coding is needed and don't expect it to happen in the near future :(

Contributor

piegamesde commented Aug 13, 2018

What needs to be changed?

First of all, the NBT specification has changed (LongArrayTag added) and all NBT libraries need to be updated. Then, the Chunk Format has changed radically. This is how Minecraft encodes the data of a Chunk into NBT. This is because of the removal of block meta data in the game. This means that the color generation/mapping has to be updated too.

Will this be fixed?

Most NBT libraries have not incorporated the changes yet, even if there are open pull requests. Maybe I'll fix the chunk loading and someone will have to rewrite color generation too.

So yes, a lot of coding is needed and don't expect it to happen in the near future :(

@Cyoor

This comment has been minimized.

Show comment
Hide comment
@Cyoor

Cyoor Aug 13, 2018

I would be willing to help if it's needed. However I have never done anything related to minecraft or nbt before, so I would probably need some help on where to start. I have used Java some a while ago, so that wouldn't be any problem at least I think.

Cyoor commented Aug 13, 2018

I would be willing to help if it's needed. However I have never done anything related to minecraft or nbt before, so I would probably need some help on where to start. I have used Java some a while ago, so that wouldn't be any problem at least I think.

@piegamesde

This comment has been minimized.

Show comment
Hide comment
@piegamesde

piegamesde Aug 13, 2018

Contributor

I'm currently working on some refactorings that will allow 1.13 support (abstracting out different Chunks of different Minecraft versions etc.) this will take a while though. In the meantime, you may have a look at https://wiki.vg/NBT and https://minecraft.gamepedia.com/Chunk_format .

If you're really bored/impatient, you can have a look at BlockMap and how to generate block colors without block IDs (since they were removed).

Contributor

piegamesde commented Aug 13, 2018

I'm currently working on some refactorings that will allow 1.13 support (abstracting out different Chunks of different Minecraft versions etc.) this will take a while though. In the meantime, you may have a look at https://wiki.vg/NBT and https://minecraft.gamepedia.com/Chunk_format .

If you're really bored/impatient, you can have a look at BlockMap and how to generate block colors without block IDs (since they were removed).

@piegamesde

This comment has been minimized.

Show comment
Hide comment
@piegamesde

piegamesde Aug 20, 2018

Contributor

So, I've done a lot of changes, messed around a lot with the code, rewrote most of the code and broke everything. But at least, we can (somewhat) render 1.13 worlds now: https://github.com/piegamesde/TMCMR

To try it out yourself, copy your world into ./src/test/resources and adjust the path in RegionRendererTest which you can then run. The map will land in ./output.

Contributor

piegamesde commented Aug 20, 2018

So, I've done a lot of changes, messed around a lot with the code, rewrote most of the code and broke everything. But at least, we can (somewhat) render 1.13 worlds now: https://github.com/piegamesde/TMCMR

To try it out yourself, copy your world into ./src/test/resources and adjust the path in RegionRendererTest which you can then run. The map will land in ./output.

@piegamesde piegamesde referenced a pull request that will close this issue Aug 23, 2018

Open

Update for 1.13 (kind of) #40

@piegamesde

This comment has been minimized.

Show comment
Hide comment
@piegamesde

piegamesde Aug 26, 2018

Contributor

@jonatkins @Cyoor I've forked from TMCMR since I had to rewrite almost the entire renderer: https://github.com/Minecraft-Technik-Wiki/BlockMap It is far from being as good as TMCMR, but at least it works with 1.13 worlds

Contributor

piegamesde commented Aug 26, 2018

@jonatkins @Cyoor I've forked from TMCMR since I had to rewrite almost the entire renderer: https://github.com/Minecraft-Technik-Wiki/BlockMap It is far from being as good as TMCMR, but at least it works with 1.13 worlds

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment