Skip to content

Latest commit

 

History

History
358 lines (239 loc) · 17.6 KB

File metadata and controls

358 lines (239 loc) · 17.6 KB

Changelog

v1.3.8

  • Update API changes for Hytale update 6 (server 0.6.0) so the mod loads and builds again
  • Commands now declare their permissions up front: canGeneratePermission() was removed from AbstractCommand, so the 45 commands that already call requirePermission(...) simply dropped the override, and the 14 player-facing ones (/waypoint, /bettermap help, the waypoint subcommands, ...) now call requireNoPermission() to stay open to everyone
  • /bettermap location and /bettermap location position are now in both the Adventurer and WorldEditor permission groups. They used the removed setPermissionGroup(GameMode), called once per game mode, but each call replaced the previous group instead of adding to it, so only one of the two ever took effect
  • POI markers on the map now honour update 6's per-player Discoverable flag. Block map markers moved to a position-keyed map and lost getPosition(), and since BetterMap replaces Hytale's block marker provider it has to apply the reveal state itself — without this, discoverable markers would have shown to every player immediately
  • Cave mode reads light again: the per-block light accessors were removed from BlockChunk, so light now comes from the section's global light data. This also fixes a crash that could happen when a cave floor sat on the top block of the world
  • Map anchor UI actions rebuilt for the new AnchorActionModule handler signature, which no longer passes the event payload to handlers. Waypoint row buttons now identify their row in the action name, with the row-to-waypoint mapping tracked per player
  • Bumped the target server version to the update 6 range, so the mod no longer warns about a version mismatch on load

v1.3.7

  • Fix the WorldMap thread crash (blank map for all players until server restart) that could happen after a few hours of play, after teleports, large explorations or cave unloading. The crash was a NullPointerException in WorldMapTracker.unloadImages caused by our chunk load/unload optimizations modifying the tracker's loaded chunk set without holding Hytale's internal lock; all map tracker modifications now take that lock
  • Fix /bettermap config track (and 15 other commands like cavemode and the hide* commands) failing with "Assert not in thread" since Hytale moved command execution off the world thread
  • Big CPU reduction on the WorldMap thread: it now goes idle between player movements instead of re-scanning the whole loaded chunk set (up to 10K+ chunks) every tick
  • Big cave mode optimization: cave map images are now cached (per chunk and layer), so changing cave layers or re-entering caves reuses images instead of re-scanning ~25K blocks per chunk every time
  • Removed disk reads from the shared exploration path: with "share all exploration" enabled, persisted exploration files were re-read from disk on the map thread whenever any player explored a new chunk; they are now cached and only reloaded after saves
  • Cached the shared exploration map chunk conversion so the map thread no longer rebuilds and re-sorts the full explored chunk set on every update
  • Run exploration updates consistently on the world thread after world changes
  • Added /bettermap benchmark [chunks] admin command to compare map generation speed, CPU, RAM and network payload between Hytale default quality, BetterMap quality and cave mode over the same pre-loaded chunks (default 10000 chunks)
  • Removed zap hosting banner from config menu

v1.3.6

  • Update Api changes for the new release of hytale update 5 to fix the mod not loading in server
  • fix the marker name on the map for the Forgotten_Temple_portal_Enter portal

v1.3.5

  • Update Api changes for the new release of hytale (2026.03.26-89796e57b) to fix the map becoming black

v1.3.4

  • Fix the black map issue due to going out of caves due to the unloading of chunks thanks to @xytronix
  • Added new options to disable/enable teleports on the right click on the map (including teleport with right click while in survival + (OP or teleport permission)) thanks to @xytronix
  • Added override to the radius limit of placing marker on the map (can now place marker anywhere on the map if enabled) thanks to @xytronix
  • Added option to disable Hstats tracking for better privacy (enabled by default)

