General updates
I hope everyone's been doing well. It's not easy to do some things currently, but I have been able to work on Cartographer2 a bit more. Here are some long awaited changes and bugfixes that should improve the quality overall:
- Added more options to the config
- Added persistence for player settings
- Deprecated ZoomScale and switched to blocks per pixel
- Fixed some values in the config not having any effect in-game
I've exposed a few more of the internal timings and settings of various runnables variables like chunk update tick in the master config, so you can fine-tune Cartographer2's performance for your server. It's not completely complete, as there are still a good amount of variables I hope to make configurable, but hopefully it's good enough for now.
Additionally, I've made player settings persistent so now your players don't have to re-type the same commands each time they join. This is going to prove useful in the future, since modules can now add their own settings which can be configured by Cartographer2's setting command.
Lastly, but still as equally important, I've switched away from using the oddly named zoom enums(ONE, TWO, FOUR, EIGHT) and switched to using decimal numbers directly. Yes, this means that now you can use
any zoomscale you want. Going up to 128x scale is possible(but not recommended), and you can also choose non-power 2 numbers like 3(although that may display strangely). The old enums still work, but they will be removed in a future update, so I recommend updating your minimaps when you have time.
Developer updates:
- Added MapViewerCreateEvent
- Added custom setting states
- Added dynamic settings command
- Added MapProvider interface
- Relocated NBTEditor
- Added RGBA color enum
- Added DimensionalBlocks softdepend
For developers, I've done some major re-writes regarding custom settings and how to fetch them. I'm going to try and expand on the wiki later next month, and write proper documentation on how exactly it works. But essentially, you can now add settings that are recognized by Cartographer2's setting command and also persist over server start/stop. Thanks to all those who created modules for Cartographer2.
As always, please report any bugs you find so that they may get fixed as soon as possible! Thanks!
Miscellaneous:
For those of you who might be interested in some of my other projects, I've created a custom block library which allows developers to create real serverside custom blocks. Unfortunately, they don't appear any different to the client, but to the server, they have their own id and interact with the world in their own way. You can find a demonstration below: