shallow list copy in hashcode, closes #48
remove unnecessary global scheduler cancellation
we only cancel it ourselves when the plugin is disabled, but that's already handled for us. This removes the call to a paper-only class, which should allow pl3xmap to run properly on spigot
support uncompressed data, closes #45
support the LZ4 compression type, closes #44
use a shallow copy of the points in json wrapper, closes #42
Add Folia Support (#40)
Pl3xMap 1.20.6
Starting with build #493, the version of Minecraft that Pl3xMap supports has changed to 1.20.6. Listed out below are some of the changes that come with this build.
New Feature; Realtime marker updates!
This means that all markers (like moving player icons and the like) will now update in realtime through the use of Server Sent Events. The file-based marker updates still exist as both a fallback in case realtime updating fails, and as a way to have custom/plugin markers continue existing even when the map is viewed while the server is offline (if you have a reverse proxy set up).
Each layer config now has an additional live-update
option. This option controls whether or not the specified layer should be pushed in realtime to end-users. If, for example, you like that player markers get updated every second, you could disable this option in the layers/players.yml
config to keep old functionality.
There are two additional options related to live updates under settings.performance
in the main config (config.yml
). settings.performance.live-update.threads
handles how many threads are used to push marker updates. settings.performance.live-update.enabled
determines if the live update system is used.
Bug fixes and improvements
- At some point the fabric client stopped working. This has been fixed. Previously, it was hardcoded to grab map tiles that were created using the "basic" renderer. I've updated it to use the "vintage_story" renderer, since that's the new default. In the future this will be changed to use packets for grabbing region tiles, as well as allowing you to switch which renderer is being displayed.
- It was a known problem that command suggestions just didn't work properly for some commands. They should all be fixed.
- The version command will now output version, platform, and commit information even if the update-checker fails.
API changes
Internally, layers used to update in a per-second basis, which meant everything was configured in seconds. This PR changes that so everything runs in ticks instead. I tried to make sure that all API methods that state "seconds" correctly return or set the update interval as seconds, so that addons don't end up unexpectedly breaking/running faster than they should.
isLiveUpdate()
and setLiveUpdate(boolean liveUpdate)
were added to the Layer
class. Any created layers will by default return false
when isLiveUpdate()
is called, which will stop the layer's markers from being pushed in realtime. If you believe that your custom layers should be able to update in realtime, then call setLiveUpdate(true)
when creating your layer. (Ideally you'd make this configurable from your addon).
Conclusion
Thank you for your patience with how long it took to release the realtime marker system and pl3xmap for 1.20.6. If you run into any issues with this new build, or have any suggestions for new features or improvements, please do so in my discord server: https://granny.dev/discord
throw away unused SpiFix class
update adventure version
prevent duplicate appearance of failed icon registration stacktrace
replace printStackTrace with log
Add resume
command (#32)
Make 'unknown' block/biome hard-coded values configurable (#30)
keep making codefactor happy
refactor NetherRoofRenderer
make codefactor happy
nitpick: replace static imports
update pirate talk translation values
add polish translation
- fix biome color not returning right for fluids
- fix lang for non-minecraft biomes/blocks
skip checking region files for a disabled world, closes #3
add <world>.center.[x|z]
option, closes #20, supersedes #25
this should be break, not continue
ticket can still be null when reloading plugin