GhostyHome — Changelog From 1.0.0 → 2.0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Version 2.0 — Major update MySQL support, teleport protection system & new commands
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
New Features
/homes — A dedicated command that always opens the home GUI directly, regardless of how many homes a player has. Requires the ghostyhome.homes permission, which is granted to all players by default.
/ghreload — Reloads the plugin configuration and all language files at runtime without requiring a server restart. Also re-initializes the storage backend if the storage type was changed in config.yml. Requires the ghostyhome.reload permission (OP only by default).
MySQL Storage Support — Homes can now be stored in a MySQL database instead of the local homes.yml file. The backend is selected by setting storage: mysql in config.yml. All home operations are written to the database instantly. If the connection fails on startup, the plugin automatically falls back to YML storage and logs a warning. The table ghostyhome_homes is created automatically if it does not exist.
Teleport Warmup — Players must stand still for a configurable number of seconds before being teleported. Set via teleport.warmup in config.yml (default: 3 seconds). Setting it to 0 disables the warmup for instant teleportation.
Movement Cancellation — If a player moves during the warmup countdown, the teleport is immediately cancelled and the player is notified. Can be toggled with teleport.cancel-on-move.
Damage Cancellation — If a player takes any damage during the warmup, the teleport is cancelled. Covers all damage types including fall damage, fire, lava, void, explosions, melee hits and projectiles. Can be toggled with teleport.cancel-on-damage.
Damage Cooldown — After taking any damage, players must wait a configurable amount of seconds before initiating a teleport. This prevents players from escaping dangerous situations like lava, the void or fall damage by teleporting home. Configured via teleport.damage-cooldown (default: 5 seconds).
Combat Cooldown — After being hit by another player via melee or projectile, a separate and longer cooldown is applied before the player can teleport. This prevents abuse during PvP encounters. Configured via teleport.combat-cooldown (default: 10 seconds). The remaining cooldown time is shown to the player if they try to teleport too early.
Admin Bypass — Players with the ghostyhome.admin permission bypass all cooldowns and warmup timers entirely. Admin teleports via /adminhome or the admin GUI are always instant.
Disconnect Cleanup — If a player disconnects while a teleport warmup is active, the warmup task is silently cancelled to prevent memory leaks.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Changes & Improvements
GUI Filler Item Name — The display name of the background glass pane filler items in all GUIs is now fully configurable via the language files using the key gui.filler-name. Previously this was hardcoded.
Fully Localized Messages — All new teleport protection and MySQL status messages are defined in both de_DE.yml and en_EN.yml and can be freely customized.
HomeManager Refactored — The storage layer was refactored to support both backends through a unified interface. In MySQL mode, individual home operations are written to the database immediately instead of rewriting the entire file on every change, which improves performance at scale.
ReloadCommand Improved — /ghreload now also reloads all teleport protection settings and can switch the storage backend at runtime without restarting the server.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
New config.yml Options
storage — Choose between yml and mysql
mysql.host / port / database / username / password — MySQL connection details
teleport.warmup — Seconds to stand still before teleporting (0 = instant) teleport.cancel-on-move — Cancel warmup if the player moves teleport.cancel-on-damage — Cancel warmup if the player takes damage teleport.damage-cooldown — Seconds blocked after any damage teleport.combat-cooldown — Seconds blocked after being hit by another player
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
New Permissions
ghostyhome.homes — Allows using /homes. Granted to all players by default. ghostyhome.reload — Allows using /ghreload. OP only by default.
Both permissions are included in the ghostyhome.* wildcard node.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Made by Ger_Gh0stface — GhostyPlugins
