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,
.gwspresets, 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
- Drop the JAR into
plugins/ - Start the server (configs generate automatically)
- Edit
plugins/GuildPlugin/config.ymlas needed - 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)
/guildwar challenge <guild> [--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
License
GNU GPL v3.0
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 |
- This release (v1.6.6) includes the following changes since the previous stable release (v1.6.5):**
- All updates from
1.6.6-snapshot.1through1.6.6-snapshot.5 - Additional updates after
1.6.6-snapshot.5: - Added guild leadership transfer feature
- Removed online check for kicking; offline members can now be kicked
1. Added guild warehouse, expanding with guild level upgrades (
/guild warehouse)2. Added automatic database backup functionality
3. Added built-in module for simple activity tracking
4. Refactored the plugin's 5 example modules
5. Enhanced the quest module: fixed task issues and added a guild tree for storing quest experience
6. Suppressed non-essential console output to reduce log spam
7. Refactored plugin core:
- Hot reload now covers all configurable items
- Fixed placeholder issues and optimized placeholder performance
- Async and caching improvements
9. Updated plugin documentation
## Other Changes
1. Removed Arabic language support
- Update Notes:**
guild.db and guild.db-shm (guild.db-wal is optional — if deleted, it will be regenerated on startup without affecting usage). This ensures all configurations are freshly generated.- Updates:**
2. Added world management system, allowing arena creation (not available on some Folia versions)
3. Added basic guild war functionality, allowing guild wars to be created
4. Removed teleport restrictions on Folia servers
- Update Notes:**
lang folder and config.yml configuration, then restart the server to generate new language files and configuration before making any modifications.- Updates:**
- Enhanced SDK support for module GUI graphical extensions, including Bedrock form support for module-integrated GUIs (existing over-cap guilds are unaffected).
- Fixes:**
- Fixed an issue where guilds could still accept new member join requests even after reaching the member capacity limit.
- Complete bedrock-test form keys and 313 bedrock-* GUI keys across 27 languages (31 YAML sections)
- Remove duplicate keys in economy, application-mgmt, economy-management, and relation-management sections
- Player type detection (Java / Bedrock) with Geyser reflection
- Cumulus form forwarding via BungeeCord proxy
- Cross-server message routing with queue buffering
- No hard dependency on Geyser — automatic fallback
- Core Image-Based GUI System**
## Bug Fixes (since v1.6.5)
- Fix #36: GUI using global scheduler on Folia/Canvas
- Fix missing keys in core and GUI modules; reuse existing keys where possible
## Update Summary
- Core Image-Based GUI System** — Guild Plugin now integrates with the standalone ImagoCore plugin, enabling image-based titles and layouts
- ImagoCore Integration** — ImagoCoreHook serves as a soft-dependency bridge; ImagoGuiConfig manages GUI type-to-background bindings; GuiImageLayoutConfig supports custom multi-slot layouts
- Bedrock Edition Full Adaptation** — PlayerConnectionService provides a unified facade with dual detection (BungeeClientAPI + GeyserAPI) to accurately identify Bedrock players. Cumulus form transport is implemented in dual-mode (local Geyser and BungeeCord proxy), allowing Bedrock players behind a proxy to also enjoy native form-based GUI experiences
- Properly reload language files and apply immediately
- Add multi-language registerGUIButton overloads to GuildPluginAPI
- Refactor button labels to use i18n keys
- Core API: GuildPluginAPI.java — added registerGUIButton overload supporting displayNameKey and loreKeys
⚠️ Update notice: Delete all config files except guild.db, guild.db-shm, and guild.db-wal. This requires reconfiguring config.yml and database.yml.
- Fixed invitee name display in invitation notifications
- Fixed force delete guild in guild management GUI
- Added guild chat feature
- Added configurable teleport delay for guild home
- Fixed /g applications subcommand
⚠️ Update notice: Delete all config files except guild.db, guild.db-shm, and guild.db-wal. This requires reconfiguring config.yml and database.yml.
- Completely refactored language structure: separated GUI, command, and module messages
- Added more languages: German, French, Spanish, Japanese, Korean, Traditional Chinese, Malay, Italian, Dutch, Swedish, Turkish, Vietnamese, Thai, Arabic, Czech, Portuguese, Ukrainian, Romanian, Hungarian, Danish, Finnish, Norwegian (plus custom language file support)
- Added 3 new APIs to the SDK (see Wiki for details)
- Expanded module marketplace with custom download source support
- Fixed command logic and added missing command key values.
⚠️ Update notice: Delete all config files except guild.db, guild.db-shm, and guild.db-wal. This requires reconfiguring config.yml and database.yml.
- Translated plugin config files to English
- Fixed return navigation tracking in ConfirmDeleteGuildGUI
- Removed redundant closeInventory in admin GUI; replaced hardcoded text with i18n
- Replaced hardcoded text in Guild Logs GUI with i18n
Note: This update is optional — no critical fixes or major new features.
- Fixed dual-table write logic for deposit records
- Added multi-language support for SystemSettingsGUI status
- Improved guild funds GUI with dynamic source return
- Added guild economy management via GUI
- Added skin/head support to GuildDetailGUI
- Added admin force transfer owner function; adjusted admin GUI layout
- Completed missing multi-language keys
- Fixed force teleport errors in guild teleport command; unified teleport logic
- Completed missing multi-language keys
- Officially applied member contribution data table
- Added guild funds GUI and balance query
- Fine-tuned existing GUI layouts
- Fixed navigation target when returning from log GUI
- Fixed MySQL table creation errors
- 1. Added a GUI for regular guild members to fix issues preventing members from performing guild teleport and leave guild operations**
- 2. Fixed thread scheduling issues when players leave the guild**
- 3. Fixed skin/head display in the guild member GUI**
- 1. Fixed errors occurring during module loading**
- 2. Fixed download failures caused by duplicate module names**
- 3. Fixed colored log message output**
- 4. Added more necessary notifications/hints**
- 1. Updated cloud module repository – added ability to view, download, enable, and disable modules. New command:
/guildmodule cloud**
- 2. Added plugin update checker – use
/guildadmin updateto check for new versions and update**
- 3. Set plugin output language to English for better internationalization**
- 4. Fixed abnormal plugin output**
- New GuildInvestmentService for investment records
- New member management API (add/remove/role change)
- New economy event dispatch (deposit/withdraw notifications)
- New role change event and placeholder extensions
- Added investedBalance field to MemberData
- Added API test module and Maven build profile
## Version Upgrade Notes
Before using this version, you **must delete** the following old files; otherwise, configuration loading may encounter issues:
config.ymlmessages_br.ymlmessages_en.ymlmessages_pl.ymlmessages_zh.yml
## New Features
- Guild Level Upgrade Economy Configuration**: Added configurable economy requirements for guild level upgrades in
config.yml.
- No Economy Plugin Support**: Allows the guild plugin to function normally even when no economy plugin is enabled.
## Improvements & Fixes
- Tag Color Scope Restriction**: Removed square brackets and appended a reset code at the end, finally escaped by
ColorUtils.colorize(). Synchronized updates were made to the Guild Info GUI andPlaceholderUtils.
- GUI Layout Unification & Code Optimization**: Adjusted the layout of the following GUI classes to unify layout logic and optimize code readability:
ApplicationManagementGUICreateRelationGUIEconomyManagementGUIGuildInfoGUIGuildListManagementGUIGuildRelationsGUIGuildSettingsGUIInviteMemberGUIKickMemberGUIPromoteMemberGUIRelationManagementGUI
- Language File Completion**: Completed missing key values in the following language files:
messages_br.ymlmessages_en.ymlmessages_pl.ymlmessages_zh.yml
## Version Notes
This version includes all updates from v1.4.7, v1.4.8, and v1.4.9. It is recommended that all users upgrade to this version.
- Fixed internal variable display issues. Everyone should update to this version – please delete old language configs; new ones will be auto-generated on startup/reload.**
- For custom language configs, ensure:**
2. **Add any missing keys by comparing with the new version**
- If needed, use translation tools to convert
messages_zh.ymlinto your local language config.**
It is recommended to delete the language file and reload the plugin to regenerate the fixed language config. If using your own custom language config, please review the detailed fixes for the corresponding version on GitHub and apply them manually. You can also submit an issue with your language config file attached, and we will add core support and maintenance for that language.