Skip to content
RitomasssCommunity
Product documentation

NexaHomes Documentation

NexaHomes is a GUI-first premium homes platform with rank limits, safe teleportation, public homes, sharing, team homes, vouchers and storage support.

21Java target
Paper 1.21Server target
SQLite/MySQLStorage mode
Vault + PAPIHook posture

Overview#

Product purpose, target audience, main systems, dependencies and quick links.

Quick links: Installation, First Setup, Commands, Permissions, Configuration, GUI, Placeholders, Storage, Integrations, Common Setups, Troubleshooting, Changelog and Support.

What is NexaHomes?#

A home management system that goes beyond /home with limits, safety checks, public/social homes and admin tools.

Who is it for?#

Survival, SMP, SkyBlock and network owners who need polished home management and monetizable limits.

Supported server types#

SMP, Survival, SkyBlock, Prison and seasonal networks.

Main features#

  • Home GUI
  • Rank and permission limits
  • Warmup and cooldown
  • Public homes
  • Home sharing
  • Team homes
  • Home vaults
  • Migration and admin tools
  • Positioning
  • Current Implementation
  • Commands
  • Permissions

Dependencies#

  • Java 21
  • Paper 1.21
  • LicenseGate key
  • Vault optional
  • PlaceholderAPI optional

Installation#

Installation gets the plugin to boot. First Setup prepares it for production use.

Do not replace plugin jars while the server is running. Always make a backup before updating.
Download the latest NexaHomes jar from the official buyer/download source.
Stop the server before replacing the jar.
Upload the jar to /plugins.
Start the server once and confirm the plugin folder was generated.
Configure license, storage and core files listed in the Configuration section.
Restart the server and run the main status/admin command.

First Setup#

Recommended first configuration pass after the plugin has generated its files.

Make one change at a time, reload or restart, then test the player workflow with a real account.

Setup checklist#

  1. Choose storage type
  2. Set default and rank home limits
  3. Configure warmup/cooldown
  4. Enable or disable public homes
  5. Give permissions
  6. Test sethome, home and delhome

Production notes#

  • Give permissions through LuckPerms or your permission manager.
  • Keep backups of YAML files and database tables.
  • Use a staging server before large updates.
  • Do not claim Folia or network support unless the full setup has been tested.

Commands#

Commands, permissions, and usage examples.

Command entries are read from this product's plugin.yml.
/homeCommand
Description

Open homes or teleport to a home.

Permission

nexahomes.use

Example

/home

/homesCommand
Description

List or open your homes.

Permission

nexahomes.use

Example

/homes

/sethomeCommand
Description

Set a home at your current location.

Permission

nexahomes.use

Example

/sethome

/delhomeCommand
Description

Delete one of your homes.

Permission

nexahomes.use

Example

/delhome

/renamehomeCommand
Description

Rename one of your homes.

Permission

nexahomes.use

Example

/renamehome

/homeinfoCommand
Description

View details for one of your homes.

Permission

nexahomes.use

Example

/homeinfo

/homepublicCommand
Description

Manage public homes.

Permission

nexahomes.public

Example

/homepublic

/homeshareCommand
Description

Manage shared homes.

Permission

nexahomes.share

Example

/homeshare

/homefavoriteCommand
Description

Toggle a favorite home.

Permission

nexahomes.use

Example

/homefavorite

/homevisitCommand
Description

Visit another player's accessible home.

Permission

nexahomes.use

Example

/homevisit

/homereportCommand
Description

Report a public home to staff.

Permission

nexahomes.public.report

Example

/homereport

/teamhomeCommand
Description

Open or teleport to team homes.

Permission

nexahomes.team

Example

/teamhome

/setteamhomeCommand
Description

Set a home for your team.

Permission

nexahomes.team.set

Example

/setteamhome

/delteamhomeCommand
Description

Delete a home for your team.

Permission

nexahomes.team.delete

Example

/delteamhome

Permissions#

