Fix default permissions not being assigned
Simplify global respawn logic
Tweak command registration, make global respawn default to global spawn
HuskHomes 4.0.1 is a hotfix update, addressing a few issues missed in the initial v4.0 release.
- Fixed warp and home list caches not being invalidated when you set, delete or rename a home/warp
- Fixed an ArrayIndexOutOfBoundsException when resolving some public home names
- Fixed an issue where it was not possible to view the home lists of other users using /homelist
To update from v4.0, just drag+drop. For the full HuskHomes v4.0 changelog, see here -- if you're updating from v3.x, please regenerate all your config files.
Improve other user private home list parsing
Fix not being able to view private home lists
Fix ArrayIndexOutOfBoundsException resolving some home names
Fix warp and home list caches not being invalidated when homes updated
Release version 4.0.1
Merge remote-tracking branch 'origin/master'
[ci-skip] Add optional dependencies to MR publishing
HuskHomes 4.0 is a new major release bringing with it a large-scale rewrite of HuskHomes' internal plugin logic to address the significant number of bugs and stability in HuskHomes v3.x, and make a selection of user experience improvements.
I would like to apologise for any inconvenience caused issues present in the last major version, which particularly affected users making use of HuskHomes' cross-server functionality. Although this release doesn't contain any significant new features, the nature of the rewrite means that it has introduced breaking API changes, necessitating a major version bump.
Updates are also releasing today for HuskHomesPlaceholders (the PlaceholderAPI expansion) and HuskHomesGUI (the GUI add-on).
New features & improvements
- Added an option to disable commodore brigadier-style TAB completion to better support command and command-namespace hiding plugins.
- The global player list used for TAB completing usernames has been made significantly more accurate
- It is now restricted to only servers with HuskHomes on and which are in the same cluster.
- The list is even more accurate when using Redis due to limitations of the plugin message broker
- The server auto-fetching system has been removed due to instability; you must now ensure the server name is set correctly on first-time setup.
- The Global Respawning feature will now teleport users to your global spawn rather than just the local spawn on that server, if you are using the Global Spawn feature.
- Renamed a few plugin permissions (consult the updated docs for more information):
huskhomes.bypass.teleport_warmup
->huskhomes.bypass_teleport_warmup
huskhomes.bypass.rtp_cooldown
->huskhomes.command.rtp.bypass_cooldown
huskhomes.bypass.economy_checks
->huskhomes.bypass_economy_checks
- /phome and /phomelist are now the primary aliases of the public home and public home list commands, instead of /publichome and /publichomelist
- Improved TAB auto-completion for homes, public homes & warps, including automatic filtering for public homes by dot-delimited user prefixes
- Removed the migrator from HuskHomes v2.x; please update to v3.x and then to this release to migrate your data. Sorry for the inconvenience caused.
- You can now customise the name of the public home and warp marker group names displayed on map hooks through the plugin locales
- You can now use the /spawn command to teleport a player to the spawn by name (
/spawn <player>
); requires thehuskhomes.command.spawn.other
permission and can be executed through console - Commands executed through console have been improved; they will now display the same as in-game, with full formatting support
- You can now edit and delete homes and warps (but not their location) through console
Bug fixes
- Fixed the "Message Dispatch after 5 Seconds" error on cross-server setups, caused by extreme thread pool exhaustion.
- Fixed a crash where viewing attempting to view the warp list would crash the server in certain environments
- Fixed a bug where the
overwrite_homes_warps
feature would fail to overwrite the player's homes if they had reached the maximum number of homes - Fixed a bug where sounds would fail to play in the previous version
- Fixed a bug where the /setspawn command would fail to write the cached spawn file to disk
- Fixed a bug where attempting to teleport similarly named players cross-server would fail occasionally
- Fixed a bug where players where it would sometimes not be possible to teleport users by name who had number-only usernames
- Fixed a bug where the update checker would incorrectly report that an update was available
- Fixed a bug where economy actions would not be correctly processed as hooks weren't properly being accessed
- Fixed a bug where map markers would not be updated properly when a change was made to a home/public warp on Dynmap/BlueMap
- Fixed issues where cancelling some API events would still display error messages to players
Localisation changes
- Added Turkish (tr-tr) locales, courtesy of @WinTone01 (#310)
- Updated the Traditional Chinese (zh-tw) locales, courtesy of @davgo0103 (#307)
- Updated the Simplified Chinese (zh-cn) locales, courtesy of Wtq_
- Updated the Italian (it-it) locales, courtesy of @iVillager in (#330)
API changes
The API has underwent an overhaul, introducing a wide range of breaking changes. The vast majority of plugins built to work with HuskHomes v3 will not work with v4. Sorry about that. I hope that you find the new API easier to work with.
- Objects are now encapsulated with getter and setter methods where appropriate. For example, you now access information from a
Home
object with#getX()
,#getWorld()
etc. - The selection of API events has changed; there's now a HomeCreateEvent and WarpCreateEvent and the old events fired on save have been replaced with new HomeEditEvent and WarpEditEvents
- API events now provide more methods for setting values to let you affect their outcome
- Creating objects is no longer done with constructors; making
Position
s is now done withPosition.at(x, y, z, world, server)
; creatingWorld
s is now done withWorld.from(name, uuid)
- Methods and objects that require a server ID argument now just take a string (the name of the server).
- The
Teleport
API has been rewritten again. - New methods for both creating and editing warps and homes, including some consumer methods for updating metadata tags
- For more information, please consult the updated API docs.
To update to this release from HuskHomes v3.x, you must regenerate your config, server (if you are using cross-server mode) and locale files. No data migration is necessary, as the database schema has not changed.
Use method in Locales class for text truncation
Rename some Settings getters
Update Italian (it-it) locales, courtesy of Villag3r_ (#330)
-
Update it-it.yml
-
Apply suggestions from code review
Co-authored-by: William will27528@gmail.com
Bump dependencies
Update Simplified Chinese (zh-cn) locales, courtesy of Wtq_
Fix wrong permissions getting registered
API: Add methods for setting and editing meta tags
Server name: Minor naming consistency tweaks