bhomes/README.md
2026-06-22 02:58:11 +02:00

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/`