SagaGuild - Your Ultimate Guild Solution
Hello everyone! We proudly present SagaGuild, a modern, full-featured guild plugin designed for Bukkit 1.20.1+ servers.
Whether you want to create a small social group or organize large-scale guild wars, SagaGuild has you covered!
Crafted by
Saga, built with Java 17, and using SQLite for data storage, it aims to provide a stable and smooth guild experience.
✨ Core Features at a Glance ✨
SagaGuild offers a rich variety of features to make your guild management and player interactions more exciting:
- ️ Guild Creation & Management: Easily create, disband, and manage your guilds; customize guild names, tags, descriptions, and announcements.
- Guild Member System: Comprehensive member management, including role assignment (Leader, Admin, Member, etc.) and permission control.
- Guild Levels & Caps: Guilds can level up through activities, with different levels having different maximum member caps.
- Guild Join Application System: Players can apply to join their desired guilds, and can only join after an admin approves. Supports applying to multiple guilds simultaneously.
- ⚔️ Guild Relations System: Guilds can form alliances, declare war, request ceasefires, and easily manage these relationships via GUI.
- GUI Interface: Most functions can be operated through an intuitive graphical user interface, friendly to new users.
- Guild Chat Channel: A dedicated guild chat channel for easy member communication.
- ️ Enhanced Server Compatibility: Built-in compatibility layer, especially optimized for Forge, Mohist, and other hybrid servers, ensuring normal display of messages, GUIs, and items.
- Guild Bank (Planned): Centralized management of guild wealth.
- ️ Guild Land/Territory (Planned): Claim and protect guild territory.
- Guild Tasks & Activities (Planned): Rich guild group activities and tasks to increase guild cohesion.
Detailed Feature Highlights
Guild Join Application System
- Apply Instead of Direct Join: Players can no longer join guilds directly; they must submit an application.
- Multiple Applications: Players can apply to multiple guilds simultaneously.
- Automatic Processing: When an application to one guild is accepted, the player automatically joins that guild, and all their other pending applications to other guilds are automatically cancelled.
- Convenient Management: Guild administrators have a dedicated "Join Application Management" GUI to easily view, accept, or reject received applications.
- Clear Prompts: Optimized message prompts ensure the application and processing flow is clear and avoids repetitive information.
How to operate?
- Players: In the guild list (`/g list`), select your desired guild and click the apply button.
- Administrators: In the guild management interface (`/g manager`), find the "Join Application Management" entry to process applications.
⚔️ Guild Relations System
- Diverse Relations: Supports forming alliances, declaring war, breaking alliances, and requesting ceasefires between guilds.
- Request Approval: Alliance and ceasefire requests require the other guild's consent.
- Visual Management: Provides a Guild Relations Settings GUI and a Relations Management GUI for easy operation.
- Transparent Information: Guild information will fully display current alliance and war statuses (even if there are no relations, "None" will be displayed).
- War Features:
- Allied guilds cannot declare war on each other; the alliance must be broken first.
- During wars, killing enemy guild members will trigger a prominent action bar notification and record war contribution points.
How to operate?
- Commands or GUI: Guild management can use `/guild relation` series commands or initiate actions through the relations GUI.
- View Relations: Use `/guild relation list` or check in the guild information.
- Process Requests: Received alliance or ceasefire requests can be handled in the Relations Management GUI.
Guild Levels & Member Caps
- Level Determines Cap: The maximum guild level is 10, and each level has a corresponding maximum number of members. For example, a level 1 guild can have up to 10 members, and a level 10 guild can have up to 100 members.
- Flexible Configuration: Administrators can freely adjust the maximum member count for each level in `config.yml`.
- Clear Display: The Guild List GUI will display the guild's "Current Members / Max Members".
- Cap Notification: When a guild is full, applicants will receive a notification about the current level's maximum member limit.
️ Powerful GUI System
SagaGuild provides several convenient Graphical User Interfaces (GUIs) to simplify management operations:
- Guild List GUI: Paginated display of all guilds on the server, including name, tag, description, leader, member count, and level. Players can click to apply directly.
- Guild Management GUI: The core guild management interface, with entries for:
- Basic information settings (name, tag, description, announcement)
- Join application management
- Member management
- Relations management
- (Future) Bank, territory, tasks, activities, and other module entries
- Guild Member Management GUI: View member list, perform promotions, demotions, kicks, transfer leadership, etc.
- Guild Relations Settings/Management GUI: Visually handle alliance and war requests.
- Guild Settings GUI: Adjust guild publicity, join requirements, tag color, etc.
️ Command List ️
Here are the main commands for SagaGuild (default main commands are `/guild` or `/g`):
Code (YAML):
# Core Commands
/guild help
# Displays help information
/guild create <GuildName>
[GuildTag
]
# Creates a new guild
/guild info
[GuildName
]
# Views information for a specific guild or your own
/guild list
[PageNumber
]
# Opens the guild list GUI
/guild join <GuildName>
# (If direct join is enabled) Joins a guild (usually via GUI application)
/guild leave
# Leaves your current guild
/guild disband
# Disbands your guild (leader action)
/guild manager
# Opens the guild management GUI (admin action)
/guild members
# Opens the guild member management GUI (admin action)
# Guild Relation Commands
/guild relation list
# Displays the current guild's relation list
/guild relation ally <GuildName>
# Requests to ally with the specified guild
/guild relation war <GuildName>
# Declares war on the specified guild
/guild relation break <GuildName>
# Breaks the alliance with the specified guild
/guild relation ceasefire <GuildName>
# Requests a ceasefire with a guild at war
/guild relation gui
[GuildName
]
# Opens the guild relations GUI
# Other Feature Commands (some may be more convenient via GUI)
/guild claim
# (Future) Claims the chunk you are standing on as guild territory
/guild unclaim
# (Future) Unclaims the guild territory you are standing on
/guild bank
# (Future) Opens the guild bank GUI
/guild chat
# Switches to the guild chat channel
/guild level
# (Future) Views guild level information or upgrade actions
/guild task
# (Future) Views or manages guild tasks
/guild activity
# (Future) Views or manages guild activities
(Tip: Some commands may require specific permissions or are restricted to guild management. Specific features and commands may change with plugin updates.)
Permission Nodes
SagaGuild has a detailed permission system, allowing you to finely control player actions. Here are some general permission node examples:
Code (YAML):
# General Permissions
sagaguild.user
:
# Basic user permissions, usually granted to all players by default
- sagaguild.command.help
- sagaguild.command.info.self
- sagaguild.command.info.other
- sagaguild.command.list
- sagaguild.command.join
# To apply to join
- sagaguild.command.leave
- sagaguild.command.chat
# Guild Creation Permission
sagaguild.command.create
# Guild Management Permissions (Guild Leaders/Admins usually have these)
sagaguild.command.manager
# Access to the management GUI overview
sagaguild.command.members
# Access to member management
sagaguild.command.disband
# Disband guild (usually leader only)
sagaguild.relation.manage
# Manage guild relations (declare war, ally, etc.)
sagaguild.admin.settings
# Modify guild settings
# Admin Commands (OP permissions)
sagaguild.admin
:
- sagaguild.admin.reload
# Reload plugin configuration
- sagaguild.admin.spy
# Spy on guild chats
- sagaguild.admin.deleteguild
# Force delete a guild
# ... more granular admin permissions
(Note: For specific permission nodes, please refer to the plugin's `plugin.yml` or the detailed permission list published by the developer. The above are just examples.)
⚙️ Configuration Overview ⚙️
SagaGuild's main configuration files are `config.yml` and `messages.yml`.
You can adjust core settings in `config.yml`, such as member caps per guild level:
Code (YAML):
# config.yml example snippet
levels:
max-members-per-level:
1
: 10
# Level 1 guild max 10 members
2
: 15
# Level 2 guild max 15 members
3
: 20
# Level 3 guild max 20 members
4
: 25
# Level 4 guild max 25 members
5
: 30
# Level 5 guild max 30 members
6
: 40
# Level 6 guild max 40 members
7
: 50
# Level 7 guild max 50 members
8
: 60
# Level 8 guild max 60 members
9
: 80
# Level 9 guild max 80 members
10
: 100
# Level 10 guild max 100 members
In `messages.yml`, you can customize almost all message texts displayed to players by the plugin.
Future Plans
Our development team is working hard to bring more exciting features to SagaGuild:
- Further refinement and balancing of the Guild War system
- Expansion of the Guild Task system with more engaging quests
- Enhancement of the Guild Land/Territory feature with more strategic elements
- Optimization and expansion of the Guild Bank system
- More customization options and API support