Description
🍩 DonutHome
A feature-rich, GUI-based home plugin for Paper & Folia servers.
Developed by SqidgeonStudios — a clean, polished home management experience with a beautiful chest GUI, teleport countdowns, WorldGuard integration, MySQL support, and fully configurable messages and sounds.
✨ Features
- Chest GUI — Players manage all their homes from a sleek inventory interface using bed icons
- Multiple Homes — Support for up to 5 home slots by default, expandable via permissions (e.g. LuckPerms)
- Teleport Countdown — Configurable delay before teleporting, with cancel-on-move support
- Home Naming — Name your homes anything you like (configurable min/max character length)
- Rename via Chat or Sign GUI — Rename homes by typing in chat or through an optional sign-based GUI
- Confirm Delete GUI — A confirmation screen prevents accidental home deletions
- WorldGuard Integration — Block players from setting homes in specific WorldGuard regions
- World Blacklist — Prevent homes from being set in specific worlds entirely
- MySQL & SQLite Support — Choose your storage backend; easily switch with config
- Fully Configurable Messages — Every message supports chat, actionbar, title, and subtitle delivery
- Configurable Sounds — Every action has its own sound, volume, and pitch
- bStats Metrics — Anonymous usage statistics to help the developer improve the plugin
- Folia Support — Fully compatible with Folia for high-performance multi-threaded servers
- Admin Tools — Admins can view, teleport to, and delete any player's homes
📋 Commands
| Command | Alias | Description |
|---|---|---|
/home [name] |
/homes |
Open the home GUI, or teleport directly to a named home |
/sethome [name] |
— | Set a home at your current location |
/delhome [name] |
— | Delete one of your homes |
/renamehome <home> <new-name> |
— | Rename an existing home |
/home-admin |
— | Admin command to manage any player's homes |
Admin Subcommands (/home-admin)
| Subcommand | Description |
|---|---|
/home-admin visit <player> <home> |
Teleport to another player's home |
/home-admin delete <player> <home> |
Delete another player's home |
🔑 Permissions
| Permission | Default | Description |
|---|---|---|
donuthome.use |
Everyone | Allows use of all standard home commands |
donuthome.admin |
OP | Access to /home-admin commands |
donuthome.bypass.world |
Nobody | Bypass the world blacklist when setting homes |
donuthome.bypass.world.guard |
Nobody | Bypass WorldGuard region restrictions when setting homes |
Home Slot Limits — Additional home slots beyond the default can be granted via permission nodes, making DonutHome fully compatible with rank-based home limits through LuckPerms or any other permission plugin.
⚙️ Configuration
DonutHome ships with several configuration files, all generated automatically on first run:
config.yml
- Block specific worlds from allowing
/sethome - Block specific WorldGuard regions from allowing
/sethome - Toggle the sign-based rename GUI
- Set home name length limits (min/max characters)
messages.yml
Every message in the plugin is fully customisable. Each message supports multiple delivery channels — mix and match as you like:
chat— Standard chat messageactionbar— Above the hotbartitle— Large screen titlesubtitle— Below the main title
Supports standard colour codes (&) and hex colours (&#RRGGBB). Available placeholders include %player%, %home-name%, %new-name%, %countdown%, %min%, %max%, and %link%.
gui.yml
Customise the home GUI appearance — title, row count, item icons, lore text, and the teleport countdown duration displayed in the GUI.
sounds.yml
Configure the sound, volume, and pitch for every in-game action:
- Home click, no permission, successful set, rename, delete, teleport
- Countdown tick and teleport cancel
mysql.yml
Switch from the default SQLite storage to a MySQL database. Simply set enable: true and fill in your connection details.
homesettings.yml
Controls the slot positions of home icons and manage icons within the GUI, as well as the total number of home and manage slots shown.
🔌 Integrations
| Integration | Notes |
|---|---|
| WorldGuard | Block /sethome in protected regions |
| LuckPerms | Grant extra home slots via permission nodes |
| Folia | Full compatibility with threaded region scheduling |
| bStats | Anonymous metrics (can be disabled in bStats config) |
📦 Installation
- Download
DonutHome.jarand place it in your server's/pluginsfolder - Restart your server
- Configure the files in
/plugins/DonutHome/to your liking - Use
/home-admin reloadto apply config changes without restarting
Requirements:
- Paper 1.21+ (or Folia 1.21+)
- Java 17+
- WorldGuard (optional, for region blocking)
🐛 Support & Feedback
Found a bug or have a feature request? Reach out to SqidgeonStudios via our Discord or open an issue on our project page.
Made with ❤️ by SqidgeonStudios




