
HomePlugin
A lightweight and efficient plugin to manage player homes and world spawns, featuring optional caching and powerful synchronization tools.
Economy, Teleportation & Documentation Update
alpha22 октября 2025 г.✨ 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
HomePlugin 0.8 – Random Teleportation (RTP) Feature
release31 августа 2025 г.✨ 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
TPA System Integration & Improvements
release30 августа 2025 г.✨ 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
HomePlugin 0.7.8-SNAPSHOT
release4 августа 2025 г.✨ 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 TPA Command & CacheManager Enhancements
release16 июля 2025 г.✨ 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/