102 lines
3.7 KiB
Markdown
102 lines
3.7 KiB
Markdown
# BHomes
|
|
|
|
A simple home-management plugin for Paper servers, forked from [SiDaHomes](https://github.com/SiDaStuff/sidahomes).
|
|
|
|
BHomes provides persistent SQLite storage, configurable limits, teleport cooldown/delay handling, optional LuckPerms-based group limits, and a full TPA system with blocked player management.
|
|
|
|
## About
|
|
|
|
BHomes is designed for servers that want reliable player homes without unnecessary complexity. it supports modern paper command registration, and configurable limits. (Now with foila support!)
|
|
|
|
## Requirements
|
|
|
|
- Server: Paper 1.21+
|
|
- Java: 21
|
|
- Optional: LuckPerms (for group-based home limits)
|
|
|
|
## Installation
|
|
|
|
1. Build or download the plugin JAR.
|
|
2. Place the JAR in your server `plugins/` folder.
|
|
3. Start or restart the server.
|
|
4. Edit `plugins/BHomes/config.yml` as needed.
|
|
5. Use `/bhomesreload` after config changes.
|
|
|
|
## Commands
|
|
|
|
### Player
|
|
|
|
| Command | Description |
|
|
|---|---|
|
|
| `/sethome <name>` | Set a home at your current location |
|
|
| `/home` | List your homes |
|
|
| `/home <name>` | Teleport to one of your homes |
|
|
| `/delhome <name>` | Delete one of your homes |
|
|
| `/tpa <player>` | Request to teleport to a player |
|
|
| `/tpahere <player>` | Request a player to teleport to you |
|
|
| `/tpablock <player>` | Toggle blocking TPA requests from a player |
|
|
| `/tpaaccept [player]` | Accept a pending TPA request |
|
|
| `/tpaccept [player]` | Alias for `/tpaaccept` |
|
|
| `/tpadeny [player]` | Deny a pending TPA request |
|
|
|
|
### Admin
|
|
|
|
| Command | Description |
|
|
|---|---|
|
|
| `/homeadmin list <player>` | List a player's homes |
|
|
| `/homeadmin delete <player> <home>` | Delete a player's home |
|
|
| `/homeadmin teleport <player> <home>` | Teleport to a player's home |
|
|
| `/homeadmin export` | Export homes data to CSV |
|
|
| `/homeadmin import` | Import homes data from CSV |
|
|
| `/bhomesreload` | Reload plugin configuration |
|
|
|
|
## Permissions
|
|
|
|
| Permission | Default | Description |
|
|
|---|---|---|
|
|
| `bhomes.sethome` | `true` | Set homes |
|
|
| `bhomes.home` | `true` | Use `/home` |
|
|
| `bhomes.delhome` | `true` | Delete own homes |
|
|
| `bhomes.tpa` | `true` | Use TPA commands |
|
|
| `bhomes.bypass.cooldown` | `op` | Bypass teleport cooldown |
|
|
| `bhomes.bypass.delay` | `op` | Bypass teleport delay |
|
|
| `bhomes.admin.list` | `op` | List player homes |
|
|
| `bhomes.admin.delete` | `op` | Delete any player's home |
|
|
| `bhomes.admin.teleport` | `op` | Teleport to any player's home |
|
|
| `bhomes.admin.reload` | `op` | Reload config |
|
|
| `bhomes.admin.import` | `op` | Import homes data |
|
|
| `bhomes.admin.export` | `op` | Export homes data |
|
|
| `bhomes.admin.*` | `op` | All admin permissions |
|
|
|
|
## Configuration
|
|
|
|
Main settings are in `plugins/BHomes/config.yml`:
|
|
|
|
- `database`: storage backend and file name
|
|
- `limits`: default and group-based home limits
|
|
- `cooldown`: teleport cooldown settings
|
|
- `teleport`: delay and movement-cancel behavior
|
|
- `tpa`: TPA request timeout configuration
|
|
- `messages`: MiniMessage-formatted plugin messages (includes TPA messages with clickable accept/deny buttons)
|
|
|
|
## TPA Features
|
|
|
|
- **`/tpa <player>`** — Send a teleport request to a player
|
|
- **`/tpahere <player>`** — Ask a player to teleport to you
|
|
- **`/tpablock <player>`** — Toggle blocking TPA requests from a player
|
|
- **`/tpaaccept [player]`** — Accept a pending request (with optional player name to accept a specific one)
|
|
- **`/tpadeny [player]`** — Deny a pending request
|
|
- **Clickable accept/deny buttons** — Received requests show green `[ACCEPT]` and red `[DENY]` buttons in chat
|
|
- **Request timeout** — Configurable expiry via `tpa.timeout` in config.yml
|
|
- **Blocked players** — Stored in the same SQLite database, persisted across restarts
|
|
- **Folia-compatible** — Uses player-based schedulers for teleport delays
|
|
|
|
## Build From Source
|
|
|
|
```bash
|
|
./gradlew build
|
|
```
|
|
|
|
Compiled JAR output:
|
|
|
|
`build/libs/`
|