v1.3.3

  • Added option to disable teleport on right click on map without needing to be op/in creative (require permission)
  • Added option to disable native map right-click marker creation (require permission)
  • Fix issue where map doesn't show when changing world due to file saving/loading issue thanks to @darkace1998
  • Fix order of waypoint in waypoint menu to be in a alphabetical order instead of random
  • Add save of y coordinate for waypoints and show it in the waypoint menu (need to recreate waypoints for it to work)
  • Add option to enable/disable editing of global waypoints in the waypoint menu if you are not the creator or an admin (also can use permission to edit global waypoints)
  • Add Hstats compatibility for better tracking of the mod usage

v1.3.2

  • Issue where map becomes black due to cave layer thanks to @darkace1998 for the fix
  • Fixed warning Failed to refresh marker context menu: Assert not in thread
  • Fix exception caused by the processPendingReloadChunks function
  • Fix Issue on mac where "Data" folder will be deleted instead of "data" folder

v1.3.1

  • Issue where map becomes black/doesn't load new chunks after a certain time (~60 minutes) issue #25 on github thanks to @darkace1998 for the fix
  • Fix naming in user config ui for zoom in/zoom out
  • Fix spam of debug message on server console
  • Fix forgotten temple gateway, death teleport option shows up properly with our teleport option or while in op and not in creative mode
  • Fix Arithmetic Overflow Crash issue #24 on github thanks to @darkace1998 for the report
  • Add reset map and reset cave map in admin panel task
  • Add admin button to go into admin config directly on waypoint menu and map ui

v1.3.0

  • Added cave mode which add cave chunks on map when inside a cave
  • Added back the position HUD with multipleHUD compatibility
  • Added new UI configurations for all the user/admin parameters of the mod (accessible using /bm)
  • Added World border on map configuration
  • Option to discover surface while still underground in cave mode
  • Option to have a fog of war (only see the cave mode/surface mode) during cave mode
  • Added big optimization thanks to the contribution of @DARKACE (you can now show 8K chunks in HIGH quality instead of 3K, 25K chunks in MEDIUM instead of 10K, 80K chunks instead of 30K for LOW quality)
  • Vanished players are no longer visible on the map
  • Added option for different location on the screen for the location HUD
  • Added new help menu that you can find directly in the config menu (with the help button in the menu found using /bm help)
  • Fix message being send of world not being tracked on world with different name than "world" or "default" when it is tracked
  • Auto track world on first join if no world is tracked yet
  • remove global permission to use hytale permission system for global markers
  • updated the edit waypoint menu to be more user friendly and added 'here' button to update waypoint at current position
  • fix icon changes between players not updating correctly
  • added migration for old waypoint in our old saves to the new marker system
  • Fix issue with the new release changes in the marker API (map not becoming black)
  • Added "Edit" context menu option for waypoints
  • Waypoint menu now have the marker from hytale itself instead of our system
  • Added option to teleport on right click on map (require permission) without needing to be op/in creative
  • Added the options to hide all the markers on the map (forgotten temple gateway, waypoints, ...) thanks to a contribution of @Xytronix
  • Added option to hide global/personal waypoints on the map
  • Added with the new anchor UI system an UI on map for shortcuts to our menu (waypoints, config)

v1.2.7

  • Fix world not tracking on world with different name than "world" or "default"
  • Fix teleport on right click on map

v1.2.6

  • Fix the issue with the new release changes in the marker API (map not becoming black)

v1.2.5 - Waypoint Fixes

  • Waypoint creation & management: Fixed several issues with waypoint creation, updating, and deletion where local waypoints were not being deleted or updated correctly.

v1.2.4 - Various Fixes

Fixes & Improvements

  • Black Map after world switch: Fixed an issue where the map would appear black after switching worlds.
  • minimal min scale enforcement: Ensured that the minimum scale cannot be set below 2.0 to prevent zoom crashes.
  • Waypoint command: Added /wp and /waypoint for easier access to the waypoint menu.
  • Optimized Exploration Ticker: Improved performance of the exploration ticker for smoother operation.

v1.2.3 - Minor Fixes

Fixes

  • Reactivated Global Waypoints: Fixed an issue where global waypoints were not properly synchronizing between server and client in certain scenarios.
  • /bm waypoint Command: Resolved a bug that caused the Waypoint UI to not open for the correct rights (no permission required now).
  • Player Radar Sync: Fixed the double player display issue on the radar when player visibility settings were toggled.

