Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for fuzeblocks

A lightweight and efficient plugin to manage player homes, warps and world spawns, featuring optional caching.

Report HomePlugin-by-fuzeblocks?

๐Ÿก HomePlugin

A lightweight, flexible home & teleport management plugin for Paper/Spigot servers

sponsor Discord License

Stable โ€ข Fast โ€ข Modular โ€ข API-Driven

Features โ€ข Installation โ€ข Commands โ€ข Configuration โ€ข API Documentation

Usage


โœจ Features

๐Ÿ  Core Functionality

  • Named Homes - Set multiple homes with custom names and optional metadata
  • Global Spawn - Server-wide spawn point management
  • Teleport Requests (TPA) - Request to teleport to other players with configurable timeout
  • Random Teleport (RTP) - Random teleport with cooldown and radius controls
  • Back Command - Return to your previous location

๐Ÿ—„๏ธ Flexible Storage

  • YAML (default) - Simple file-based storage
  • MySQL - Full database support for larger servers
  • Redis Caching - Optional cross-instance cache synchronization

๐ŸŽฎ Player Experience

  • Interactive GUI - Visual home management interface
  • Multiple Languages - French, English, Spanish, Russian, Ukrainian, German, Turkish
  • Teleport Warmup - Configurable delays with titles, messages, and particles
  • Permission-Based Limits - Dynamic home limits via permissions

๐Ÿ”Œ Integrations

  • PlaceholderAPI - Rich placeholders for homes, counts, and locations
  • Vault Economy - Optional costs for home creation, teleportation, TPA, and RTP

๐Ÿ› ๏ธ Administration

  • Admin Tools - Manage other players' homes, spawn points, and cache
  • World Restrictions - Block home creation in specific worlds
  • Location Validation - Prevent unfair placements
  • Modular Architecture - Extensible plugin loader for custom modules

โฌ‡๏ธ Installation

  1. Download the latest release from Releases or build from source
  2. Place the JAR file into your server's plugins/ folder
  3. Start your server to generate default configuration files
  4. Configure plugins/HomePlugin/config.yml to your preferences
  5. Restart or reload your server

Quick Configuration Tips

  • โœ… Works out-of-the-box with YAML storage
  • ๐Ÿ—„๏ธ For MySQL: Configure credentials in config.yml before restarting
  • ๐Ÿš€ For Redis: Set Use-Redis: true and ensure Redis server is accessible

๐Ÿงพ Commands

Player Commands

Command Description Permission
/sethome [name] [info] Create or update a home homeplugin.command.sethome
/home [name] Teleport to a home (opens GUI if no name) homeplugin.command.home
/delhome <name> Delete a home homeplugin.command.delhome
/listhome (/homes) List all your homes homeplugin.command.listhome
/renamehome <old> <new> Rename an existing home homeplugin.command.renamehome
/relocatehome <name> Move a home to your current location homeplugin.command.relocatehome
/back Return to your previous location homeplugin.command.back.use
/spawn Teleport to server spawn homeplugin.command.spawn
/tpa <player> Request to teleport to a player homeplugin.command.tpa.use
/tpaccept <player> Accept a teleport request homeplugin.command.tpa.use
/tpdeny <player> Deny a teleport request homeplugin.command.tpa.use
/rtp Random teleport (if enabled) homeplugin.command.rtp
/warp <name> Teleport to a predefined warp homeplugin.command.warp.use

Admin / Utility Commands

Command Description Permission
/setspawn Set the global spawn point for the current world homeplugin.admin (or homeplugin.admin.spawn.set)
/delspawn Remove the global spawn point for the current world homeplugin.admin (or homeplugin.admin.spawn.delete)
/homeadmin <player> Manage another player's homes (create/delete/edit) homeplugin.admin (or homeplugin.admin.home.manage)
/cache view View cache statistics homeplugin.admin (or homeplugin.admin.cache.view)
/cache clearall Clear all plugin caches homeplugin.admin (or homeplugin.admin.cache.clear)
/cache player <name> Clear cache for a specific player homeplugin.admin (or homeplugin.admin.cache.player)
/lang set <code> Set the active language (e.g. en, fr) homeplugin.command.lang
/lang update Update/merge language files homeplugin.command.lang
/modules / /plugins List loaded HomePlugin modules/extensions homeplugin.admin
/update Trigger plugin update (may download/replace jar and restart/shutdown) homeplugin.admin or OP

