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.
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.
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