A comprehensive guild management and land claiming plugin for Minecraft servers running Paper 1.21+
LumaGuilds (formerly Bell Claims) combines an intuitive bell-based land claiming system with full-featured guild management, wars, parties, and cross-platform support for both Java and Bedrock players.
| Feature | Description |
|---|---|
| Bell-Based Claiming | Place a bell to anchor your claim - simple and intuitive |
| Guild System | Full guild management with ranks, banks, and shared territory |
| War System | Declare wars with objectives, wagers, and kill tracking |
| Cross-Platform | Native support for Java Edition GUIs and Bedrock Edition forms |
| Economy Integration | Vault support for claim costs and guild banking |
| Extensible | PlaceholderAPI, WorldGuard, and developer API |
- Features
- Screenshots
- Installation
- Quick Start
- Commands
- Permissions
- Configuration
- Placeholders
- For Developers
- Support
- Contributing
- License
Protect your builds with an intuitive bell-based claiming system.
- Bell Anchors - Place a bell to create a claim; shift+right-click to open management
- Partitions - Expand claims in any direction with multiple rectangular areas
- 14 Permissions - Granular control: BUILD, BREAK, CONTAINER, DISPLAY, VEHICLE, SIGN, REDSTONE, DOOR, TRADE, HUSBANDRY, DETONATE, EVENT, SLEEP, VIEW
- 12 Protection Flags - Control: fire spread, mob spawning, explosions, pistons, fluid flow, tree growth, sculk, dispensers, sponges, lightning, falling blocks, passive entity vehicles
- Visual Borders - See claim boundaries with particle highlighting
- Claim Transfer - Send and accept ownership transfer requests
- Admin Override - Staff can bypass protection when needed
Form communities with comprehensive guild management.
- Guild Creation - Create guilds with custom names, tags, and banners
- Rank System - Hierarchical ranks with customizable permissions
- Member Management - Invite, kick, promote, demote members
- Contribution Tracking - Track member contributions over time
- Guild Bank - Shared treasury with deposit/withdrawal controls
- Guild Vaults - Shared storage chests accessible by members
- Guild Claims - Convert personal claims to guild territory
- Guild Levels - Progression system with unlockable benefits
Engage in structured PvP conflicts between guilds.
- War Declarations - Formally declare war on rival guilds
- Objectives - Set kill counts and victory conditions
- Wagers - Bet guild bank funds on war outcomes
- Kill Tracking - Real-time war statistics and leaderboards
- Peace Negotiations - End wars through diplomacy
- War History - Track past conflicts and outcomes
Form temporary groups for activities.
- Quick Parties - Create parties for dungeons, raids, or events
- Public/Private - Open parties or invite-only
- Guild-Only - Restrict parties to guild members
- Party Chat - Dedicated communication channel
Full feature parity for all players.
- Java Edition - Rich inventory-based GUI menus (90+ menus)
- Bedrock Edition - Native form-based UI via Floodgate/Geyser
- Seamless Experience - Same features regardless of client
Works with popular plugins out of the box.
| Plugin | Integration |
|---|---|
| Vault | Economy for claim costs, guild banks |
| PlaceholderAPI | 20+ placeholders for scoreboards, chat |
| WorldGuard | Respects WorldGuard regions |
| CombatLogX | Combat tagging compatibility |
| AxKoth | Guild/team King of the Hill events |
| Geyser/Floodgate | Bedrock Edition support |
Click to view screenshots
Place a bell to create your claim, then expand with partitions
Manage your guild from the central control panel
Grant granular permissions to trusted players
Full feature access via Bedrock Edition forms
- Server: Paper 1.21+ (or forks like Purpur)
- Java: 21 or higher
- Database: SQLite (default) or MariaDB
| Plugin | Required | Purpose |
|---|---|---|
| Vault | Optional | Economy integration |
| PlaceholderAPI | Optional | Placeholder support |
| Floodgate | Optional | Bedrock player detection |
| Geyser | Optional | Bedrock Edition support |
- Download
LumaGuilds-0.5.0.jarfrom releases - Place in your server's
plugins/folder - Restart the server
- Edit
plugins/LumaGuilds/config.ymlas needed - Run
/lumaguilds reloadto apply changes
- Obtain a claim tool:
/claim - Select two corners by right-clicking blocks
- Place a bell inside your selection
- Your claim is created! Shift+right-click the bell to manage it
- Run
/guild create <name> - Customize with
/guild banner,/guild tag,/guild description - Invite members with
/guild invite <player> - Open the guild panel:
/guildor shift+right-click a guild bell
- Shift+right-click your claim's bell
- Navigate to Manage Permissions
- Grant permissions to specific players or everyone
| Command | Description |
|---|---|
/claim |
Get the claim creation tool |
/claim info |
Show info about current claim |
/claim rename <name> |
Rename your claim |
/claim description <text> |
Set claim description |
/claim trust <player> <perm> |
Grant permission to player |
/claim untrust <player> <perm> |
Revoke permission from player |
/claim trustall <perm> |
Grant permission to everyone |
/claim untrustall <perm> |
Revoke permission from everyone |
/claim trustlist |
List trusted players |
/claim addflag <flag> |
Enable a protection flag |
/claim removeflag <flag> |
Disable a protection flag |
/claim partitions |
List claim partitions |
/claim remove |
Delete your claim |
/claimlist |
List all your claims |
/claimmenu |
Open claim management GUI |
| Command | Description |
|---|---|
/guild |
Open guild panel |
/guild create <name> |
Create a new guild |
/guild disband |
Disband your guild |
/guild invite <player> |
Invite a player |
/guild kick <player> |
Kick a member |
/guild leave |
Leave your guild |
/guild promote <player> |
Promote a member |
/guild demote <player> |
Demote a member |
/guild bank deposit <amount> |
Deposit to guild bank |
/guild bank withdraw <amount> |
Withdraw from guild bank |
/guild war declare <guild> |
Declare war |
/guild war peace <guild> |
Offer peace |
| Command | Description |
|---|---|
/claimoverride |
Toggle admin bypass mode |
/lumaguilds reload |
Reload configuration |
| Permission | Description |
|---|---|
lumaguilds.command.claim |
Use /claim command |
lumaguilds.command.claim.info |
View claim information |
lumaguilds.command.claim.rename |
Rename claims |
lumaguilds.command.claim.description |
Set claim descriptions |
lumaguilds.command.claim.trust |
Trust/untrust players |
lumaguilds.command.claim.trustall |
Set default permissions |
lumaguilds.command.claim.trustlist |
View trusted players |
lumaguilds.command.claim.addflag |
Add protection flags |
lumaguilds.command.claim.removeflag |
Remove protection flags |
lumaguilds.command.claim.partitions |
View claim partitions |
lumaguilds.command.claim.remove |
Delete claims |
lumaguilds.command.claimlist |
List claims |
lumaguilds.command.claimmenu |
Open claim menu |
lumaguilds.command.guild |
Use guild commands |
lumaguilds.command.guild.create |
Create guilds |
lumaguilds.command.guild.invite |
Invite players |
lumaguilds.command.guild.kick |
Kick members |
lumaguilds.command.guild.war |
War commands |
| Permission | Description |
|---|---|
lumaguilds.command.claimoverride |
Toggle admin bypass |
lumaguilds.admin.reload |
Reload configuration |
Set metadata values to customize limits per player or group:
# Set claim limit
/lp user <player> meta set lumaguilds.claim_limit 10
# Set total claim block limit
/lp user <player> meta set lumaguilds.claim_block_limit 50000
# For groups
/lp group <group> meta set lumaguilds.claim_limit 5Key configuration options in config.yml:
# Database configuration
database:
type: sqlite # sqlite or mariadb
# Claim settings
claims:
default-size: 15 # Default claim radius
max-claims-per-player: 5 # Default claim limit
claim-block-limit: 10000 # Default max blocks per player
# Guild settings
guilds:
creation-cost: 1000 # Cost to create guild
max-members: 50 # Member limit
bank-interest-rate: 0.01 # Daily interest rate
# War settings
wars:
enabled: true
minimum-wager: 100
default-kill-objective: 10All placeholders use the lumaguilds prefix. Requires PlaceholderAPI.
| Placeholder | Description |
|---|---|
%lumaguilds_claim_count% |
Number of claims owned |
%lumaguilds_in_claim% |
Whether player is in a claim |
%lumaguilds_claim_name% |
Name of current claim |
%lumaguilds_claim_owner% |
Owner of current claim |
%lumaguilds_guild_name% |
Player's guild name |
%lumaguilds_guild_tag% |
Player's guild tag |
%lumaguilds_guild_level% |
Player's guild level |
%lumaguilds_guild_bank% |
Guild bank balance |
%lumaguilds_guild_member_count% |
Guild member count |
%lumaguilds_guild_rank% |
Player's rank in guild |
LumaGuilds is built with clean architecture principles, making it easy to extend and integrate.
The plugin follows hexagonal (clean) architecture:
net.lumalyte.lg
├── domain/ # Core entities (Claim, Guild, War, etc.)
├── application/ # Use cases and business logic
├── infrastructure/ # Database, Bukkit adapters
└── interaction/ # Commands, menus, listeners
- Language: Kotlin 2.0
- DI Framework: Koin 4.0
- Commands: ACF (Annotation Command Framework)
- Database: SQLite/MariaDB via HikariCP
- GUI: InventoryFramework + Cumulus (Bedrock)
// Via Koin dependency injection
class YourFeature : KoinComponent {
private val getClaimAtPosition: GetClaimAtPosition by inject()
fun checkClaim(position: Position3D, worldId: UUID): Claim? {
return when (val result = getClaimAtPosition.execute(position, worldId)) {
is GetClaimAtPositionResult.Success -> result.claim
else -> null
}
}
}git clone https://github.com/BadgersMC/LumaGuilds.git
cd LumaGuilds
./gradlew shadowJar
# Output: build/libs/LumaGuilds-0.5.0.jar./gradlew testDetailed developer documentation is available in the /docs folder:
- Architecture Overview - Hexagonal architecture principles
- Domain Layer - Core entities and value objects
- Application Layer - Use cases and actions
- Infrastructure Layer - Database and Bukkit integration
- Interaction Layer - Commands and menus
- API Reference - Complete action catalog
- Integration Guide - External plugin integration
- Getting Started - Development guide
- Issues: GitHub Issues
- Discord: @mizarc
Please include:
- Server version (
/version) - Plugin version
- Steps to reproduce
- Error logs (if any)
We welcome contributions! See CONTRIBUTING.md for guidelines.
Quick start:
- Fork the repository
- Create a feature branch (
feature/my-feature) - Make your changes
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Original Author: Mizarc - Creator of Bell Claims
- Contributors: See contributors
LumaGuilds is a fork of Bell Claims, extending the original land-claiming system with comprehensive guild management features.
Made with Kotlin for the Minecraft community