Permission nodes are based on plugin.yml. Assign admin and bypass permissions carefully.

/lp group admin permission set nexahomes.team.admin true
/lp group default permission set nexahomes.use true
nexahomes.use

Allows player home commands.

Default: truePlayers
nexahomes.share

Allows sharing homes.

Default: truePlayers
nexahomes.public

Allows public homes.

Default: truePlayers
nexahomes.public.favorite

Allows favoriting public homes.

Default: truePlayers
nexahomes.public.rate

Allows rating public homes.

Default: truePlayers
nexahomes.public.whitelist

Allows managing public home whitelists.

Default: truePlayers
nexahomes.public.whitelist.bypass

Bypasses public home whitelist restrictions.

Default: opOwner/Admin
nexahomes.public.report

Allows reporting public homes.

Default: truePlayers
nexahomes.team

Allows team homes menu and teleport access.

Default: truePlayers
nexahomes.team.set

Allows setting team homes when role rules allow it.

Default: truePlayers
nexahomes.team.delete

Allows deleting team homes when role rules allow it.

Default: truePlayers
nexahomes.team.admin

Bypasses team home role rules.

Default: opOwner/Admin
nexahomes.admin

Allows all NexaHomes admin actions.

Default: opOwner/Admin
nexahomes.admin.reload

Allows reloading NexaHomes.

Default: opOwner/Admin
nexahomes.admin.debug

Allows debug status output.

Default: opOwner/Admin
nexahomes.admin.license

Allows license status checks.

Default: opOwner/Admin
nexahomes.admin.view

Allows viewing player homes.

Default: opOwner/Admin
nexahomes.admin.delete

Allows deleting player homes.

Default: opOwner/Admin

Configuration#

Configuration YAML files below contain short bundled default excerpts, not full files. Message YAML is documented only in Messages & Language.

Validate YAML indentation before restarting the server.
config.yml short excerpt, not full file

Main runtime settings, license, modules, limits, storage and feature behavior.

Short YAML preview only. This block shows selected lines from config.yml. The generated file contains more options than this docs excerpt.
# ...
# Short documentation excerpt from config.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
license-key: "LICENSE"

server:
  id: "survival-1"

features:
  gui: true
  rename: true
  favorites: true
  recently-visited: true
  public-homes: true
  sharing: true
  team-homes: true
  private-vaults: true
  vouchers: true
  protection: true

language:
  default: en
  per-player: true
  supported:
    - en
    - tr
    - es
    - de
    - pt
    - fr

theme:
  primary: "<#7C3AED>"
  secondary: "<#EC4899>"
  error: "<#EF4444>"
  success: "<#22C55E>"

# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/config.yml to review every setting.
# ...
Top-level keys

license-key, server, features, language, theme, menus

Production handling

Back up this file, edit the generated copy under the plugin folder, then run the product reload command or restart for startup-level settings.

Messages & Language#

Translation and formatting guidance based on the product's bundled resources.

Message reload follows the product's reload command. Restart after jar, storage or license changes.

How to edit messages#

This product ships messages.yml. Edit the generated copy in the plugin folder, keep placeholders intact, then reload the plugin command or restart for startup-level changes.

Formatting#

<red>Error message</red>
&cLegacy color message
{player} {amount} {reason}
messages.yml short excerpt, not full file
Short YAML preview only. This block shows selected lines from messages.yml. The generated file contains more message keys than this docs excerpt.
# ...
# Short documentation excerpt from messages.yml.
# This is not the complete YAML file.
# Lines before and after this preview are omitted from the docs.
# ...
prefix: "<gray>[<gold>NexaHomes</gold>]</gray> "
missing-message: "<red>Missing message: <key></red>"