๐Ÿ” Permissions

Basic Permissions

Permission Description Default
homeplugin.command.home Use /home and related home teleports true
homeplugin.command.sethome Create/set homes true
homeplugin.command.delhome Delete homes true
homeplugin.command.listhome List your homes true
homeplugin.command.renamehome Rename homes true
homeplugin.command.relocatehome Relocate homes true
homeplugin.command.spawn Use /spawn true
homeplugin.command.tpa.use Send/accept/deny TPA requests true
homeplugin.command.rtp Use RTP (when enabled) true
homeplugin.command.back.use Use /back op
homeplugin.command.warp.use Use /warp true
homeplugin.command.warp.modify Create/modify warps op
homeplugin.command.lang Manage language files (/lang set /lang update) op
homeplugin.admin Access admin features (cache, manage others, update, modules) op

Note: some installations/README variants show more granular admin permissions (e.g. homeplugin.admin.cache.clear) โ€” those are optional finer-grained permissions you can implement in your permission manager.

Dynamic Home Limits

Grant limits via permissions homeplugin.limit.<N> (plugin scans 1..100 and applies the highest matching value).

  • Example: homeplugin.limit.5 โ†’ 5 homes

Bypass Permissions

Permission Description
HomePlugin.home.bypass Bypass home limits and some placement restrictions (value taken from language/custom config: "HomePlugin.home.bypass")
homeplugin.spawn.bypassworlds (optional) Allow /spawn even in worlds listed in Disabled-Worlds

โš™๏ธ Configuration

๐Ÿ“„ config.yml location

plugins/HomePlugin/config.yml (created on first server start).
Full default: https://github.com/fuzeblocks/HomePlugin/blob/main/src/main/resources/config.yml

๐Ÿ”ง Key configuration options (overview)

General / Localization
  • General.Language โ€” FRENCH, ENGLISH, SPANISH, RUSSIAN, UKRAINIAN, GERMAN, TURKISH
  • General.Default-Home-Limit โ€” base number of homes if no homeplugin.limit.* permission
Storage
  • Storage.TYPE โ€” YAML (default) or MYSQL
  • Storage.MYSQL โ€” HOST, PORT, USERNAME, PASSWORD, DATABASE (when using MySQL)
Redis (optional)
  • Redis.Use-Redis โ€” true/false (enable cross-instance cache)
  • Redis.Host, Redis.Port, Redis.UseSSL, Redis.Password
  • Config.Home.Prevent-Unfair-Location โ€” block unfair placements (true/false)
  • Disabled-Worlds โ€” list of worlds where homes cannot be created
Teleport / Warmup
  • Teleport.Task-Duration โ€” warmup seconds before teleport
  • Teleport.Use-Title, Teleport.Use-Message โ€” show notifications
  • Teleport.Particles-After-Teleport โ€” show particles on arrival
  • Teleport.Skip-If-Op โ€” operators skip warmup
TPA
  • Tpa.Enabled โ€” enable TPA system
  • Tpa.Tpa-Duration โ€” seconds before a TPA request expires
RTP
  • RTP.Enabled โ€” enable random teleport
  • RTP.Cooldown-Seconds โ€” cooldown between uses
  • RTP.Max-Radius โ€” maximum radius from spawn
Economy (Vault)
  • Economy.UseEconomy โ€” enable economy integration
  • Economy.Home-Creation-Price โ€” cost to create a home
  • Economy.Home-Teleport-Price โ€” cost to teleport to home
  • Economy.Tpa-Request-Price โ€” cost to send TPA
  • Economy.RTP-Price โ€” cost to use RTP
Feature Toggles
  • Features.Enable-Home, Features.Enable-TPA, Features.Enable-Spawn, Features.Enable-Warp โ€” enable/disable features

If you want, I can:

  • generate a ready-to-paste corrected README snippet with these exact keys,
  • or scan the code/plugin.yml to produce a table that exactly matches declared permissions and defaults and fix any plugin.yml vs code mismatches (recommended).

๐Ÿงฉ Integrations

PlaceholderAPI

HomePlugin provides rich placeholders for use in other plugins:

