- Added: `/lands menu` and `/nations menu` reorganized into a proper page tree - `/lands menu land ...` (list, level, relations, areas, claims, inbox, options, requests) and `/lands menu personal ...` (preferences, invites), `/nations menu nation ...` (level, relations, taxes, lands, effects, options, inbox).
- Added: shift+left-click a land in the "Your Lands" menu to select it as your edit land, and a `/lands edit here` shortcut that selects the land you're currently standing in.
- Fixed: the `general.edit-by-loc` config option (resolve land-management commands against the land you're standing in instead of your `/lands edit` selection)
- Changed: Added some indices for the database schema
- Fixed: on Folia, boats/minecarts inside a claim could become permanently immune to fire, lava, and cactus damage (no error logged) after any nearby explosion
- Fixed: web-map (Dynmap/BlueMap/Squaremap/Pl3xMap) land popups showed the player count instead of the member name list for <v:members>, and <v:land_color> was never replaced and leaked into the popup HTML literally.
- Fixed: /lands admin land <land> addrole <role> always threw a NullPointerException instead of showing the confirmation prompt.
- Fixed: /lands area <area> rental remove tenant/offer and rental info silently did nothing and showed no chat message at all when run by someone who actually had permission (e.g. the land owner), due to an inverted permission check in CommandRental.getOffer.
- Fixed: SQL migrations 2-4 threw "no such table: lands_nations"/"lands_wars" and never completed on installs with the nations or wars feature disabled, since those migrations touched the nations/wars/wars_declarations tables even though they were only ever created when the corresponding feature was enabled. The nations, wars, wars_declarations, koths, and relations tables are now always created regardless of feature toggles.
+ Added: Database backup and restore feature: /lands admin database backup/restore
+ Added: Database backup schedule in database.backup section in config.yml (by default once per day)
- Fixed: Foreign key enforcement on SQLite
- Fixed: A land or nation's inbox messages (and, more rarely, its title, area names, or role names) could grow in the database across repeated server restarts when they contained certain color formatting and slowing down the "Performing initial data load" step on startup. Affected data is cleaned up automatically on next boot. The load time will be faster once this update ran one time.
- Fixed: CMI holograms for rentable/purchasable land areas (hologram-provider: CMI, rent.holograms: true) didn't react to clicks at all - CMI only fires a hologram's click callback for lines written in its own tag syntax, and Lands holograms used plain text lines.
- Fixed: Selecting a sign for a rental/sell setup reopened the previous menu with the error shown there when the selected block was invalid, instead of sending the message to chat like a successful selection already did.
- Fixed: The hologram above a rental/sell sign spawned a full block higher than it needed to instead of starting at the sign's own height.
- Change: Make /lands or /land open the land menu again if player has land
- Improved: The permanent area actionbar message now also shows the area name.
- Fixed: The main block reposition success message is now sent to chat instead of the actionbar.
- Fixed: /trust and /untrust shortcut being routed to the nations command
- Added: /lands claim expand <amount> (also /claim expand) - expands your land's border by <amount> chunks in the direction you're currently facing, including diagonals, instead of all sides like radius does.
- Improved: Repositioning a land's main block now prompts you to click a new spot instead of just removing the block with no way back; it also now actually charges land.creation.mainblock.reposition-costs if configured.
- Fixed: A monster's harmful splash/lingering potion (e.g. a witch's) could still inflict negative effects on a player in an area where that player has the Attack Monsters flag disabled, even though the flag already promises monsters won't be able to attack them back.