Render chunks outside the `inhabitedTime` limit as a "foggy"
ryantheleach opened this issue ยท 4 comments
Is your feature request related to a problem? Please describe.
Pre-generating the world results in very large storage requirements, especially on shared hosting.
Pregenerating the world is almost required for shared hosting, due to limited CPU usage etc.
Bluemap currently treats all generated chunks equally, and will create high detail high storage space for them.
Describe the solution you'd like
I would like to see chunks that have a configurable inhabited time skipped for rendering, but still otherwise marked on the map as explored.
I could set this to 30m or so in order to only render out settlements / built up areas, and players would be able to see each others builds in high detail without visiting in person, as well as use the map (as they currently do) to find new areas to loot/explore like in the end, without having the storage requirements of storing all the 3d model information of places that were just passed in transit.
Ideally there would be some form of fallback, e.g. rough biome colors, as it has been explored, or a low res image, but that's only a nice-to-have compared to knowing if an areas been potentially raided, as you can generate biome maps using the seed and providing them externally to Bluemap say via Discord.
Rendering only chunks with a specific inhabitedTime
value is now implemented in Version 3.1 ..
The "Fog" part is a thing for the future, since that needs quite some additional changes :)
Since this feature sounds interesting I've enabled it on my server, but I get unexpected results. There are so many unrendered chunks in the map where people definitively have been. Even as my character ingame walks around on a chunk, it is not rendered after a forced save or a few hours of waiting. The render queue is empty. Unless I'm mistaken, the inhabitedTime
value should increase the moment you set foot on a chunk. Or is there another prerequisite?
I used min-inhabited-time: 1
. Changing the value to 0
, a /bluemap reload
and doing a /bluemap force-update world
it renders everything again. However, to our liking it renders a little too much (unvisited but generated chunks).
Here's a screenshot:
https://i.imgur.com/jHBIMLq.png
@martijns BlueMap can't control/change the way minecraft updates the inhabitedTime
value on a chunk, and that's also the only value BlueMap can rely on when choosing if a chunk should be rendered or not..
Also, BlueMap still has to wait until Minecraft saves the new inhabited-time to the actual world-files. This might be delayed by quite a bit, so it just might take a while until the now "inhabited" chunks appear on the map.
An unexpected result would be the actual inhabitedTime
field on the world-files being greater than or equal the value in the config, but bluemap still not rendering it,.. i don't think that's the case here ^^'