Filter loader...
Filter versions...

HuskHomes 3.2.1 is now available to address some outstanding issues present in v3.2, including some critical issues if you are using permission restricted warps.

  • Fixed an outstanding issue with permission restricted warps that prevented their use even if the user had the right permission node, courtesy of @Lorias-Aegorin (#280)
  • Fixed permission restricted warps not TAB completing correctly, even if the user had the correct permission (#273)
  • Fixed a placeholder not being correctly replaced on the free home limit warning (#278)
  • Fixed an issue that meant the pagination buttons on the home list menu would paginate through your own home list rather than the target users' homes (#274)
  • A number of improvements to the cross-server network messaging system have been made to improve system stability, particularly in cases where plugin message callbacks would fail with a dispatch error (#275)
  • Updated the Simplified Chinese (zh-cn) locales, courtesy of @ApliNi (#270)
  • Updated the Italian (it-it) locales, courtesy of @iVillager (#274)
  • Updated the German (de-de) locales, courtesy of @Ceddix (#269)

To update, just drag+drop. You may wish to regenerate your languages file if you're making use of the mentioned locales that received updates.

Merge pull request #280 from Lorias-Aegorin/warps

Fix warp permission nodes not enforcing lower case

Fix placeholder on home slots economy warning, close #278

Merge pull request #269 from Ceddix/master

Merge pull request #276 from WiIIiam278/dependabot/gradle/net.kyori-adventure-api-4.12.0

Plugin message dispatch logic (#275)

Bump to v3.2.1

Fix list and TAB completion issues; close #272, #273

Merge pull request #274 from iVillager/patch-3

Merge pull request #270 from ApliNi/patch-2

HuskHomes v3.2, although light on new features, is heavy on fixing various issues encountered by users in the previous version. Most noticeably, it adds a new config option to let /sethome and /setwarp commands overwrite, fixes issues and introduces new API for bulk-delete commands and makes significant improvements to the performance and API for random teleports.

  • Add an option to the plugin config to have homes automatically be relocated instead of the command failing when using /sethome and /setwarp with a home argument that matches the name of an existing respective home or warp. (#168)
  • Fixed a variety of issues where random teleport location generation would fail in many cases due to a flawed implementation of needed safe ground detection logic. Random teleport positions no longer cache and the setting for this has been removed.
  • Added a message informing players when they execute the /rtp command that the system is finding a position for them.
  • Fixed an issue where busy servers sending parallel plugin message requests would conflict with each other causing intermittency with cross-server teleportation features
  • Fixed an issue that meant players could access permission restricted warps without the requisite permission node
  • Changed the format of the permission restricted warps permission node for consistency (huskhomes.warp.<warp>huskhomes.command.warp.<warp>)
  • Fixed an issue that meant the "Teleportation complete" message would appear twice when teleporting cross-server
  • Fixed an issue that meant the wrong locale was displayed when teleporting other users to coordinates
  • Fixed the /tp and /tphere commands not working for users vanished by vanish plugins (#255)
  • Fixed an issue where if your teleport warmup time was set to 0, it would still treat the teleport as though it were a timed one, showing messages and restricting movement
  • Fixed an issue that meant the server could lock up when using /delhome all or /delwarp all (#265)
  • Fixed an issue that meant running /delwarp with zero arguments would throw an internal error (#264)
  • Fixed an issue where /rtp would sometimes put players inside blocks (#263)
  • Added support for RedisEconomy, courtesy of Ermibergo02 (#259)
  • Updated the Simplified Chinese (zh-tw) locales, courtesy of ApliNi
  • Updated the German (de-de) locales, courtesy of Ceddix
  • Updated the Italian (it-it) locales, courtesy of Villag3r
  • API (breaking): The Random Teleport API has been reworked. Hooks that work with the API in v3.1 will need to be altered to accommodate the new spec. Providers now need to simply supply an Optional<Position> rather than the previously complex approach.
  • API: Added new cancellable events for deleting all homes and deleting all warps. Note that the normal deletion events are not fired when a player chooses to delete all of their homes / warps.

To update from v3.1, regenerate your config.yml and messages.yml files. If you're updating from older versions, you'll need to follow the legacy migration instructions.

/rtp API tweaks, add timeout failsafe, add teleporting_random_generation locale

Fix permission restricted warps not being hidden from tab completion

Use kyori Key.MINECRAFT_NAMESPACE in block id safety resolution

Ensure users get put in centre of blocks, fix #263

Teleportation system fixes, refactored bulk deleting, new events (#266)

Update Simplified Chinese locales via @ApliNi (#261)

Merge pull request #259 from Emibergo02/rediseconomy

Fix oversight with permission restricted warps

Merge branch 'master' into it-it-fix

Finish implementation of home overwriting, add additional success check, close #168

Fix /tp command not working for vanished users, close #255

Fix permission issues and erroneous messages with homes and warps, close #252

Merge pull request #254 from WiIIiam278/dependabot/gradle/

Bump gson from 2.9.1 to 2.10

Merge pull request #250 from Ceddix/master

Updated German locales

Merge pull request #249 from ApliNi/master

Translate statements added in 9630e53 (zh_cn)

⚠️ You must regenerate your config file to upgrade to this version from v3.0.x! Upgrading from v2.11.2? Follow these additional instructions as well.

HuskHomes 3.1 introduces a new developer API for executing teleports, makes a number of stability improvements and fixes a few bugs.

  • Rewrote the internal teleportation handling logic for improved stability (see API section for what this means for developers)
  • Rewrote logic in a number of places to reduce future #join() calling to fix a few concurrency exceptions in some cases
  • Added a couple of new error handling locales for teleportation
  • Fixed a problem where the server name and player list could not be updated when a player joined, caused by plugin message dispatch occurring too soon after the user joined
  • Fixed a problem where /tpignore would still let you send teleport requests (#238)
  • Fixed a number of issues caused by the migration to adventure, including a few that broke compatibility with older versions. Adventure's Bukkit adaption layer is now bundled with HuskHomes.
  • Fixed a few issues with the way in which data was read from the config file (Annotaml)
  • Tweaked the default Hikari connection pool options
  • Updated the Traditional Chinese (zh-tw) locale with a few fixes, courtesy of @davgo0103
  • API: New developer API has been introduced for building and executing teleport operations
    • A new entrypoint for getting a TeleportBuilder, which you can convert into an executable Teleport or TimedTeleport, has been added to the API class
    • Old teleport methods that simply accept a Position have been deprecated.
    • Please check the javadocs for more information!

You must regenerate your config file if you're upgrading to this version from v3.0.x! Regenerating your messages file is also recommended. Thank you!

Credit @davgo0103 for Traditional Chinese (zh-tw) corrections

Fix API back-compat; rename new result class to CompletedTeleport and move enum TeleportResult back to upper

Set keepAlive to 30000

Fix NPE caused by PluginMessenger not instantiating futures

TeleportResult refactor, use record and bundle resolved information, separate TeleportState enum, deprecate relevant API

Add tick delay and synchronise dispatch of plugin messages, fix inconsistencies with server name fetching

Fix inconsistencies with /tpignore, close #238

Bump Annotaml to v2.0, add missing @YamlKey's to top level settings

Bundle adventure

Add @YamlKey specification to some fields in spawn and server files, fix #242

Merge #240 - v3.0.5: Fix config loading via Annotaml v2, reduce join calls to fix concurrency joining issues, bug fixes

  • Now uses Annotaml v2 and shading BoostedYaml again
  • Reduces join calls to fix concurrency issues
  • Various other bug fixes and tweaks (tbd)

Merge pull request #236 from davgo0103/master

Update Chinese Traditional

⚠️ Upgrading from v2.11.2? Follow these steps!

HuskHomes 3.0.4 fixes more bugs that cropped up in previous releases, including an issue preventing random teleport cooldowns from working.

  • Migrated the locale system to MineDown-adventure and ported the plugin chat system to the adventure platform. The #getLocale method provided by the API has thus changed to return a MineDown-adventure object.
  • Fixed a bug where executing the /tpaccept and /tpdecline commands without specifying a player argument and without having any pending requests would cause an exception in console (#228)
  • Fixed a problem that meant the server name would not be properly fetched and cached in many cases in cross-server setups (#231)
  • Fixed a bug that meant anyone could create public homes regardless of them having the COMMAND_EDIT_HOME_PRIVACY node
  • Fixed a bug that meant certain values in the config file couldn't be edited (#220)
  • Fixed it not being possible to return by death with /back after you had respawned cross-server via the global respawning feature (#221)
  • Fixed an issue that meant viewing the private home list of another user would not update if they set an additional home (#222)
  • Fixed the error_edit_home_maximum_public_homes locale not having its' placeholder inserted
  • Fixed an issue that meant the return by death via /back prompts when respawning would still appear even if the base permission node for /back was not set (#234)
  • Fixed an issue that meant teleportation cancellation prompts would not respect the warmup message display config setting
  • Fixed an issue that meant the random teleport cooldown would not apply to users self-executing the command (#224)

This release requires an update for HuskHomesGUI (v2.0.1). Please update the GUI plugin too!

To update from v3.0.x, you should regenerate your messages.yml file (delete messages-xx-xx.yml in your /plugins/HuskHomes/ folder and drag+drop the jar file). If you are upgrading from 2.11.2, you will need to follow these steps.

Fix rtp cooldown not working, close #224

Also check regular /back permission node on respawn, close #234

Merge pull request #233 from WiIIiam278/dependabot/gradle/org.junit.jupiter-junit-jupiter-engine-5.9.1

Bump junit-jupiter-engine from 5.9.0 to 5.9.1

More aggressive checks to ensure server name is fetched and cached on first player join

Fix uploading artifacts on PRs

Merge pull request #230 from WiIIiam278/dependabot/gradle/de.themoep-minedown-adventure-1.7.2-SNAPSHOT

Bump minedown-adventure from 1.7.1-SNAPSHOT to 1.7.2-SNAPSHOT

Fix error with tp request response commands, close #228

Tweak caching for private home list viewing, fix #222

Only set last position on standard teleports, fix #221

Bump Annotaml to v1.0.3, fix reading config maps, close #220

Fix COMMAND_EDIT_HOME_PRIVACY node not being checked for editing home privacy

Fix missing placeholder with error_edit_home_maximum_public_homes locale

⚠️ Upgrading from v2.11.2? Follow these steps!

HuskHomes 3.0.3 fixes more bugs and typos present in the previous releases and updates the German (de-de) and Traditional Chinese (zh-tw) locales.

  • Added TITLE and SUBTITLE as options for the position of the teleport warmup countdown indicator display
  • Fixed an issue where numerical permission-node based limits were not sorted correctly, leading to incorrect totals being calculated on servers with inheriting permission nodes (#213)
  • Fixed an issue where usernames that contain two or more adjacent underscores would be treated as MineDown formatting. Simple "markdown"-style formatting for MineDown is no longer supported or escaped (#210)
  • Fixed an issue where public homes and warps that had been migrated from HuskHomes v2 would stop displaying on map hooks (#215)
  • Fixed a typo in the edit warp menu locales that referred to warps as homes
  • Fixed an issue in the incoming teleport request accept/decline button prompts where the click event commands were not prefixed with the plugin namespace (huskhomes:)
  • Fixed an issue where the random teleport engine would still cache at least one position even if the number of positions to cache was set to 0
  • Newly created tables on MySQL will now enforce a character set and database engine on creation
  • Updated the German (de-de) locale, courtesy of @Ceddix
  • Updated the Traditional Chinese (zh-tw) locale, courtesy of TonyPak

To update from v3.0.x, you should regenerate your messages.yml file (delete messages-xx-xx.yml in your /plugins/HuskHomes/ folder and drag+drop the jar file). If you are upgrading from 2.11.2, you will need to follow these steps.

Enforce charset, collation & engine on MySQL tables

Add TITLE and SUBTITLE warmup display options, stop parsing simple inline MineDown formatting, close #210

Better world lookups for map hook, close #215

Create #getLocalPublicHomes and #getLocalWarps, use server for checks with world UID fallback, fix #215

Update Traditional Chinese (zh-tw) via TonyPak

Accept server async

Fix incorrect sort order on numerical permissions, close #213

Fix safe ground locator not returning after completing future when world is invalid

Bump to v3.0.3

Use /huskhomes: prefix for /tpaccept command in international locales

⚠️ Upgrading from v2.11.2? Follow these steps!

HuskHomes 3.0.2 fixes a few bugs, updates the Simplified Chinese (zh-cn) locale and makes a small API addition

  • Updated the Simplified Chinese (zh-cn) locales, courtesy of @ApliNi
  • Re-added bStat metrics collection for certain data points
  • Fixed an issue that meant the /back command was using economy action pricing for random teleportation
  • Fixed an issue that meant /tpdecline had the wrong command description in most locales
  • Fixed an oversight that made it impossible to customise the spacing of home, warp and command lists (#207)
  • Fixed an issue that could cause blocking errors that could crash the server in certain edge cases
  • Further optimised the random teleport generation system to reduce garbage generation
  • API: Added the ability to get whether a player is in a "teleport warmup" state

To update from v3.0, you need to regenerate your messages.yml file (delete messages-xx-xx.yml in your /plugins/HuskHomes/ folder and drag+drop the jar file). If you are upgrading from 2.11.2, you will need to follow these steps.

Cleanup locales, ensure enclosed in single quotes

Merge branch 'master' into ApliNi_master

Add an API event to get if a user is warming up to teleport

Further improvements to the random teleport engine caching system

Re-implement Metrics with custom pie charts

Merge pull request #203 from WiIIiam278/dependabot/gradle/com.github.plan-player-analytics-Plan-5.5.1923

Bump Plan from 5.5.1833 to 5.5.1923

Fix typo in color code

Merge branch 'master' into ApliNi_master

⚠️ Upgrading from v2.11.2? Follow these steps!

HuskHomes 3.0.1 is a bug fix update to address a few outstanding bugs present in v3.0.

  • Updated the Spanish (es-es) locales, courtesy of @Chiquis2005
  • Fixed a crash that could occur in exceptional circumstances when modifying or deleting a home or warp
  • Fixed excessive memory usage caused by problematic logic when populating the cache of potential random position targets on startup

To update from v3.0, just drag+drop the jar file. If you are upgrading from 2.11.2, you will need to follow these steps.

Merge remote-tracking branch 'origin/master'

Cleanup Spanish (es-es) locales, via Chiquis2005

Bump to 3.0.1

Use #thenApplyAsync on potentially blocking futures

HuskHomes v3 Splash

⚠️ Upgrading from v2.11.2? Follow these steps!

HuskHomes v3.0—the third major version of HuskHomes—is now available. It's a complete rewrite of the plugin which brings about a brand new backend database schema and system, an all-new frontend menu design and chat interface, new features, upgrades to existing ones, a new developer API and many small tweaks and improvements!

New menu browsing preview animation

New features & changes

  • The plugin menus have been redesigned—from list menus, to edit menus, to teleport request prompts. The brand new menus follow the same new design scheme used in HuskSync v2.0.
  • The navigation of home, warp, public home and command lists has been improved with new page jumper buttons on page footers
  • Commands now have new permission nodes for better consistency.
  • Permission nodes for bypassing checks have been changed for better consistency.
  • Added a permission node to let you bypass economy checks (#173)
  • Added a config option and permission node to let you limit how many homes a user can make public
  • Added a config option to disable sound effects altogether
  • Added a config option to enable/disable the "return-by-death" feature on the /back command that lets players return to where they died
  • Added a config option to determine whether players' last positions, used in the /back command, will be set when the TeleportEvent is fired for players, except by NPCs, for example by other plugins.
  • Added a config option to enable/disable strict /tpahere functionality
  • Added a config option to let you allow the use of unicode characters in home names and descriptions in aid of international users (#156).
  • Added the ability to enable global respawning on cross-server setups (#123). This is an experimental feature that tracks where players died globally and attempts to respawn them at their bed. You will need to set a local /spawn position on each server first, then enable this in the config file. It has some caveats/downsides/inconsistencies and will be improved in the future, but it should help server owners get a step closer to a seamless cross-server experience.
  • The plugin now accurately keeps track of online players in cross-server setups, meaning it is no longer possible to send teleport requests to invalid players. TAB completion has been improved as a result.
  • The random teleport command now uses a gaussian distribution algorithm to serve random locations with a better distribution. New config options have been added to let you fine-tune this to your liking.
  • The teleport command now lets you teleport a player other than yourself (/tp <player> [destination]). A new permission node has been added to restrict this.
  • It is now possible to teleport to—but not send teleport requests to—yourself with teleport commands
  • A permission node has been added for using the teleport command to teleport to a set of coordinates
  • The teleport command now accepts the @s selector for teleporting yourself, reducing friction when using vanilla commands such as the /minecraft:locate command.
  • The /tpall and /tpaall commands now inform you of how many players you have teleported/requested to teleport to you.
  • Commands are now offered with modern Brigadier rich syntax highlighting for users on Paper servers
  • Added a config section to let you disable commands. Commands added to the disabled_commands list will be unable to be used and show an error when you attempt to use them. This is useful for lightweight setups where you would rather not use a permissions plugin.
  • You can now view lists of a player's homes, server public homes, warps and commands through console
  • You can now randomly teleport a player through console (rtp <player>)
  • You can now execute teleports through console (tp <player> [target])
  • Warping a player through console now works for any player on the network in cross-server setups, not just online players on the server it was executed from.
  • You can now teleport a player to a public home through console (phome <player> <[owner_name].[home_name]>)
  • Added a hook with Plan (Player Analytics) that allows you to view some statistics about users' HuskHomes homes on your Plan web panel.
  • Dynmap: Updated the appearance of HuskHomes' Marker icons. Markers now also show the icon in the popup information box.
  • BlueMap: Updated the appearance of HuskHomes' Marker icons and updated to depend on BlueMap's v2 API, which brings support for newer versions of BlueMap.
  • Removed support for SquareMap/Pl3xMap due to poor stability and API inconsistencies following the original v1's discontinuation. Support for the new Pl3xMap v2 by the original author, will be re-added in the future when its' API is more stable.
  • Removed the ability to force-teleport a player to the spawn point, for now, due to compatibility issues.
  • Removed the config option to handle vanished players for implementation consistency; they are now always handled. Sending a teleport request to a vanished player will act as though they could not be found.
  • Removed the config section for configuring how TAB completions on cross-server setups works; the plugin now has new and more accurate tracking and caching of global player lists.
  • Removed the need to manually set the name of the server in the config file for users with cross-server setups. HuskHomes will automatically fetch and cache this to a server.yml file when the first user joins.
  • Removed the local spawn position section from the config file; this is now saved separately in a spawn.yml file. For global spawn positions on cross-server setups, a warp is still used as before.
  • Temporarily removed the collection of a few specific bStats metrics, to be re-added in a future update.
  • Fixed an issue that meant the SQLite database could get locked in certain circumstances (#148). HuskHomes's new database system now uses a single connection to SQLite databases and pooling for MySQL connections.
  • Fixed an oversight that meant home privacy toggle buttons would appear in the home menu even if a user did not have permission to do so. (#157)
  • Updated the Italian (it-it) locales, courtesy of Villag3r1. Locale files need updating for all other languages, though, as over 2/3rds of the locales have changed with the new menu scheme. If you'd like to help translate HuskHomes, please submit a pull request!

Teleport requests preview animation


  • A new Developer API (v3) has been added. Note that plugins that target HuskHomes v2 API are not compatible with HuskHomes v3.x due to the plugin being a complete top-to-bottom rewrite. The API is available on Jitpack. Please check out the new API docs and Javadocs for more information!
  • Added new API events for teleporting and viewing home lists, and renamed and updated old ones
  • Added the ability for developers to provide custom Random Teleportation engines to customise the functionality of the /rtp command.
  • The plugin is now built with gradle and has a modular, cross-platform design. Contributions welcome!

Add-ons & Placeholders

The following add-ons have been updated to support HuskHomes v3.x. Please download the new versions:

  • HuskHomesPlaceholders (the PlaceholderAPI expansion, available on the PlaceholderAPI eCloud) — v2.0+
    • Please note some placeholders have changed and others added. Please check the new list.
  • HuskHomesGUI (the GUI add-on plugin) — v2.0+

My other plugins, HuskBungeeRTP and HuskTowns will be updated in due course to make use of this new update. Please sit tight!

If you're updating from HuskHomes v2.x, please follow these steps to upgrade. HuskHomes v3.x has been designed to be as easy to upgrade as possible, so for most people this will amount to just dragging and dropping the plugin and deleting the old messages file.

The plugin documentation has been rewritten for v3.0—please have a read!

HuskHomes v3.0 supports Minecraft 1.16.5 - Minecraft 1.19.x

Thank you!

Check y value on #isSafePosition; prevent IllegalArgumentException (Close #202)

Safety: Make edithome, editwarp and sethome execute asynchronously

Fix #timedTeleport returning FAILED_MOVING even if the warmup was bypassed or <=0

API: Change #getRandomPosition to accept an OnlineUser as arg instead of their position

Shorten tpignore english locale

Add special handling for @s operator to support vanilla suggestions

Add missing syntax error for /huskhomes command

Suggest delwarp command instead of running it in edit warp menu

Make getting warp lists async due to blocking event

Spawn: Simplify getting method, refactoring, add way of getting via API

Fetch home lists asynchronously due to new event

Fix updating home privacy not working on SQLite

Database: Rename setHome and setWarp methods to "save" for consistency

API: Add methods to get a locale from the locales file

Add HomeListEvent and WarpListEvent

Re-add screenshots to README

Update README, add teleport-requests-animation.gif

Update README, add edit-homes-animation.gif

Fix timedTeleport to run asynchronously using thenApplyAsync

Prevent home command tab completion throwing exceptions for un-cached users

Fix GitHub artifact uploading

Note: This is the initial release version available on Modrinth!

HuskHomes 2.11.2 fixes a few bugs with previous versions and makes some optimizations for Redis users.

  • Fixes and improvements for users running HuskHomes via Redis
    • Fixed an issue where the Redis listener on would terminate unpredictably when trying to add a null set of invites (#130)
    • Fixed an issue where cross-server player list tracking would not accurately add joining players to the global player list
    • Updated the Jedis dependency and now a JedisPool is used to more optimally fetch connections
    • Added an option in the config file to allow for Redis connections to be established over SSL
  • Fixed /warp tab completion items not being hidden based on warp permissions even when the setting to hide them from the warplist was enabled (#129)
  • Updated HikariCP to 5.0.1 to fix an issue where the database connection pool could be drained in rare circumstances.
  • Miscellaneous refactoring

To update, just drag+drop. For Redis users, the new use_ssl config option should appear under redis_credentials in the plugin config.

External resources

Project members

Technical information

Project ID