✨ New Features & Enhancements
✅ Add /renamehome command – allows players to rename their existing homes
✅ Add /relocatehome command – allows players to change the location of an existing home
✅ Add economy configuration options in config.yml:
Economy:
UseEconomy: false # Enable or disable economy features (default: false)
HomeCreationCost: 100.0 # Cost to create a new home (0 to disable)
Home-Teleport-Price: 50.0 # Cost to teleport to a home (0 to disable)
Tpa-Request-Price: 20.0 # Cost to send a /tpa request (0 to disable)
Rtp-Price: 150.0 # Cost to use /rtp command (0 to disable)
✅ Add Javadoc comments to classes and methods for improved code documentation
✅ Add Maven Shade and Javadoc plugins to pom.xml for packaging and documentation generation
✅ Generate Javadoc HTML files in docs/ for GitHub Pages deployment
✅ Add VaultAPI dependency to pom.xml
✅ /back implemented
✅ Minor fixes: remove debug logging, update timestamps in generated Javadoc, and resolve merge issues
✨ New Features & Enhancements
- ✅ Added
/rtpcommand (Random Teleportation)- Teleports players to a safe random location.
- Always places player at the highest safe block.
- Prevents unsafe teleportation (lava, void, unsafe blocks).
- ⏳ Added RTP cooldown system:
- Configurable cooldown per player in
config.yml. - Players receive a message if they must wait before teleporting again.
- Configurable cooldown per player in
- 🌐 Added localization support:
- New language entries in
french.yml,english.yml,spanish.yml. - Fully translatable messages for teleportation in progress, success, failure, and cooldown.
- New language entries in
🧼 Refactoring & Internal Changes
- Unified RTP request handling with
RtpRequestStore(supports Redis & Local storage).
📌 Notes
- ⚙️ Configure RTP cooldown in
Config.Rtp.Cooldown. - 🔁 All changes are backward-compatible.
- 🌐 To update language files, use
/lang update.
What's Changed
- Add Spanish language support and update .gitignore by @fuzeblocks in https://github.com/fuzeblocks/HomePlugin/pull/18
- Add RTP (Random Teleportation) feature with cooldown and localization… by @fuzeblocks in https://github.com/fuzeblocks/HomePlugin/pull/19
Full Changelog: https://github.com/fuzeblocks/HomePlugin/compare/0.7.9...0.8
✨ New Features & Enhancements
✅ New TPA System (Teleport Requests)
- Added
/tpa,/tpaccept,/tpdenywith full tab-completion support. - Requests are now stored via an abstraction
TpaRequestStorewith two implementations:- LocalTpaRequestStore (in-memory, fast for single-server setups)
- RedisTpaRequestStore (shared across multiple servers, ideal for networks)
- Players can only teleport once the target accepts the request.
- Added configurable TPA timeout (
Config.Tpa.Tpa-duration, default: 30 seconds).
✅ Improved Tab Completion
/tpaccept <player>and/tpdeny <player>now suggest only valid requesters.- Dynamically pulls data from cache/Redis for real-time accuracy.
✅ CacheManager Integration
- Centralized access for all active TPA requests.
- Supports both Redis and Local modes seamlessly.
🔧 Internal Changes
- Refactored
TpaRequestStoreto unify Redis & Local implementations. - Added
getAllTpaSenders()+getTpaTarget(UUID)to simplify request lookups. - Safer cleanup of expired or invalid TPA requests.
- Enhanced Redis handling with UUID-safe storage and retrieval.
🌐 Language Updates
Added new language entries in french.yml, english.yml, and custom.yml:
Tpa.Request-Sent→ "You have sent a teleport request to {player}"Tpa.Request-Received→ "{player} has sent you a teleport request. Use /tpaccept or /tpdeny."Tpa.Request-Expired→ "Your teleport request to {player} has expired."Tpa.No-Pending→ "You have no pending TPA requests."
📌 Notes
- ⚙️ If running in a networked setup, enable Redis in
config.yml. - 🔁 All changes remain backward-compatible.
- 🌐 Update language files manually with
/lang update.
Full Changelog: https://github.com/fuzeblocks/HomePlugin/compare/0.7.8...0.7.9
✨ New Features & Enhancements
✅ Fair Home Placement System
-
Homes can no longer be set in unfair or exploitable locations:
- Too high or too low (Y coordinate)
- In water blocks or on portal blocks
- In blacklisted worlds (
world_nether,world_the_end) - On floating platforms (air-only support beneath)
-
Fully configurable via
PreventUnfairLocation: trueinconfig.yml
✅ TPA Timeout Configuration
- TPA request timeout is now configurable:
Config.Tpa.Tpa-duration(default:30seconds)
✅ Compatibility Updates
- Support for Minecraft 1.21.7
- Fix: replaced
Material.isAir()with== Material.AIRfor proper 1.14.x compatibility
✅ Commands & Permissions
- New supported commands:
/tpa,/tpaccept,/tpdeny - Fixed permission node:
homeplugin.command.tpa
🧼 Refactoring & Internal Changes
- Removed deprecated
updateLanguage()logic (replaced by/lang update) - Improved floating platform detection logic (more precise conditions)
- Refined Redis connection handling with cleaner logging
🌐 Language Improvements
-
Added new language entries in
french.yml,english.yml, andcustom.yml:Invalid-height,Water-location,Portal-location,Floating-platform,End-disabled
📌 Notes
- ⚙️ Make sure
PreventUnfairLocationis enabled to enforce fair home placement. - 🔁 All changes are backward-compatible.
- 🌐 To manually update language files, use
/lang update.
Resources: [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/)
✨ New Features & Improvements
-
✅ New TPA command with full cache support
- Efficient management of TPA requests stored in cache (Redis or local).
- Methods to add, check, retrieve, and remove TPA requests.
-
✅ CacheManager overhaul
- Unified handling of player homes, spawn locations, and TPA requests cache.
- Support for clearing all homes globally via
clearAllHomes()including Redis support.
-
✅ Automatic language file updater at plugin startup
- Backs up existing language files automatically.
- Regenerates missing files while preserving current translations.
- Merges missing keys without overwriting existing ones.
- Provides success/failure messages during update.
🧼 Code Refactoring
- Improved modularity between cache stores and manager class.
- Enhanced error handling in language file update process.
- Prep for centralized language key management.
📌 Notes
- Backward-compatible cache changes.
- Language updater removes manual update requirements.
- Use
/lang updatecommand to manually trigger language file update.
Resources:
PlaceholderAPI support: https://www.spigotmc.org/resources/placeholderapi.6245/
✨ Features
✅ Automatic language file updater implemented New system to automatically detect and insert missing keys in the language file (french.yml or other) without overwriting existing values. Usage : /lang update
✅ Future-proofing for localization Ensures compatibility with future updates by maintaining key integrity and reducing manual maintenance. 🧼 Code Refactoring
✅ Internal message handling improved Preparation for centralized language key management in all modules.
✅ Fix update checker
📌 Notes
🛠 This update is backward-compatible with existing language files. No manual intervention is required after deployment.
PlaceholderAPI: https://www.spigotmc.org/resources/placeholderapi.6245/
✨ Features
✅ Home Admin management commands implemented: New commands to manage private homes efficiently. ✅ Improved Admin messages: Player name is now included in teleportation confirmation for better clarity.
🧼 Code Refactoring
✅ Permission & language handling streamlined: Unified permission checks and language key usage across command classes.
✅ Cleanup: Deployment scripts added to .gitignore to prevent accidental commits.
✅ Miscellaneous internal changes: Minor modifications to prepare for future modularization.
📌 Notes
🛠 The GUI remains partially incompatible with Minecraft 1.21.7. A full patch is in progress.
PlaceholderAPI: https://www.spigotmc.org/resources/placeholderapi.6245/
✨ Features
- ✅ Minecraft version support expanded: Compatible with 1.14.0 to 1.21.6
- ✅ Java compatibility refactored: Plugin now compiled with Java 11 to support older servers
- ✅ Improved command logic:
- Refactored
HomeCommandinternals - Added tab completer for
/sethome
- Refactored
- ✅ Permission-based home limit system:
Define home limits per player/group via permissions:
homeplugin.limit.1→ max 1 homehomeplugin.limit.5→ max 5 homeshomeplugin.limit.10→ max 10 homeshomeplugin.limit.x-> your number, but 100 it's the maximum- Fallback to default if no permission is found
- Compatible with LuckPerms
🧼 Code Refactoring
- Cleaned up logic for compatibility across Minecraft versions
- Removed Java 16+ language features
- Improved GUI separation for maintainability
📌 Notes
🛠 The GUI is currently **not fully compatible with Minecraft 1.21.7.
PlaceholderAPI: https://www.spigotmc.org/resources/placeholderapi.6245/
Update: added a GUI and command to rename your homes; more messages translated.
PlaceholderAPI: https://www.spigotmc.org/resources/placeholderapi.6245/
GUI Update
- Added the ability to teleport to or delete a home directly from the GUI.
- New messages added for improved user feedback.
- Fixed several bugs related to home management.
PlaceholderAPI: https://www.spigotmc.org/resources/placeholderapi.6245/
This update introduces a new GUI to list your homes, improved translations, and a reworked spawn/home API for better flexibility and integration. Also we have added new Placeholder expansion !
PlaceholderAPI: https://www.spigotmc.org/resources/placeholderapi.6245/
- More translatable message.
- Support now multi-version (1.8.x-1.21.x).
- Update soon...
PlaceholderAPI: https://www.spigotmc.org/resources/placeholderapi.6245/
Fix delete home bug and rename certain method
"Fix setspawn, spawn , home, sethome"
Edit api, fix bugs, refactor the code
Fix api
Fix spawn, add Updater
Create an API, FIX HomeManagers, Add PlaceHolder support, support for api use, and more
Adding custom language, and fix spawn teleportation


