Conversation
For now, this will only work with palette indices up to 8 bits. (Support for palette indices up to 12 bits should follow.)
|
This is fantastic and quick work! I had another idea last night about how to avoid having to invent new block ids and make this all a bit easier to maintain, but I'd sooner get this merged and work on making it nice later. The idea, FWIW: change the At the end of it all, you could fairly quickly turn both the new paletted block data, and the old blockid + data system into an array of the new internal block ids, and then render using that. It would require only minimal changes to the C code, never requires maintainers to explicitly assign fake ids, and moves the name and properties of a block closer to its texture definition. It could also be changed only slightly to support mod blocks (if anybody still cares to do that). Again: not something to worry about now. If nobody else takes a crack at it, I might. You've ton a huge bulk of the work here. I'll give it a test later this week and we can move forward. |
I am bad at this
|
Do we have tests? I know there has been a "Test World" Overviewer has used in the past - with blocks of many types and orientations. That may help us verify everything looks good. Existing Tests: overviewer/Minecraft-Overviewer/test Edit: It looks like TravisCI may be doing that and you're trying to fix that now. |
|
We have exmaple, which is our standard test world, but it's not 1.13 compatible. If someone wants to undertake converting it, that would be awesome. (Actually, we'd probably like 2 version -- a 1.13 compatible version and a 1.12 compatible version) |
… into minecraft113
previously, some arrays could (by chance) be interpreted as smaller integers
This seems to fix lighting problems by ignoring chunks with no lighting (wiki suggests that "decorating" happens before "lighting")
still not sure how to render double slab
|
the win64 build works great on my windows PC. Is there a build for debian/ubuntu somewhere that I don't need to compile myself? or is there an ETA on an update to the package? |
|
@RedSparr0w Thanks for the PR, sorry it took so long to merge. It looks like it's mostly furnaces and dispensers left. Anybody know of any other blocks? @Plagiatus no debian builds for this, sorry. If you really need them I can figure it out, but at the moment I'm scared a force-build will also install this branch in the debian repo. |
|
Really good job guys. Looking forward to this! |
|
@agrif i managed to build it myself in the meantime, don't worry. a block i noticed missing is the quartz pillar. |
|
Updates on this anyone? |
|
Could somebody pls merge this? Or is this project finally dead? |
|
@CounterPillow |
|
@mtoensing |
|
I want to at least rewrite |
Can we help? Is this a task that takes 4 months or 4 days? Because I believe that the "missing" support for 1.13 damages the reputation of overviewer more than some bugs. |
|
I was able to pull this branch and it worked with mscs and for my 1.13 world! Thank you :) |
|
Miracles do happen occasionally |
|
Lies! |
|
Ok, so I've merged this. Thank you everybody for your very hard work! I believe there are a few extant blocks remaining. PRs for those will be merged soon. The remaining pain point is how slow the block unpacking code is. This could be improved by either rewriting it in C, or changing it to manipulate numpy arrays without iterating over them. I would prefer a numpy solution, but would not turn away either in a PR. Again, thank you everybody for the work here. I never would have believed Overviewer would survive past 1.13, but here we are! |
|
Woho! |
May I point you to https://github.com/piegamesde/nbt/blob/develop/src/main/java/com/flowpowered/nbt/regionfile/Chunk.java#L231-L253? I don't know your performance requirements, but I haven't had any problems with this so far. |
|
@piegamesde Thanks! but what we do now is essentially a version of that in Python, unrolled a little bit. The challenge is either rewriting it to use numpy arrays without any loops at all, or rewriting it in C and interfacing that C code to the python code. And, of course, making sure the new code does the same thing as the old code. |
|
I have rewritten the slow bit of code to be faster, but I want some verification it works for all of you before merging: If anybody here could test it and report back (in the PR thread, please!) that would be very helpful. |
Fixes #1454!
For a future todo list, see this comment: #1454 (comment)