owengage / fastnbt

Fast serde serializer and deserializer for Minecraft's NBT and Anvil formats
MIT License
195 stars 36 forks source link

Anvil Nether renders only show the roof (and things built up there) #25

Open rjp opened 3 years ago

rjp commented 3 years ago

I had a bash at trying to fix this by adding a --clip argument that restricts the "what's the highest block at this coord?" but, alas, my Rust is suboptimal and it doesn't really work properly when you have things built on the roof.

Overviewer handles it by, afaict, removing everything attached to the roof (y=128) which would be a good start, I guess (but that also fails for people who have built on the roof.)

Maybe "for dimension==nether, only load blocks y<=128 then remove anything attached to y=128"? Happy to have a look at doing this...

Nether with no clipping: unclipped

Nether with --clip 110 (to mimic roof removal): clipped-110

owengage commented 3 years ago

Hey there. Yep the current implementation leaves a lot to be desired hah.

At one point or another I've experimented with exactly the kind of stuff you have here. I feel like it might be the sort of thing that can have different approaches via some option.

I'm going to keep this open,and I might have a bash at it at some point.