v1.2.2 - Fixes & Configuration Expansion

Fixes & Improvements

  • Global Waypoints: Temporarily disabled due to a bug. We will fix this in the next update.
  • Shared Map Generation: Fixed a critical issue where the "Linked Map" (Shared Exploration) would stop generating new chunks. It now updates correctly for all players.
  • Map Zoom: Fixed issues regarding map zoom changes when using the minscale command.
  • Player Radar & Visibility: Fixed the show/hide players functionality and enhanced the Player Radar to correctly sync with player visibility settings.

New Configuration Toggles

We added several new commands to control map visibility and interaction. These require the config permission.

  • /bm config hidewarps

  • Hides other players' warps on the map.

  • /bm config hideunexploredwarps

  • Hides warps located in unexplored regions.

  • /bm config hidepois

  • Hides all POI markers on the map.

  • /bm config hideunexploredpoi

  • Hides POIs located in unexplored regions.

  • /bm config waypointteleport

  • Toggles the ability to teleport to waypoints.

  • /bm config markerteleport

  • Toggles the ability to teleport to map markers.

Permission Changes

Permissions have been restructured to make basic features accessible to everyone by default.

Public Access (No Permission Required)

  • /bettermap (or /bm) - Main command.
  • /bm waypoint (or /bm menu) - Opens Waypoint UI.

Admin Permissions

  • dev.ninesliced.bettermap.command.config: Required for all /bm config commands (including the new visibility toggles).
  • dev.ninesliced.bettermap.command.reload: Required for /bm reload.

v1.2.1 - Compatibility Fix

Fixes

  • Location Command Disabled: Temporarily disabled the /bm location command due to compatibility issues. We are actively working on a fix and will re-enable this feature in a future update.

v1.2.0 - Waypoints, Radar & Shared Map

New Features

  • Waypoint System: Added a full UI menu to manage locations.

  • Management: Add waypoints at your current position, remove them, or update them with custom names and colors.

  • Sharing: Share waypoints with other players.

  • Teleport: Teleport directly to saved waypoints (requires permission).

  • Shared Exploration: Added a "Linked Map" feature. When enabled, all players share the same exploration data, allowing you to see areas discovered by others in real-time.

  • Compass Radar: Players can now see other players on their compass.

  • This is enabled by default but can be toggled or restricted by a range.

  • Location Overlay: Added an on-screen UI displaying player coordinates and info.

  • Global: Admins can set the server default using /bm config location.

  • Personal: Players can toggle their own display via /bm location (settings are now persistent per player).

  • World Management: Added capability to whitelist specific worlds for the mod to activate.

  • Fix: Solves issues with hosting providers (like Apex) where default world names change. Use /bm config track to add the current world to the whitelist.

  • Crash Protection (Auto-Save): The server now auto-saves explored areas periodically (default every 5 minutes) to prevent data loss in the event of a crash.

Configuration Updates

  • Chunk Loading Control: Admins can now manually change the number of visible chunks via /bm config maxchunk.

  • Limit: This cannot exceed the recommended limits based on quality settings (High: 3,000 | Medium: 10,000 | Low: 30,000).

  • Player Visibility: Added option to hide player cursors on the map via /bm config hideplayers.

  • Personal Persistence: Player-specific settings (like Min/Max scale and Location UI) are now saved in a dedicated player config file.

Updated Config File (config.json)

{
  "explorationRadius": 16,
  "updateRateMs": 500,
  "mapQuality": "MEDIUM",
  "minScale": 10.0,
  "maxScale": 256.0,
  "debug": false,
  "locationEnabled": true,
  "shareAllExploration": false,
  "maxChunksToLoad": 10000,
  "radarEnabled": true,
  "radarRange": -1,
  "hidePlayersOnMap": false,
  "autoSaveInterval": 5,
  "allowedWorlds": [
    "default",
    "world"
  ]
}

