Описание
# Guild Plugin
A feature-complete Minecraft **guild / faction** system — economy, relations, leveling, full GUI, modular SDK, void-world arenas, and fixed-map guild war. Free and open-source. Supports **Spigot, Paper, Purpur, and Folia**.
## Highlights
- **Guild management** — create, invite, kick, promote/demote, applications, home teleport
- **Economy** — guild bank (deposit / withdraw / transfer) via Vault
- **Relations** — ally, enemy, neutral, war, truce (with request flow)
- **Leveling** — configurable levels, costs, and member caps
- **Full GUI** — inventory menus for nearly every action; Bedrock form support when Geyser + Cumulus are available
- **Worlds & Guild War** — void arenas, wand selection, `.gws` presets, challenge → signup → fight → teardown (`/guildworld`, `/guildwar`)
- **Modular SDK** — hot-load modules at runtime (`/guildmodule`), EventBus, ServiceContainer, CustomGUI
- **Multi-language** — Chinese, English, and 20+ other languages
- **Async DB** — HikariCP with SQLite or MySQL
> Guild War is **fixed-map team PVP**, not claim/territory war, and is separate from diplomatic relation type `war`.
## Requirements
| | |
|---|---|
| Minecraft | **1.20.1+** |
| Java | **17+** |
| Soft depends | Vault (economy), PlaceholderAPI (placeholders), Geyser-Spigot / ImagoCore (optional GUI extras) |
| Software | Version |
|:--------:|:-------:|
| Spigot | 1.20.1+ |
| Paper | 1.20.1+ |
| Purpur | 1.20.1+ |
| Folia | 1.20.1+ (world create/load gated to supported Folia builds) |
## Installation
1. Drop the JAR into `plugins/`
2. Start the server (configs generate automatically)
3. Edit `plugins/GuildPlugin/config.yml` as needed
4. Run `/guildadmin reload` (or restart)
When upgrading: back up data first. Prefer regenerating language files so new message keys appear correctly.
## Commands
| Command | Alias | Description |
|:-------:|:-----:|:------------|
| `/guild` | `/g` | Player guild GUI & commands |
| `/guildadmin` | `/ga` | Admin panel |
| `/guildmodule` | `/gm` | Hot-load / unload modules |
| `/guildworld` | `/gworld` | Void worlds, presets, recovery |
| `/guildwar` | `/gwar` | Fixed-map guild war |
### Guild War (quick flow)
```text
/guildwar challenge [--preset] [--mode first|timed|survive]
/guildwar accept
/guildwar join
/guildwar ready # both officers → start early
```
Victory modes: **first** (first to N kills), **timed** (score by time), **survive** (last team standing).
## PlaceholderAPI (common)
| Placeholder | Description |
|:------------|:------------|
| `%guild_name%` | Guild name |
| `%guild_tag%` | Guild tag |
| `%guild_membercount%` | Member count |
| `%guild_maxmembers%` | Max members |
| `%guild_level%` | Guild level |
| `%guild_balance%` | Balance (2 decimals) |
| `%guild_frozen%` | Status |
| `%guild_role%` | Player role |
| `%guild_hasguild%` | Has guild (Yes/No) |
| `%guild_isleader%` | Is leader |
| `%guild_caninvite%` / `%guild_cankick%` / … | Permission checks |
Full list: project wiki → PlaceholderAPI reference.
## Links
- [GitHub](https://github.com/chenasyd/-GuildPlugin)
- [Issues](https://github.com/chenasyd/-GuildPlugin/issues)
- Docs: GuildWorld / GuildWar / SDK Developer Guide (in the repository `Wiki/`)
## License
GNU GPL v3.0