
Team-HomeGUI Plugin
A lightweight team system with team homes, private team chat, personal homes, and a clean home GUI
Team HomeGUI Plugin
A lightweight team system with team homes, private team chat, personal homes, and a clean home GUI for Paper 1.21+
Create teams, set shared team homes, manage private team chat, and let players use personal homes through a simple GUI.
📖 Table of Contents
- ✨ Features
- 📦 Requirements
- 🚀 Installation
- ⌨️ Commands & Permissions
- 🔧 Configuration
- 🧩 PlaceholderAPI Integration
- 🔍 Troubleshooting
- ❓ FAQ
- 📄 Credits
✨ Features
👥 Team System
Create and manage player teams directly in-game.
| Feature | Description |
|---|---|
| Team creation | Players create one team with validated name |
| Invitations | Owners and permitted members can invite |
| Join flow | Accept or deny pending invites |
| Roles | Owner, Admin, and Member roles |
| Team list | Browse existing teams with pagination |
| Team info | View owner, color, settings, member count |
| Member list | View all members with role labels |
🏠 Team Homes
Teams can set a shared home location for all members.
| Command | Description |
|---|---|
/team sethome | Set current location as team home |
/team home | Teleport to team home |
⚠️ Fixed in 1.0.1: Paper 1.21.11 API compatibility for GUI items.
✔️ New in 1.0.3:
- Disabled world check - teleport blocked in configured worlds
- Warmup cancellation on death/disconnect
- Friendly fire toggle between team members
🏡 Personal Homes + GUI
Players can create personal homes and open a GUI menu.
| Feature | Description |
|---|---|
| Multiple homes | Configurable default limit |
| Permission limits | Grant 3, 4, or 5 homes with permissions |
| GUI menu | /home opens clickable home menu |
| Named homes | /sethome <name>, /home <name>, /delhome <name> |
| Safe names | Letters, numbers, underscores only (1-16 chars) |
| Cooldown | Configurable teleport cooldown |
| Economy | Optional Vault integration for costs |
✔️ New in 1.0.3:
- Improved GUI appearance with black beds/banners
- Sethome buttons for homes without permission (shows error)
- Tab completion suggests default home names
💬 Team Chat
Communicate privately with your team.
| Command | Description |
|---|---|
/team msg <message> | Send private team message |
/team chat enable | Enable persistent team chat mode |
/team chat disable | Return to global chat |
Global chat can show team prefix via configured format.
🎨 Team Customization
Team owners can customize display settings.
| Setting | Command |
|---|---|
| Display name | /team settings name <new-name> |
| Team color | /team settings color <color> |
| Member invites | /team settings members-can-invite <on|off> |
| Promote member | /team settings promote <player> |
| Demote admin | /team settings demote <player> |
| Transfer ownership | /team settings transfer <player> |
✔️ New in 1.0.1: GUI rows, filler material, and sound toggles configurable.
✔️ New in 1.0.3:
- Economy integration - optional costs for team creation and home operations
- Enhanced team name validation with offensive word filtering
- Cannot promote/demote/transfer to self
🛠️ Admin Tools
Manage teams and admin access in-game.
| Feature | Command | Permission |
|---|---|---|
| Create admin team | /team admin create <password> | teamplugin.admin |
| Add to admin team | /team admin add <player> | teamplugin.admin |
| Ban from admin | /team admin ban <player> | teamplugin.admin |
| Unban from admin | /team admin unban <player> | teamplugin.admin |
| Manage a team | /team admin manage <teamId> | teamplugin.admin |
| Remove a team | /team admin remove <teamId> | teamplugin.admin |
| Edit team settings | /team admin settings <teamId> <option> [value] | teamplugin.admin |
📦 Requirements
| Component | Version | Notes |
|---|---|---|
| Java | 21+ | Required |
| Paper | 1.21+ | Required |
| Vault | Optional | Enables economy integration |
| PlaceholderAPI | Optional | Enables placeholders |
| DiscordSRV | Optional | Chat compatibility |
Spigot/Folia support not guaranteed. Built for Paper API 1.21+.
🚀 Installation
- Download the
.jarfrom Modrinth - Place it in
plugins/ - Start the server
- Edit configs
- Restart server
Generated files:
| File | Purpose |
|---|---|
team-config.yml | Team messages, chat formats, admin settings |
home-config.yml | Home limits, cooldown, GUI settings |
teams.yml | Runtime team data |
homes.yml | Runtime personal home data |
⚠️ Avoid
/reload. Restart server fully after updates.
⌨️ Commands
Player Commands
| Command | Description |
|---|---|
/team | Show help menu |
/team create <name> | Create new team |
/team invite <player> | Invite player |
/team invite accept | Accept pending invite |
/team invite deny | Deny pending invite |
/team leave | Leave current team |
/team list [page] | List teams |
/team info [team] | Show team info |
/team members [team] | Show members |
/team msg <message> | Send team message |
/team chat <enable|disable> | Toggle team chat |
/team sethome | Set team home |
/team home | Teleport to team home |
/team menu | Open home GUI |
/team color <color> | Change team color |
/team settings | Show settings |
/team settings name <name> | Rename team |
/team settings color <color> | Change color |
/team settings members-can-invite <on|off> | Toggle invites |
/team settings promote <player> | Promote to admin |
/team settings demote <player> | Demote to member |
/team settings transfer <player> | Transfer ownership |
/team kick <player> | Kick member |
Alias: /t
Personal Home Commands
| Command | Description |
|---|---|
/home | Open home GUI |
/home <name> | Teleport to named home |
/sethome <name> | Create/update named home |
/delhome <name> | Delete named home |
🔐 Permissions
| Permission | Description | Default |
|---|---|---|
teamplugin.player | Basic player access | true |
teamplugin.admin | Admin commands | op |
teamplugin.homes.3 | Up to 3 homes | false |
teamplugin.homes.4 | Up to 4 homes | false |
teamplugin.homes.5 | Up to 5 homes | false |
teamplugin.home.nocooldown | Bypass cooldown | op |
Home limit priority:
teamplugin.homes.5 > teamplugin.homes.4 > teamplugin.homes.3 > default-max-homes
🔧 Configuration
home-config.yml
default-max-homes: 2
gui:
title: "&0Home &8- &0Menu"
rows: 5
filler-material: "GRAY_STAINED_GLASS_PANE"
teleport:
cooldown: 3
warmup: 0
freeze-on-warmup: true
cancel-on-move: true
features:
personal-homes: true
team-homes: true
sounds: true
disabled-worlds:
- "world_nether"
- "world_the_end"
economy:
enabled: false
sethome-cost: 0
teleport-cost: 0
create-cost: 0
team-config.yml
admin:
password: "admin123" # ⚠️ SECURITY WARNING: Change this immediately!
team-name: "Admin"
settings:
max-team-name-length: 16
min-team-name-length: 3
max-members: 20
global-format: "[{team}&r] {player}: {message}"
chat-format: "&8[TC]&r [{team}&r] &7{player}&r: {message}"
invite-timeout-seconds: 60
features:
team-chat: true
global-chat-prefix: true
team-homes: true
sounds: true
damage:
disable-pvp-between-members: false
disable-pvp-between-allies: false
creation:
require-password: false
default-invite-only: true
default-members-can-invite: false
economy:
enabled: false
create-cost: 0
🧩 PlaceholderAPI Integration
Optional integration exposes team-related placeholders.
| Placeholder | Description |
|---|---|
%team_name% | Team display name |
%team_colored_name% | Team name with color codes |
%team_color% | Team color code |
%team_role% | Owner/Admin/Member |
%team_count% | Number of members |
🔍 Troubleshooting
GUI not opening on /home
- Fixed in 1.0.1 — Paper 1.21.11 API change for
setItemMeta() - Update to latest plugin version
- Check console for errors
Players cannot use admin commands
- Ensure permission is
teamplugin.admin - Check permission plugin is working
/team home works but no cooldown
- Check
teleport.cooldowninhome-config.yml - Players with
teamplugin.home.nocooldownbypass it
Cannot create more than 2 homes
Give permissions:
teamplugin.homes.3
teamplugin.homes.4
teamplugin.homes.5
Home names with symbols don't work
- Intentional — only letters, numbers, underscores allowed (1-16 chars)
Chat format conflicts with other plugin
- Adjust plugin order or chat plugin configuration
- Team HomeGUI listens to Paper chat events
Plugin doesn't load after config edit
- Check YAML indentation (spaces, not tabs)
- Validate YAML syntax online
- Restart server after fixing
❓ FAQ
Does this support Paper 1.21+?
Yes. Targets Paper API 1.21+ and Java 21+.
Does it support DiscordSRV?
DiscordSRV is soft dependency. Team chat stays private; global chat can show prefixes.
Can members invite players?
Yes, if owner enables it:
/team settings members-can-invite on
Can players have multiple homes?
Yes. Default in default-max-homes; higher limits via permissions.
Can team owners rename their team?
Yes:
/team settings name <new-name>
Is the plugin open source?
Yes. Apache License 2.0.
📄 Changelog
Version 1.0.6
Major Code Quality Refactoring:
- Architecture Improvements - Eliminated God Class pattern in TeamCommand.java
- New Service Classes - Created HomeService, CooldownManager, TeamValidator for better separation of concerns
- Handler Refactoring - Moved chat, color, and list logic from TeamCommand to dedicated handlers
- Code Duplication Elimination - Unified cooldown and home management logic
- Type Safety - Created GUISlots enum to eliminate magic numbers
- Maintainability - Improved code structure following SOLID principles
- Performance - Better memory management and cleaner code organization
New Features:
- Team SetHome Command - Team owners can now set shared team homes with
/team sethome - Team Owner Disband - Team owners can disband teams by using
/team leave - Enhanced PlaceholderAPI - Added comprehensive placeholders for teams and homes
- GUI Color Improvements - Ready homes now show as cyan, unset homes as gray
Bug Fixes:
- Fixed Message System - All placeholders now work correctly with proper config separation
- Fixed Personal Home Messages -
/sethomenow shows correct personal home messages instead of team messages - Fixed Config Issues - Added missing messages like "owner-cannot-leave" and "team-sethome-success"
- Fixed Placeholder Conflicts - Personal homes use home-config, team messages use team-config
Config Changes:
- Default Warmup Time - Set to 5 seconds instead of 0 for better teleport experience
- GUI Visual Distinction - Clear color coding: cyan (ready), gray (unset), black (no permission)
Version 1.0.5
Bug Fixes:
- Fixed tab completion for /home and /sethome - now only shows actual homes instead of default home1,2,3
- Fixed EssentialX compatibility - removed blocking check that prevented /sethome
from working - Fixed missing "admin-help-list" message that caused errors in admin command help
- Changed plugin prefix from "[Teams]" to "[Team-Home]" for better branding
Version 1.0.4
Bug Fixes:
- Fixed command routing - created separate HomeCommand for home/sethome/delhome
- Fixed /sethome command now correctly sets personal home instead of team home
- Fixed /team command now correctly shows team help instead of opening home GUI
- Fixed tab completion for /home and /sethome now shows home names instead of team commands
- Fixed MenuListener banner color check (WHITE_BANNER vs BLACK_BANNER) for team home teleport
Version 1.0.3
New Features:
- Economy integration with Vault - optional costs for team creation and home operations
- Friendly fire toggle between team members
- Disabled world check for teleportation
- Warmup cancellation on player death/disconnect
- Enhanced team name validation with offensive word filtering
- Improved tab completion for home commands
- GUI appearance improvements with black beds/banners
Improvements:
- Cannot promote/demote/transfer to self
- Sethome buttons for homes without permission (shows error)
- Strong security warning for default admin password
- Better code organization and reduced duplication
Bug Fixes:
- Fixed handleDemote logic to check isAdmin() instead of getMembers()
- Removed dead code (isTakenName method)
- Removed unused RESERVED_NAMES constant
Version 1.0.2
Bug Fixes:
- Fixed Paper 1.21.11 API compatibility for GUI items
- Improved setItemMeta() usage
Version 1.0.1
New Features:
- GUI rows, filler material, and sound toggles configurable
- Economy messages in configuration files
Bug Fixes:
- Fixed GUI not opening on /home command
📄 Credits
Author: Duong2012G
License: Apache 2.0
Modrinth: /plugins/team-homegui-plugin
Open source — contributions welcome.