Commands & Permissions Permissions have been restructured. You can either do /op add <player> to give full access or assign specific permissions as needed using /perm group add Adventure <permission>.

  • Basic User Permission: dev.ninesliced.bettermap.command.base

  • Allows access to the main command, personal settings, and waypoint creation.

  • /bettermap (or /bm) - Main command.

  • /bm waypoint (or /bm menu) - Opens Waypoint UI.

  • /bm location - Toggles personal coordinate display.

  • /bm min <value> & /bm max <value> - Sets personal zoom levels.

  • Teleport Permission: dev.ninesliced.bettermap.command.base.teleport

  • Allows teleporting to waypoints via the UI.

  • Admin/Config Permission: dev.ninesliced.bettermap.command.base.config

  • Allows access to all server-wide configuration commands.

  • /bm config radar <range> - Toggle radar/set range.

  • /bm config hideplayers - Hide player cursors on map.

  • /bm config location - Toggle server default location UI. (disabled by default)

  • /bm config track / untrack - Add/Remove current world from whitelist.

  • /bm config maxchunk <number> - Set max loaded chunks.

  • /bm config shareallexploration - Toggle linked maps.

  • /bm config autosave <minutes> - Set auto-save interval.


v1.1.0 - Optimization & Customization Update

Optimizations & Fixes

  • Dynamic Chunk Loading: Fixed the "Blue Map" issue and crashes caused by memory overflows. The mod now dynamically loads discovered chunks nearest to the player and unloads further ones to optimize memory usage.

  • Map Quality Settings: Introduced a new mapQuality setting to balance visual fidelity and performance.

  • Options: LOW, MEDIUM, HIGH (Default is MEDIUM).

  • Map Quality details:

  • LOW: Loads up to 30,000 chunks with 8x8 images.

  • MEDIUM: Loads up to 10,000 chunks with 16x16 images.

  • HIGH: Loads up to 3,000 chunks with 32x32 images.

  • Performance Note: HIGH quality increases texture resolution but drastically limits the number of chunks loaded simultaneously to prevent Memory Overflow errors.

  • Debug Toggle: Added a toggle to enable or disable debug logs to prevent console crowding.

New Features

  • Custom Zoom Scaling: Players can now customize the map zoom limits. You can define how far you can zoom out (minScale) and how close you can zoom in (maxScale).

Configuration The config.json was updated in this version:

{
  "explorationRadius": 16,
  "updateRateMs": 500,
  "mapQuality": "MEDIUM", // Load 10000 chunks with 16x16 images
  "minScale": 10.0, // Base zoom out is 32.0
  "maxScale": 256.0, // Base zoom in is 256.0
  "debug": false
}

Note: Changing mapQuality requires a server restart to take effect.

Commands & Permissions (Legacy v1.1)

  • /bettermap (Aliases: /bm, /map)

  • Description: Displays current settings (Radius, Scale, Quality, Debug status).

  • Permission: command.bettermap

  • /bettermap minscale <value>

  • Description: Sets the minimum map zoom scale (lower value = zoom out further). Must be greater than 2.0.

  • Permission: command.bettermap.minscale

  • /bettermap maxscale <value>

  • Description: Sets the maximum map zoom scale (higher value = zoom in closer).

  • Permission: command.bettermap.maxscale

  • /bettermap debug <true/false>

  • Description: Toggles debug logging on or off.

  • Permission: command.bettermap.debug

  • /bettermap reload

  • Description: Reloads the configuration file and applies changes to loaded worlds immediately.

  • Permission: command.bettermap.reload


v1.0.0 - Initial Release

New Features

  • Persistent Map: Added the core functionality to save explored map areas. Fog of war no longer resets between sessions.
  • Custom View Range: Players (or admins) can now define the size of the exploration circle.
  • Data Storage: Implemented a file saving system. Map data is stored in mods/bettermap/data/"worldname"/"userId".
  • Configuration: Added config.json support located in mods/bettermap/.

Commands

  • Added /bettermap: This command reloads the configuration file instantly without requiring a server restart.

Credits

  • Mod created by Paralaxe and Theobosse (Team Ninesliced).
  • Special thanks to Xytronix for contributing to this project.