piegamesde / BlockMap

An out-of-game map renderer and viewer for Minecraft 1.13–1.18 worlds [unmaintained]
MIT License
92 stars 22 forks source link

failed to identify one of three visible ocean monuments, why two of them and not the third? #79

Open rkiddy opened 2 years ago

rkiddy commented 2 years ago

Environment info

Description

I have a little section of the map where there are 3 ocean monuments. For some reason, only two of them are marked with icons. The other one was showing up (before a reboot and whatever else).

Screenshots

Screen Shot 2022-04-24 at 2 31 46 PM

The little dot-thing in the bottom-left is the 3rd ocean monument.

piegamesde commented 2 years ago

This is weird. It would be cool if you could find out what exactly made the third one disappear, or if you can make it reappear somehow; and whether other structures or pins are affected too.

If you're not afraid of touching code, you could try to check in the ChunkMetadata whether the structure is simply not found or whether it is found but not displayed correctly.

rkiddy commented 2 years ago

I can do code. Can you describe (at a high-level) where I should look at the chunks at some position or of some type, or both?

piegamesde commented 2 years ago

The data is extracted in the ChunkRenderer class.

If you go for it from an outside perspective, you have a RegionFolder which will render your region files. Each Region has some ChunkMetadata for each of its chunks. In case the chunk actually got rendered the structures extracted from the renderer will be put there.

If you want to dig the GUI code check for some "pin" and "decoration" related classes, but I wouldn't recommend it for a start :see_no_evil:.

For a start, maybe try snooping all structures within the rendering itself using print statements and see whether all of your ocean monuments show up in there. If that's the case, slowly work up your way the data processing chain. Otherwise, try to find out what happens in the chunk with the missed monument and why it is not recognized.