L-claim
L-Claim is a chunk-based town claim system developed for Minecraft servers. Players can establish their own towns, protect their land, manage members, and customize their communities with an advanced permission system.
L-claim
L-Claim
Java: 1.2.2 | Java: 1.20+ | Java: 17+
A feature-rich chunk-based town claim plugin with full diplomacy (war, alliances, pacts), economy integration, auto-farming, bounties, granular permission management, chest locking, and a complete GUI system.
---
Features
Town System
- Create, delete, rename, and manage towns with unique names - 12 progression levels based on member count, each granting bonus chunk capacity - Configurable name length, character restrictions, and max members - Upkeep costs per chunk with automatic town deletion or chunk release on non-payment - Town chat for private member communication - Member and visitor spawn points
Land Claiming
- Chunk-based claiming system with adjacency requirements (configurable) - Minimum distance enforcement between different towns - Claim cost per chunk deducted from the town bank - Blocked-world support (disable claiming in specific worlds) - Configurable particle effects and sounds on claim - Per-chunk unclaiming or mass unclaim-all
Protection
- Granular per-member permissions (33 permission types): build, break, interact, containers, doors, redstone, PvP, vehicles, and more - Per-town settings: PvP, mob spawning, fire spread, explosions, visitor permissions - Visitors can be given separate build/break/interact/container permissions - Trust system: give full access to non-members - Keep inventory on death inside own town claims - Admin bypass mode for staff - Alliance and pact members are treated as trusted in each other's towns
Diplomacy
- Money Transfers: Declare war on other towns, scheduled war sessions with configurable days/times, points per kill, multi-session wars, daily tribute payments from losers to winners, losing town deletion on non-payment - Money Transfers: War winners conquer defeated towns; conquered towns pay daily chunk-based tribute and cannot declare war, make peace, or create pacts with their conqueror - Money Transfers: Send and accept/reject peace offers (2-minute expiry) - Money Transfers: Invite, accept, and manage alliances; allied towns share building/interaction rights; auto-accept when both sides invite each other - Money Transfers: Paid agreements with configurable duration and cost; prevents war declarations; auto-expiry with refund protection - Money Transfers: Send town bank funds to other towns via GUI with custom amount entry
Economy
- Vault-based economy integration - Town creation cost, claim cost, and chunk upkeep deducted from player/town balances - Town bank with deposit (any member) and withdraw (mayor only) - Bank info GUI shows estimated daily upkeep and war tribute income/expenses - Admin commands for bank manipulation
Farmer System
- Purchaseable auto-harvesting farmer for your town - 10 upgrade levels with increasing capacity, range, and speed - Harvests 14 crop types: wheat, carrot, potato, beetroot, nether wart, cocoa, melon, pumpkin, sweet berries, glow berries, cactus, sugar cane, bamboo, kelp - Auto-collect drops within range - Sell harvested items to town bank at configured prices - Per-item collection toggle - Stats tracking (daily, weekly, monthly, total production and earnings) - Particle effects on harvest
Bounty System
- Place bounties on players from your personal balance - Multiple bounties can stack on the same target - Killer receives total bounty on target's death - GUI with sorting and filtering
Chest Lock
- Lock chests, trapped chests, and barrels using `[lock]` signs - Only the owner and mayor can access locked containers - Auto-cleared when chunks are unclaimed
Fly System
- Toggle flight within your town's claimed area - Auto-disabled when leaving town territory
Chunk Map
- GUI-based visual map (9x5 grid) of surrounding chunks - Color-coded: your town, other towns, unclaimed, current position - Hover for town details
Multi-Language
- Built-in English and Turkish translations - All messages, GUI text, and placeholders are language-aware - Easy to extend with additional language files
Admin Tools
- Force claim/unclaim any chunk - Force delete any town - Purge all towns belonging to a player - Override town levels - Protection bypass mode - Data backup with timestamps - Plugin statistics - Town level override - GUI-based admin town list with search and detail view - Force war declaration between towns - Force peace between towns - Create and cancel non-aggression pacts between towns - Start/stop war sessions - View diplomatic relations of any town
---
Commands
Player Commands (`/town`)
| Alias | Command | Description | Permission | |---|---|---|---| | `/town create <name>` | `/town kur <name>` | Create a new town | `lclaim.town.create` | | `/town delete` | `/town sil` | Delete your town (requires confirmation) | `lclaim.town.delete` | | `/town claim` | `/town talep` | Claim current chunk | `lclaim.town.claim` | | `/town unclaim` | `/town birak` | Unclaim current chunk | `lclaim.town.unclaim` | | `/town unclaim all` | `/town birak hepsi` | Unclaim all chunks | `lclaim.town.unclaim` | | `/town info [town]` | `/town bilgi` | View town information | `lclaim.town.info` | | `/town list [page]` | `/town liste` | List all towns | `lclaim.town.list` | | `/town invite <player>` | `/town davet` | Invite a player | `lclaim.town.invite` | | `/town accept` | `/town kabul` | Accept an invitation | — | | `/town decline` | `/town red` | Decline an invitation | — | | `/town kick <player>` | `/town kov` | Kick a member | `lclaim.town.kick` | | `/town leave` | `/town ayril` | Leave your town | — | | `/town transfer <player>` | `/town devret` | Transfer leadership | — | | `/town deposit <amount>` | `/town yatir` | Deposit into town bank | `lclaim.town.deposit` | | `/town withdraw <amount>` | `/town cek` | Withdraw from town bank | `lclaim.town.withdraw` | | `/town set name <name>` | — | Rename town | — | | `/town set spawn` | — | Set member spawn | — | | `/town set visitor-spawn` | `/town set ziyaretci-spawn` | Set visitor spawn | — | | `/town spawn [town]` | — | Teleport to spawn | — | | `/town map` | `/town harita` | Open chunk map | `lclaim.town.map` | | `/town fly` | `/town uc` | Toggle flight | `lclaim.town.fly` | | `/town chat` | `/town sohbet` | Toggle town chat mode | — | | `/town trust add <player>` | — | Add a trusted player | — | | `/town trust remove <player>` | — | Remove a trusted player | — | | `/town alliance-accept <town>` | `/town ittifak-kabul` | Accept alliance invite | — | | `/town alliance-reject <town>` | `/town ittifak-red` | Reject alliance invite | — | | `/town pact-accept <town>` | `/town pakt-kabul` | Accept pact offer | — | | `/town pact-reject <town>` | `/town pakt-red` | Reject pact offer | — | | `/town war info` | `/town savas info` | View war information | — | | `/town war next-session` | — | View next war session info | — | | `/town help` | `/town yardim` | Show command help | — |
Admin Commands (`/lclaim` or `/lc`)
| Command | Description | Permission | |---|---|---| | `/lc reload` | Reload configuration | `lclaim.admin.reload` | | `/lc info <town>` | View detailed town info | `lclaim.admin.info` | | `/lc list` | List all towns | `lclaim.admin.list` | | `/lc stats` | View plugin statistics | `lclaim.admin.stats` | | `/lc forceclaim <town>` | Force claim current chunk | `lclaim.admin.forceclaim` | | `/lc forceunclaim` | Force unclaim current chunk | `lclaim.admin.forceunclaim` | | `/lc forcedelete <town>` | Force delete a town | `lclaim.admin.forcedelete` | | `/lc bypass` | Toggle protection bypass | `lclaim.admin.bypass` | | `/lc setbalance <town> <amount>` | Set town bank balance | `lclaim.admin.setbalance` | | `/lc addbalance <town> <amount>` | Add money to town bank | `lclaim.admin.addbalance` | | `/lc removebalance <town> <amount>` | Remove money from town bank | `lclaim.admin.removebalance` | | `/lc teleport <town>` | Teleport to town spawn | `lclaim.admin.teleport` | | `/lc purge <player>` | Delete all towns of a player | `lclaim.admin.purge` | | `/lc clearinvites` | Clear pending invites | `lclaim.admin.clearinvites` | | `/lc setlevel <town> <level>` | Set town level (0 = reset) | `lclaim.admin.setlevel` | | `/lc backup` | Backup data to `/backups/` | `lclaim.admin.backup` | | `/lc town` | Open GUI-based admin town list | `lclaim.admin.town` | | `/lc war <town1> <town2>` | Force declare war between towns | `lclaim.admin.war` | | `/lc peace <town1> <town2>` | Force peace between towns | `lclaim.admin.peace` | | `/lc pact <town1> <town2> [days]` | Create a non-aggression pact | `lclaim.admin.pact` | | `/lc pact cancel <town1> <town2>` | Cancel a non-aggression pact | `lclaim.admin.pact` | | `/lc warsession <town1> <town2>` | Toggle war session | `lclaim.admin.warsession` | | `/lc warsession startall` | Start all pending war sessions | `lclaim.admin.warsession` | | `/lc warsession stopall` | Stop all active war sessions | `lclaim.admin.warsession` | | `/lc diplomacy <town>` | View diplomatic relations of a town | `lclaim.admin.diplomacy` | | ` [NEW] /lc saveall` | Manually saves new data to the database |
---
Permissions
| Permission | Default | Description | |---|---|---| | `lclaim.town.create` | `true` | Create a town | | `lclaim.town.delete` | `true` | Delete your town | | `lclaim.town.claim` | `true` | Claim chunks | | `lclaim.town.unclaim` | `true` | Unclaim chunks | | `lclaim.town.invite` | `true` | Invite players | | `lclaim.town.kick` | `true` | Kick players | | `lclaim.town.info` | `true` | View town info | | `lclaim.town.list` | `true` | List towns | | `lclaim.town.map` | `true` | View chunk map | | `lclaim.town.fly` | `op` | Toggle flight in your town | | `lclaim.town.deposit` | `true` | Deposit to town bank | | `lclaim.town.withdraw` | `op` | Withdraw from town bank | | `lclaim.admin` | `op` | Admin command access | | `lclaim.admin.*` | `op` | All admin sub-permissions | | `lclaim.admin.town` | `op` | Open admin town list GUI | | `lclaim.admin.reload` | `op` | Reload configuration | | `lclaim.admin.info` | `op` | View town info | | `lclaim.admin.list` | `op` | List towns | | `lclaim.admin.stats` | `op` | View statistics | | `lclaim.admin.forceclaim` | `op` | Force claim chunks | | `lclaim.admin.forceunclaim` | `op` | Force unclaim chunks | | `lclaim.admin.forcedelete` | `op` | Force delete towns | | `lclaim.admin.bypass` | `op` | Protection bypass | | `lclaim.admin.setbalance` | `op` | Set town bank balance | | `lclaim.admin.addbalance` | `op` | Add money to town bank | | `lclaim.admin.removebalance` | `op` | Remove money from town bank | | `lclaim.admin.teleport` | `op` | Teleport to town spawn | | `lclaim.admin.purge` | `op` | Purge player towns | | `lclaim.admin.clearinvites` | `op` | Clear invites | | `lclaim.admin.setlevel` | — | Set town level (not in plugin.yml) | | `lclaim.admin.backup` | — | Create backup (not in plugin.yml) | | `lclaim.admin.warsession` | — | Manage war sessions (not in plugin.yml) | | `lclaim.admin.war` | — | Force declare war (not in plugin.yml) | | `lclaim.admin.peace` | — | Force peace (not in plugin.yml) | | `lclaim.admin.pact` | — | Manage pacts (not in plugin.yml) | | `lclaim.admin.diplomacy` | — | View diplomacy (not in plugin.yml) |
---
Installation
1. Download the latest `L-Claim.jar` from the releases page. 2. Place the JAR file in your server's `plugins/` folder. 3. Restart your server (or use `/reload confirm`). 4. Edit `plugins/L-Claim/config.yml` to your preferences. 5. Use `/lc reload` to apply configuration changes.
---
Configuration
`config.yml`
```yaml
L-Claim Configuration File
================================
Language setting: "tr" for Turkish, "en" for English
language: "en"
Town Settings
town:
Base chunk limit for all towns
base-chunks: 4
Maximum members in a town
max-members: 20
Minimum town name length
min-name-length: 3
Maximum town name length
max-name-length: 16
Allowed characters in town name (regex)
name-regex: "[a-zA-Z0-9_\-]+"
Cost to create a town (requires Vault)
creation-cost: 500.0
Cost per chunk claim — pulled from town bank (0 = free)
Claim cost is NOT a reason to delete the town. Town is only deleted on upkeep failure.
claim-cost: 100.0
Delete on insufficient upkeep funds (NOT on claim cost failure)
delete-on-insufficient-funds: true
Daily upkeep cost per chunk (0 to disable)
upkeep-per-chunk: 10.0
Upkeep check interval in minutes (0 to disable)
upkeep-interval: 1440
Town Level System
Each level requires a certain number of members and gives bonus chunks
levels: 1: members-required: 1 bonus-chunks: 0 2: members-required: 3 bonus-chunks: 4 3: members-required: 4 bonus-chunks: 8 4: members-required: 5 bonus-chunks: 12 5: members-required: 6 bonus-chunks: 16 6: members-required: 8 bonus-chunks: 20 7: members-required: 10 bonus-chunks: 24 8: members-required: 12 bonus-chunks: 28 9: members-required: 14 bonus-chunks: 32 10: members-required: 16 bonus-chunks: 36 11: members-required: 18 bonus-chunks: 40 12: members-required: 20 bonus-chunks: 48
Require new claims to be adjacent to existing claimed chunks
First claim is always free (the town founding chunk)
require-adjacent-claims: true
Minimum chunk distance between different towns (0 = disabled)
Example: 3 means towns must be at least 3 chunks apart
min-distance-between-towns: 3
Worlds where chunk claiming is disabled (empty list = all worlds allowed)
Example: ["world_nether", "world_the_end"]
blocked-worlds: []
Claim particles & sound effect
claim-effects:
Play particle effect when claiming a chunk
particles: true
Particle type (FLAME, HAPPY_VILLAGER, END_ROD, VILLAGER_HAPPY, etc.)
particle-type: "END_ROD"
How long particles stay visible (in seconds)
particle-duration: 6
Play sound when claiming
sound: true
Sound name (ENTITY_EXPERIENCE_ORB_PICKUP, BLOCK_NOTE_BLOCK_CHIME, etc.)
sound-name: "ENTITY_EXPERIENCE_ORB_PICKUP"
Protection Settings
protection:
Protect claimed chunks from non-members
enabled: true
Allow mob spawning in claimed chunks (global fallback, per-town overrides this)
mob-spawning: true
Allow explosions in claimed chunks
explosions: false
Allow fire spread in claimed chunks
fire-spread: false
Prevent PvP in claimed chunks
prevent-pvp: false
Allow members to build/break
members-can-build: true
Keep inventory and XP on death inside claimed chunks
keep-on-death: true
Map Settings
map:
Map width (odd number recommended)
width: 9
Map height (odd number recommended)
height: 9
Character for unclaimed chunks
unclaimed-char: "□"
Character for your town chunks
your-town-char: "■"
Character for other town chunks
other-town-char: "▪"
Character for current chunk
current-chunk-char: "✦"
Database Settings
database:
Storage type: "yaml" or "sqlite"
type: "sqlite"
SQLite file name
sqlite-file: "lclaim.db"
Economy Settings (requires Vault)
economy: enabled: true
Chest Lock System
chest-lock:
Enable/disable chest lock system
enabled: true
Farmer System
farmer:
Enable/disable farmer system
enabled: true
Cost to buy a farmer
buy-cost: 10000
Enable particle effects when harvesting
particle-effects: true
Auto collect dropped items within range (if item collecting is enabled)
auto-collect-items: true
Item prices for selling
prices: wheat: 5.0 carrot: 8.0 potato: 7.0 beetroot: 10.0 nether-wart: 15.0 melon: 6.0 pumpkin: 12.0 cocoa: 20.0 sugar-cane: 4.0 cactus: 3.0 sweet-berry: 12.0 bamboo: 3.0 kelp: 2.0
War Settings
war:
Broadcast war session start/end messages to all players
broadcast-session-messages: true
Show boss bar with war info during active sessions
boss-bar: true
Number of sessions per war
sessions-per-war: 3
Points awarded per kill
points-per-kill: 5
Daily fee per chunk that the loser pays to the winner
daily-fee-per-chunk: 10.0
Timezone for war schedule (empty = system default, e.g. "UTC", "Europe/Istanbul", "America/New_York")
timezone: ""
War schedule — sessions happen on configured days at specified time range
schedule:
Days of the week (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY)
days: [MONDAY, TUESDAY, WEDNESDAY]
Session start time (24-hour format)
start-hour: 21 start-minute: 0
Session end time (24-hour format)
end-hour: 22 end-minute: 0
Miscellaneous
misc:
Enable debug logging
debug: false
Auto-save interval in minutes
auto-save: 5
```
---
Town Levels
| Level | Members Required | Bonus Chunks | |-------|-----------------|--------------| | 1 | 1 | 0 | | 2 | 3 | 4 | | 3 | 4 | 8 | | 4 | 5 | 12 | | 5 | 6 | 16 | | 6 | 8 | 20 | | 7 | 10 | 24 | | 8 | 12 | 28 | | 9 | 14 | 32 | | 10 | 16 | 36 | | 11 | 18 | 40 | | 12 | 20 | 48 |
Max Chunks Formula: `base-chunks + level-bonus`
---
Farmer Levels
| Level | Upgrade Cost | Capacity | Range | Harvest Interval | |-------|-------------|----------|-------|-----------------| | 1 | Free | 500 | 10 blocks | 5.0s | | 2 | 2,000 | 750 | 12 | 4.5s | | 3 | 5,000 | 1,000 | 15 | 4.0s | | 4 | 10,000 | 1,500 | 18 | 3.5s | | 5 | 20,000 | 2,000 | 22 | 3.0s | | 6 | 40,000 | 3,000 | 26 | 2.5s | | 7 | 75,000 | 4,000 | 32 | 2.0s | | 8 | 125,000 | 5,000 | 40 | 1.5s | | 9 | 200,000 | 7,000 | 50 | 1.2s | | 10 | 300,000 | 10,000 | 60 | 1.0s |
Harvestable Crops
Wheat, Carrots, Potatoes, Beetroots, Nether Wart, Cocoa, Melon, Pumpkin, Sweet Berries, Glow Berries, Cactus, Sugar Cane, Bamboo, Kelp.
---
War Schedule
War sessions follow a configurable weekly schedule:
```yaml war: timezone: "" # Empty = server system timezone schedule: days: [MONDAY, TUESDAY, WEDNESDAY] start-hour: 21 start-minute: 0 end-hour: 22 end-minute: 0 ```
- Sessions run conquer for all at-war pairs during the configured time window - Multiple sessions per war (`sessions-per-war: 3`) - Points are earned from kills during active sessions (`points-per-kill: 5`) - After all sessions, the winner is determined by total points - The loser pays `daily-fee-per-chunk` each day until the tribute is fully paid - If the loser cannot pay, their town is automatically deleted - War winners conquer the defeated town; conquered towns appear in a dedicated diplomacy menu showing conquered date, daily tribute, points, kills, and deaths - Conquered towns cannot declare war, request peace, or create pacts with their conqueror - The loser's chunk count is used to calculate the daily tribute fee
---
PlaceholderAPI
All placeholders use the `%lclaim_` prefix.
| Placeholder | Description | |---|---| | `%lclaim_town_name%` | Player's town name (or "None") | | `%lclaim_town_mayor%` | Town mayor name | | `%lclaim_town_members%` | Member count | | `%lclaim_town_max_members%` | Max member count | | `%lclaim_town_chunks%` | Claimed chunk count | | `%lclaim_town_max_chunks%` | Max chunk count | | `%lclaim_town_bank%` | Town bank balance | | `%lclaim_town_balance_formatted%` | Formatted bank balance | | `%lclaim_town_pvp%` | PvP status (Enabled/Disabled) | | `%lclaim_town_pvp_status%` | PvP status (true/false) | | `%lclaim_town_visitors%` | Visitor status (Enabled/Disabled) | | `%lclaim_town_visitor_status%` | Visitor status (true/false) | | `%lclaim_town_fire%` | Fire spread status | | `%lclaim_town_explosions%` | Explosions status | | `%lclaim_town_mob_spawning%` | Mob spawning status | | `%lclaim_town_world%` | Town's world | | `%lclaim_town_founded%` | Founded date | | `%lclaim_town_is_mayor%` | Is player mayor? (true/false) | | `%lclaim_town_is_member%` | Is player member? (true/false) | | `%lclaim_town_is_trusted%` | Is player trusted? (true/false) | | `%lclaim_town_trusted_count%` | Trusted player count | | `%lclaim_town_level%` | Town level | | `%lclaim_in_claimed_chunk%` | Is player in a claimed chunk? | | `%lclaim_in_own_town%` | Is player in their own town? | | `%lclaim_chunk_town_name%` | Town name of current chunk | | `%lclaim_chunk_town_pvp%` | PvP status of current chunk's town | | `%lclaim_total_towns%` | Total towns on the server | --NEW-- ↓↓↓ | `%lclaim_town_war_count%` | Active war count | `2` | | `%lclaim_town_alliance_count%` | Alliance count | `1` | | `%lclaim_town_pact_count%` | Non-aggression pact count | `3` | | `%lclaim_town_is_at_war%` | Is at war? | `Yes` / `No` | | `%lclaim_town_war_list%` | List of towns at war (comma separated) | `Rome, Sparta` | | `%lclaim_town_alliance_list%` | Allied towns | `Athens` | | `%lclaim_town_pact_list%` | Towns with pacts | `Carthage, Egypt` | | `%lclaim_town_conquered_count%` | Conquered town count | `1` | | `%lclaim_town_conquered_list%` | Conquered towns | `Troy` | | `%lclaim_town_has_active_war_session%` | Has active war session? | `Yes` / `No` | | `%lclaim_town_daily_upkeep%` | Daily upkeep cost | `150.00` |
---
Data Storage
L-Claim supports two storage backends:
SQLite (Recommended)
- File-based (`plugins/L-Claim/lclaim.db`) - All data in relational tables with proper indexing - Tables: `towns`, `town_members`, `town_trusted`, `claimed_chunks`, `town_permissions`, `town_settings`, `chest_locks`, `farmers`, `farmer_items`, `town_diplomacy`
YAML
- File-based (`plugins/L-Claim/towns.yml`) - Simpler but slower for large servers - Single file stores all town data
Switch between backends in `config.yml`: ```yaml database: type: "sqlite" # or "yaml" sqlite-file: "lclaim.db" ```
Backup
Use `/lc backup` to create timestamped backups in `plugins/L-Claim/backups/`.
---
GUI Menus
The plugin features a full inventory GUI system accessible via `/town`:
| Menu | Description | |---|---| | Admin Town List | Town management hub — claim, unclaim, map, members, bank, settings, trust, farmer, bounty, diplomacy, level info, teleport, delete/leave | | Admin Town List | Member list with permission editor, kick, and transfer actions | | Admin Town List | Paginated list of online players to invite | | Admin Town List | Deposit/withdraw with quick amounts and custom entry | | Admin Town List | Paginated list of all towns | | Admin Town List | 9x5 chunk map with color-coded territory | | Admin Town List | Granular permission editor with 33 permission types | | Admin Town List | Toggle PvP, mob spawning, fire, explosions, visitors | | Admin Town List | Trusted player management | | Admin Town List | View, add, filter, and sort bounties | | Admin Town List | Buy, upgrade, toggle items, sell, and view stats | | Admin Town List | War, peace, alliance, pact, conquered towns, and money transfer menus | | Admin Town List | View conquered town details, daily tribute, and war statistics | | Admin Town List | Browse all towns with pagination, search by name, and view member details |
All GUI menus support both English and Turkish text based on the configured language.
---
Support
discord: squezsaz