DyHomes 1.0.0-BETA
The first public release of DyHomes: homes, warps and spawn in one light plugin for Bukkit, Spigot, Paper, Purpur and Folia, Minecraft 1.20.x through 26.x.
Added
- Homes.
/home,/homes,/sethomeand/delhome.- Named homes; without a name,
/sethomesetshomeand/homegoes tohomeor your only home. /sethomewith an existing name moves that home instead of counting as a new one.- Clickable home list.
- Administrators reach other players' homes with
player:home, also for offline players.
- Named homes; without a name,
- Limits per rank.
homes.default-limit(3),dyhomes.limit.<n>(the highest wins) anddyhomes.limit.unlimited.homes.disabled-worldsblocks new homes in chosen worlds. - Warps.
/warp,/warps,/setwarpand/delwarp, with a clickable list.warps.per-warp-permissionlimits each warp todyhomes.warp.<name>. - Spawn.
/spawnand/setspawn.- New players are sent to the spawn.
- Players without a bed or respawn anchor respawn there.
- Without
/setspawn,/spawnuses the main world's spawn.
- Teleport flow.
- Warmup (3 seconds), cancelled by moving, damage or another teleport.
- Cooldown and price per kind: home, warp, spawn; price also for
/sethome. dyhomes.cooldown.<seconds>per rank (the lowest wins).- The price is taken only right before the teleport and refunded if it fails.
- Destination safety.
- Room to stand, no lava, fire or other hazard, and ground within
safety.max-fallblocks. - An unsafe destination is refused with a hint; adding
forcegoes anyway. - Slabs, carpets and water at the destination are handled.
- Room to stand, no lava, fire or other hazard, and ground within
- DyClaim.
- With DyClaim 1.1.0 or later, homes in someone else's claim need its
buildright to set and itsteleportright to use. Both rights are configurable. - Losing trust keeps the home but blocks it.
- If DyClaim cannot answer, the action is refused.
- With DyClaim 1.1.0 or later, homes in someone else's claim need its
- EssentialsX import.
/dyhomes import essentialscopies homes (current and older file formats), warps and the spawn.- Existing DyHomes entries are kept.
- EssentialsX files are only read.
- Languages. English, Turkish, German, Spanish and Russian, from the client language or
/dyhomes language. Turkish command aliases such as/ev,/evler,/evayarla,/evsil. MiniMessage tags on Paper, Purpur and Folia; text typed by players is never treated as tags. - PlaceholderAPI.
%dyhomes_count%,%dyhomes_limit%,%dyhomes_remaining%,%dyhomes_names%,%dyhomes_cooldown%,%dyhomes_cooldown_formatted%and%dyhomes_warps%. - Developer API.
DyHomesAPIplus the cancellableHomeSetEvent,HomeDeleteEventandDyHomesTeleportEvent. - Folia. The same JAR runs on Folia with region and entity schedulers; Paper and Folia teleport asynchronously.
- Storage.
- One small YAML file per player, written atomically.
- Unreadable files are never overwritten.
- Worlds are remembered by UID and name.
- Modrinth update notices for administrators and optional anonymous bStats statistics.
Upgrading
This is the first release. Put DyHomes-1.0.0-BETA.jar in plugins/ and start the server. Coming from EssentialsX, run /dyhomes import essentials once; EssentialsX files are only read and nothing already in DyHomes is replaced.
Verification
30 automated tests passed. Live checks with the release JAR (SHA-256 d5f053cfde65511b284686cad62f7fb28ab99504faa26f8734bd99135d143595) passed on Purpur 1.20.4 with EssentialsX, LuckPerms, Vault, PlaceholderAPI and DyClaim 1.1.0 (28/28), Folia 1.20.4 with DyClaim 1.1.0-Folia (11/11), Spigot 26.3 (7/7) and Paper 26.2 (7/7). Bukkit without Spigot, Folia 26.x, Geyser/Floodgate and high player counts were not tested.