player-only: "<red>Only players can use this command.</red>"
no-permission: "<red>You do not have permission.</red>"
usage-home: "<yellow>Usage: <gold>/home [name|number]</gold> or <gold>/home lang [code]</gold></yellow>"
usage-sethome: "<yellow>Usage: <gold>/sethome <name></gold></yellow>"
usage-delhome: "<yellow>Usage: <gold>/delhome <name></gold></yellow>"
usage-renamehome: "<yellow>Usage: <gold>/renamehome <old> <new></gold></yellow>"
usage-homeinfo: "<yellow>Usage: <gold>/homeinfo <name></gold></yellow>"
usage-homefavorite: "<yellow>Usage: <gold>/homefavorite [name]</gold></yellow>"
usage-home-lang: "<yellow>Usage: <gold>/home lang [code]</gold>. Available: <gold><languages></gold></yellow>"
usage-homepublic: "<yellow>Usage: <gold>/homepublic [list]</gold>, <gold>/homepublic <home> <on|off></gold>, <gold>/homepublic whitelist <home> <add|remove|list> [player]</gold>, <gold>/homepublic favorite <player> <home></gold>, or <gold>/homepublic rate <player> <home> <1-5></gold></yellow>"
usage-homeshare: "<yellow>Usage: <gold>/homeshare <home> <player> [visit|edit|full] [30m|1h|7d]</gold></yellow>"
usage-homeshare-remove: "<yellow>Usage: <gold>/homeshare remove <home> <player></gold></yellow>"
usage-homevisit: "<yellow>Usage: <gold>/homevisit <player> <home></gold></yellow>"
usage-homereport: "<yellow>Usage: <gold>/homereport <player> <home> <reason></gold></yellow>"
usage-teamhome: "<yellow>Usage: <gold>/teamhome [list|<name>|set <name>|delete <name>]</gold></yellow>"
usage-setteamhome: "<yellow>Usage: <gold>/setteamhome <name></gold></yellow>"
usage-delteamhome: "<yellow>Usage: <gold>/delteamhome <name></gold></yellow>"
usage-admin: "<yellow>Usage: <gold>/nexahomes <reload|license|debug|hooks|view|tp|delete|restore|transfer|approvepublic|audit|migrate|vault></gold></yellow>"
usage-admin-view: "<yellow>Usage: <gold>/nexahomes view <player> [active|deleted]</gold></yellow>"
usage-admin-tp: "<yellow>Usage: <gold>/nexahomes tp <player> <home></gold></yellow>"
usage-admin-delete: "<yellow>Usage: <gold>/nexahomes delete <player> <home></gold></yellow>"
usage-admin-restore: "<yellow>Usage: <gold>/nexahomes restore <player> <home></gold></yellow>"
usage-admin-transfer: "<yellow>Usage: <gold>/nexahomes transfer <player> <home> <newOwner></gold></yellow>"
usage-admin-approvepublic: "<yellow>Usage: <gold>/nexahomes approvepublic <player> <home></gold></yellow>"
usage-admin-audit: "<yellow>Usage: <gold>/nexahomes audit [player] [limit]</gold></yellow>"
usage-admin-migrate: "<yellow>Usage: <gold>/nexahomes migrate <status|backup|restore latest [dry-run]|essentials [dry-run]|modernhomes [dry-run]|litehome [dry-run]|ultrahomes [dry-run]|yaml [dry-run]|database <SQLITE|MYSQL|MARIADB> [dry-run]></gold></yellow>"
usage-admin-vault: "<yellow>Usage: <gold>/nexahomes vault <player> <home></gold></yellow>"
usage-homevoucher: "<yellow>Usage: <gold>/homevoucher give <player> <extra_slot|temporary_slot|free_rename|public_listing|teleport_bypass|cooldown_bypass> <amount> [duration]</gold></yellow>"
usage-homevault: "<yellow>Usage: <gold>/homevault <home></gold> or <gold>/homevault <player> <home></gold></yellow>"

feature-not-ready: "<yellow>That feature is currently disabled or unavailable.</yellow>"
# ...
# More options continue in the generated plugin YAML file.
# Open plugins/<plugin-folder>/messages.yml to review every setting.
# ...

GUI / Menus#

GUI cards describe the actual menus available in this product build.

