BlueMap-Minecraft / BlueMap

A Minecraft mapping tool that creates 3D models of your Minecraft worlds and displays them in a web viewer.
https://bluecolo.red/bluemap
MIT License
1.92k stars 131 forks source link

Option to switch between maps of the same world without resetting the camera-position #114

Closed Sch1nken closed 3 years ago

Sch1nken commented 4 years ago

No problem, just a feature request. I currently have two nether maps, one with yMax=90 and one with yMax=75 (this is where most of your tunnels are).

I wonder if it would be feasible to have either several yMax-Maps combined (with a slider to select the current y-level) or even have it generate one version for every y-level (1 block increments).

But I believe the latter would eliminate the efficient mesh-generation done by BlueMap (I suppose BlueMap combines visible faces to a bigger mesh to increase performance?).

For the former I guess it would be more than enough to have a button that swaps between 2 maps while staying at the same coordinate (so you can check both y-levels without having to move there everytime you change the map).

Edit: Having looked at the code a bit, I guess the easiest solution, the one where you have seperate maps that just use the same coordinates, could be done fairly easy.

From what I understand loadLocationHash() can be used for this, also the this.settings has the world-uuids. So a UI menu for "alternate" versions could be displayed for all maps with the same uuid and it would load the corresponding map but keep the location data (or re-apply it using loadLocationHash()). I'll see if I can provide a pull-request during the weekend.

TBlueF commented 4 years ago

I like the idea for the option to switch between maps on the same world while staying on place.. I'll add that to the todo.. don't put too much work in a pull request for this, since i am currently working on a complete rework of the web-app code which would include that as well :)

Sch1nken commented 4 years ago

Sounds good to me :). Then I'll wait for now.

Just for the record: Are you generating optimized meshes from the Blockdata or are you passing the raw blocks to webgl?

TBlueF commented 4 years ago

optimized meshes it is ^^

TBlueF commented 3 years ago

This should work now since version 1.4.0