Placeholder Description
%homeplugin_homes% Comma-separated list of home names
%homeplugin_homes_numbers% Total number of homes
%homeplugin_has_homes% true if player has homes
%homeplugin_home_location_<name>% Formatted location
%homeplugin_home_exists_<name>% Check if home exists
%homeplugin_home_world_<name>% Home world name
%homeplugin_home_coordinates_<name>% Raw coordinates (X Y Z)
%homeplugin_home_teleport_price% Teleport cost
%homeplugin_home_creation_price% Creation cost
%homeplugin_tpa_request_price% TPA request cost
%homeplugin_rtp_price% RTP cost

Vault Economy

Configure optional costs for various actions through Vault integration. Supports any Vault-compatible economy plugin.


๐ŸŒ Supported Languages

Built-in language support with fully customizable YAML files:

  • ๐Ÿ‡ซ๐Ÿ‡ท French (FRENCH)
  • ๐Ÿ‡ฌ๐Ÿ‡ง English (ENGLISH)
  • ๐Ÿ‡ช๐Ÿ‡ธ Spanish (SPANISH) - by Henri Topper
  • ๐Ÿ‡ท๐Ÿ‡บ Russian (RUSSIAN)
  • ๐Ÿ‡บ๐Ÿ‡ฆ Ukrainian (UKRAINIAN)
  • ๐Ÿ‡ฉ๐Ÿ‡ช German (GERMAN)
  • ๐Ÿ‡น๐Ÿ‡ท Turkish (TURKISH) - by Xenetotyp3

Set your language in config.yml or use /lang set <LANGUAGE> in-game.


๐Ÿง‘โ€๐Ÿ’ป Developer API

HomePlugin provides a comprehensive API for developers to integrate and extend functionality.

๐Ÿ“š Documentation

๐Ÿ“ฆ Dependency Management

Add HomePlugin as a dependency via JitPack:

Maven:

<repository>
  <id>jitpack.io</id>
  <url>https://jitpack.io</url>
</repository>

<dependency>
  <groupId>com.github.fuzeblocks</groupId>
  <artifactId>HomePlugin</artifactId>
  <version>Tag</version>
</dependency>

Gradle (Groovy):

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.fuzeblocks:HomePlugin:Tag'
}

Gradle (Kotlin DSL):

repositories {
    maven("https://jitpack.io")
}

dependencies {
    implementation("com.github.fuzeblocks:HomePlugin:Tag")
}

Replace Tag with the desired version/release tag.


๐Ÿงฑ Architecture

HomePlugin features a modular, performance-focused architecture:

  • Storage Abstraction - Unified interface for YAML and MySQL backends
  • Optional Redis Layer - Cross-instance caching and synchronization
  • Event System - Comprehensive events for all plugin actions
  • Extension System - Internal module loader for custom functionality
  • Permission-Driven - Flexible limits and restrictions via permissions

โœ… Compatibility

  • Minecraft: 1.14+ (declared api-version: 1.14)
  • Server: Paper, Spigot, and derivatives
  • Java: Java 11+
  • Soft Dependencies: PlaceholderAPI, Vault

๐Ÿ—บ๏ธ Roadmap

Feature Status
Per-home economy costs โœ… Complete
Offline player home editing โœ… Complete
Edit existing homes โœ… Complete
/back command โœ… Complete
Clickable chat messages โœ… Complete
Public homes ๐Ÿ“ Planned
Warps โœ… Complete
UI/style refresh ๐Ÿ“ Planned
BlueMap and Dynmap integration ๐Ÿ“ Planned

Have a suggestion? Open a Discussion or join our Discord!


๐Ÿค Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Guidelines

  • Use clear, descriptive commit messages
  • Follow existing code style and conventions
  • Test your changes thoroughly
  • Update documentation as needed
  • Discuss major changes in Issues or Discord first

๐Ÿ’ฌ Support

Need help? Have questions?

  • ๐Ÿ“– Wiki - Documentation and guides
  • ๐Ÿ› Issues - Bug reports and feature requests
  • ๐Ÿ’ฌ Discord - Community support and discussion
  • ๐Ÿ“ง Discussions - General questions and ideas

๐Ÿ“„ License

HomePlugin is licensed under the Apache License 2.0.


Made with โค๏ธ by fuzeblocks

If you find this plugin useful, consider sponsoring to support development!

Information

Category
Gameplay
Published
August 14, 2026
License
1Downloads
0Stars
Addon

Pinned Versions

Members

1