overviewer / Minecraft-Overviewer

Render high-resolution maps of a Minecraft world with a Leaflet powered interface
https://overviewer.org/
GNU General Public License v3.0
3.35k stars 482 forks source link

Nether ceiling not being stripped away #1026

Open Volcanon- opened 10 years ago

Volcanon- commented 10 years ago

See the image for an example. I'm using the FTB fork on an FTB 1.1.7 server.

If I make a custom render with cave() added in, it gets around this to a degree but it's not ideal.

Any ideas as to why this is happening?

Thanks

nether

CounterPillow commented 10 years ago

Does FTB add custom blocks to the nether?

Volcanon- commented 10 years ago

It does, although the FTB fork does add them in and renders them.

I saw there was a similar issue with caves a while back - maybe it applies here too?

Where does the nether render decide what is ceiling? We could add that in and see if that does the trick.

CounterPillow commented 10 years ago

https://github.com/overviewer/Minecraft-Overviewer/blob/master/overviewer_core/src/primitives/nether.c#L38 This here is probably the line you're looking for.

Volcanon- commented 10 years ago

Yep, I added in the ID for tainted soil(169) in FTB and that worked great.

I know there's a block ID change coming soon but it may be a good idea to make this a bit more flexible with a config file.

Thanks!

Volcanon- commented 10 years ago

Reopening to ask one more question - block ID's for some special blocks don't seem to work quite properly here.

These are blocks that have an accompanying data value - should that matter?

For FTB the block ID's in question are 1475 and 1754.

CounterPillow commented 10 years ago

I know there's a block ID change coming soon but it may be a good idea to make this a bit more flexible with a config file.

Not easily possible in the current way Overviewer is structured. A rather large rewrite of most parts of overviewer, called OIL, which is in the works, will probably support mod blocks better though.

block ID's for some special blocks don't seem to work quite properly here.

How does the error manifest itself? Do the blocks seem to not be removed?

These are blocks that have an accompanying data value - should that matter?

I don't think so, unless you want the data value to affect whether it is counted as being part of the ceiling or not.

For FTB the block ID's in question are 1475 and 1754.

This makes me wonder whether it's a problem with block IDs greater than 255. Technically, it shouldn't be. get_data returns getArrayShort3D(data_array, x, y, z); when type is BLOCKS, and id in nether.c is an int.

Interesting...

Volcanon- commented 10 years ago

Here's an example of whats happening. We get a lot of spires in the render basically.

I think the block value thing was a red herring as after clearing the cache I was able to get it to remove them from the render. However there's still some left. Here's what my nether.c looks like that generates the below picture.

if (id ==7 || id == 87 || id ==88 || id == 16 3|| id == 169 || id ==153 || id == 11 || id == 1475 || id ==1754 || id == 1900)

netherceilingcap2

eminence commented 10 years ago

Any chance this is a dup of #982 ?

Volcanon- commented 10 years ago

Looks a lot like a dupe of that issue.

I'll take a look at some of the fixes listed there as well as some others.

I've added in a ton of extra blocks for ceiling and its really pretty close except for these spires and other misses