Each card shows the configured menu title, inventory size, item count and detected actions when those values exist.

Admin#

Admin home management menu for reviewing player homes and support/debug actions.

  • Configured title: NexaHomes Admin
  • Size: 45 slots
  • Configured items: 9
  • Actions: ADMIN_SEARCH, ADMIN_AUDIT, ADMIN_MIGRATION, ADMIN_DEBUG

Delete Confirm#

Deletion confirmation menu used before removing a saved home.

  • Configured title: Delete %home_name%?
  • Size: 27 slots
  • Configured items: 4
  • Actions: INFO, CONFIRM_DELETE, CANCEL_DELETE

Favorites#

Favorites menu for quickly opening homes the player marked as important.

  • Configured title: Favorite Homes
  • Size: 54 slots
  • Configured items: 3
  • Actions: HOME, CLOSE

Homes#

Main homes menu for browsing and teleporting to saved player homes.

  • Configured title: My Homes (%page%/%max_page%)
  • Size: 54 slots
  • Configured items: 12
  • Actions: HOME, SET_HOME, LOCKED, FAVORITES

Manage Home#

Single-home management menu for renaming, deleting, sharing or changing visibility.

  • Configured title: Manage %home_name%
  • Size: 36 slots
  • Configured items: 11
  • Actions: INFO, MANAGE_TELEPORT, MANAGE_RENAME, MANAGE_DESCRIPTION

Public Homes#

Public homes browser for visiting homes shared publicly by players.

  • Configured title: Public Homes (%page%/%max_page%) Search: %search%
  • Size: 54 slots
  • Configured items: 7
  • Actions: PUBLIC_HOME, PUBLIC_SEARCH, PUBLIC_CLEAR_SEARCH, PREVIOUS_PAGE

Recent Homes#

Recent homes browser for quickly returning to recently used destinations.

  • Configured title: Recently Visited
  • Size: 54 slots
  • Configured items: 3
  • Actions: HOME, CLOSE

Shared Homes#

Shared homes menu for destinations shared directly with the player.

  • Configured title: Shared With Me
  • Size: 54 slots
  • Configured items: 3
  • Actions: SHARED_HOME, CLOSE

Team Homes#

Team homes browser for destinations available through the team integration.

  • Configured title: %team_name% Homes (%page%/%max_page%)
  • Size: 54 slots
  • Configured items: 10
  • Actions: TEAM_HOME, SET_TEAM_HOME, INFO

Placeholders#

PlaceholderAPI examples available for this product.

Use the exact identifier shown here in scoreboards, chat formats and external display plugins.

Placeholder surface#

Identifier: nexahomes. The expansion covers home count, home limit, favorites, public homes, shared homes, last visited home and deleted home counters.

Usage notes#

  • Install PlaceholderAPI before using these values in scoreboards or chat formats.
  • Reload PlaceholderAPI expansions after plugin updates.
  • Keep placeholder identifiers lowercase exactly as shown unless the product uses a legacy mixed-case identifier.
PlaceholderAPI examples documented
PlaceholderExample outputDescription
%nexahomes_home_count%5Returns the player's saved home count.
%nexahomes_home_limit%10Returns the player's permission-based home limit.
%nexahomes_public_count%2Returns the player's public home count.
%nexahomes_last_visited%baseReturns the last visited home name.

Storage#

Storage docs explain YAML, SQLite, MySQL, MariaDB and backup expectations when supported.

Always back up before changing storage type or updating a production server.

Storage recommendation#

SQLite is suitable for one server. MySQL/MariaDB is recommended for networks or hosts that need centralized storage.

Backup checklist#

  • Stop the server before copying live flat files.
  • Export SQL databases before updates.
  • Keep plugin version and server version in backup notes.
  • Test migration on a copy first.

Integrations#

Each integration explains purpose, required/optional status, setup steps and troubleshooting.

Soft hooks load after the dependency is available through Bukkit's plugin manager.
Vault Optional hook

Purpose: Provides economy withdrawals, deposits, prices, banks or metadata through Vault.

Troubleshooting: If balances, rewards or banks do not work, confirm Vault has an active economy provider and that no economy plugin loads after this product.

  1. Install Vault and one compatible economy or permission provider.
  2. Restart the server and confirm Vault reports a provider in console.
  3. Enable prices, banks, rewards or currency features that depend on Vault.
  4. Test one deposit and one withdrawal with a non-op account.
PlaceholderAPI Optional hook

Purpose: Registers or consumes PlaceholderAPI values for scoreboards, formats and external displays.

Troubleshooting: If values stay blank, reload expansions and verify the identifier exactly matches the placeholder shown in this docs page.

  1. Install PlaceholderAPI or the listed placeholder provider.
  2. Install required expansions when the provider uses external expansions.
  3. Use the exact placeholder identifiers documented in this page.
  4. Reload the display plugin after changing scoreboard, tablist, menu or chat format files.
EssentialsX migration Optional hook

Purpose: Provides migration support for existing EssentialsX homes or user data.

Troubleshooting: If migration misses homes, check EssentialsX data format, offline UUID mode and whether the import ran on a copy of the correct userdata folder.

  1. Keep a backup of existing EssentialsX user data.
  2. Enable migration only on a staging copy first.
  3. Run the migration/import flow documented by the product.
  4. Check imported home names, worlds and coordinates before enabling it on production.
NexaTeams or team providers Optional hook

Purpose: Connects this product to another Nexa plugin so team, chat, combat, shop or vault state can be reused.

Troubleshooting: If the Nexa bridge does not react, confirm both plugin versions are compatible and that the shared module/hook is enabled on the same server.

  1. Install both Nexa plugins on the same server or network target.
  2. Confirm both products load successfully before testing the bridge.
  3. Enable the related hook or module in config when available.
  4. Test the shared workflow, such as team checks, chat metadata, combat restrictions, shop transactions or vault access.

Quick Start#

Create one home, verify teleport safety and confirm selector state.

Limits come from permissions/configuration, not GUI size.
SetRun /sethome base and confirm with /homeinfo base.
Use both pathsRun /home base, then open /homes.
Test safetyTest warmup, cooldown, movement cancellation and unsafe locations.

Personal, Public & Shared Homes#

Separate private travel from public discovery and collaboration.

Use visit access for collaboration; edit/full access belongs to trusted players.

Personal#

  1. Set/inspect with /sethome//homeinfo.
  2. Rename with /renamehome old new; remove with /delhome base.
  3. Test limit, duplicate and disabled-world responses.
  4. Reconnect and confirm persistence.

Public/shared#

  1. Publish with /homepublic base on.
  2. Share with /homeshare base Alex visit 1h.
  3. Visit with /homevisit Owner base.
  4. Revoke and verify denial.

Team Home Setup#

Connect team homes to membership, permissions, costs and relation rules.

Test owner, member and outsider; GUI visibility is not edit permission.
Team rollout sequence integration
  1. Enable team hook and create/edit/delete permissions.
  2. Create a test team and run /setteamhome.
  3. Test /teamhome as owner/member.
  4. Run /delteamhome, disband and verify cleanup.
  5. Test costs, cooldowns and relations.

Production Rollout#

Make teleports predictable across worlds, restarts and permission changes.

Back up home data and retest cancellation after warmup changes.

Go-live#

  • Set per-group limits with LuckPerms.
  • Define disabled worlds, unsafe blocks and warmups.
  • Test rename, delete, revoke and world cleanup.
  • Use audit/history for recovery.

Baseline#

teleport: warmup-seconds: 3 cancel-on-move: true homes: public-enabled: true shared-enabled: true deny-unsafe-location: true

Operational Reference#

Homes are easiest to operate when personal, public, shared and team access are tested separately.

Set limits through permissions first; a larger GUI page does not grant a player more home slots.

Personal homes#

  1. Run /sethome base at a safe location.
  2. Use /home or /homes to open the selector; /home base teleports directly.
  3. Use /homeinfo base to confirm world, coordinates and owner.
  4. Rename or remove with /renamehome old new and /delhome base.
  5. Test warmup, cooldown and protection behavior after a world change.

Public and shared homes#

  1. Publish a home with /homepublic base on.
  2. Use whitelist/favorite/rate operations only if those modules are enabled.
  3. Share with /homeshare base Alex visit 1h; use edit/full access only for trusted players.
  4. Let the visitor use /homevisit Owner base, then remove access when the collaboration ends.

Team home rollout#

Enable team integration, set team permissions and costs, then test /setteamhome, /teamhome and /delteamhome with an owner, member and outsider account.

Limit baseline#

features:
  public-homes: true
  sharing: true
  team-homes: true
  protection: true
storage:
  type: SQLITE
  table-prefix: nexahomes_

Common Setups#

Ready-to-follow scenarios reduce support tickets and make the product easier to configure.

Tune durations, limits, prices and permissions with the YAML files above.

SMP Homes Setup#

Use conservative defaults, SQLite or simple file storage, readable messages and relaxed limits for community servers.

Ranked Home Limits Setup#

Map permissions to progression tiers, test upgrades, then document reset or season migration behavior.

Public Homes Setup#

Apply this setup by editing the related config files, assigning permissions and testing the full player workflow.

Team Homes Setup#

Set team limits, invite rules, home behavior, bank or vault permissions and relation rules before opening the server.

Network Storage Setup#

Use production SQL, unique server IDs, shared sync secrets and a controlled Redis or proxy transport.

Troubleshooting#

Start with console logs, config diffs, plugin version and reproduction steps.

The first error in console is usually more useful than repeated follow-up errors.
Home teleport is unsafe issue

Check safe-location scanning, blocked materials, world restrictions and whether another teleport plugin changes the destination after NexaHomes validates it.

Warmup cancels unexpectedly issue

Review cancel-on-move, cancel-on-damage and combat checks. Test with bypass permissions removed so the player follows the normal warmup path.

Players exceed home limits issue

Verify LuckPerms inheritance, limit permission weights and whether admin/bypass permissions are accidentally assigned to the player.

Public homes do not show issue

Confirm the home is marked public, visibility filters allow the world/category and storage has saved the public-home index.

Database connection failed issue

Verify host, port, database name, credentials, firewall access and the storage type in the generated YAML file.

FAQ#

Short answers for common buyer and staff questions.

Does NexaHomes support Folia?#

No Folia claim is made for this product page. Run it on the server target listed in Overview.

Does it support old Minecraft versions?#

This page targets Paper 1.21 with Java 21. Legacy 1.8 support is not part of this docs page.

Does it require MySQL?#

SQLite is suitable for one server. MySQL/MariaDB is recommended for networks or hosts that need centralized storage.

Can I disable modules?#

This product has a small runtime surface; use the listed YAML files and commands rather than a module system.

Can I edit all messages?#

Yes. Edit messages.yml and reload or restart according to the setting changed.

Does it support PlaceholderAPI?#

Yes. The documented identifier and examples are listed in the Placeholders section.

Changelog#

Product release notes grouped by version. Major public changes are written for buyers and server owners, not as raw commit logs.

v1.0.0#

Changed
  • Version documented from plugin metadata.

Support#

Send enough information to reproduce the issue.

Join Discorddiscord.gg/fANhQcyA7XInclude logs, config snippets and exact steps. Screenshots alone are not enough for config or database issues.

Before asking for support#

  • Test on the latest available plugin version.
  • Check server version and Java version.
  • Temporarily remove unrelated plugins when debugging conflicts.
  • Attach changed YAML files when config is involved.
Plugin: NexaHomes
Plugin version:
Server version:
Java version:
Server software:
Database type:
Installed hooks:
Error log:
Steps to reproduce:
Expected behavior:
Screenshots/video: