
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
Version: 2.0.1 | Minecraft: 1.20+ | Java: 17+
A feature-rich chunk-based town claim plugin with full diplomacy (war, alliances, pacts, embargoes), economy integration, auto-farming, bounties, granular permission management, chest locking, and a complete GUI system. Fully multilingual (English, Turkish, Spanish) with Dynmap and BlueMap support.
Table of Contents
- Features
- Commands
- Admin Commands
- Permissions
- Configuration
- Town Levels
- Farmer Levels
- War Schedule
- PlaceholderAPI
- Data Storage
- GUI Menus
- Dependencies
- Developers
- Installation
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
- MOTD and town policy (peaceful / neutral) settings
- Town For Sale: mayors can list their town on the town marketplace with a purchase price; buyers can purchase the town and take over as mayor
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, animals, monsters, vehicles, and more
- Per-town settings: PvP, mob spawning, fire spread, explosions, visitor permissions
- Per-chunk plot permissions — assign individual permission overrides per plot
- Visitors can be given separate build/break/interact/container permissions
- Trust system: give full access to non-members
- Keep inventory and XP 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
- War: 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
- Conquered Towns: War winners conquer defeated towns; conquered towns pay daily chunk-based tribute and cannot declare war, make peace, or create pacts with their conqueror
- Peace: Send and accept/reject peace offers (2-minute expiry)
- Alliances: Invite, accept, and manage alliances; allied towns share building/interaction rights; auto-accept when both sides invite each other
- Non-Aggression Pacts: Paid agreements with configurable duration and cost; prevents war declarations; auto-expiry with refund protection
- Embargoes: declare economic embargoes on enemy towns, with daily or one-time chunk-based cost
- Money Transfers: send town bank funds to other towns via GUI with custom amount entry
- Diplomacy History: full audit log of war, peace, alliance, pact, and tribute events
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)
- Tax System: mayor sets a tax amount collected from members on a configurable interval
- Bank GUI shows estimated daily upkeep and war tribute income/expenses
- Admin commands for bank manipulation
Farmer System
- Purchasable 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 the 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 (even if the world is not loaded)
Fly & Map
- Toggle flight within your town's claimed area; auto-disabled when leaving
- GUI-based chunk map (9x9 grid) with color-coded territory and hover details
Web Maps
- Dynmap integration: flat shape markers for each town claim + POI spawn markers
- BlueMap integration: flat or 3D extruded claim shape markers + POI spawn markers
- Configurable layer name, priority, colors, opacity, labels, spawn markers, and shape-mode
Multi-Language
- Built-in English, Turkish, and Spanish translations
- All messages, GUI text, and placeholders are language-aware
- Easy to extend with additional language files
Other
- Offline notifications for events that happened while players were away
- Plugin statistics and bStats metrics
- Automatic version checker with in-game OP notifications
- Timestamped data backups
Commands
Player Commands (/town, alias /t or /kasaba)
| Command | Turkish | Aliases | Description | Permission |
|---|---|---|---|---|
/town create <name> | kur | olustur | Create a new town | lclaim.town.create |
/town delete | sil | kaldir | Delete your town (confirmation required) | lclaim.town.delete |
/town claim | talep | — | Claim the current chunk | lclaim.town.claim |
/town unclaim | birak / release | release | Unclaim the current chunk | lclaim.town.unclaim |
/town unclaim all | birak hepsi | — | Unclaim all chunks | lclaim.town.unclaim |
/town info [town] | bilgi | — | View town information | lclaim.town.info |
/town list [page] | liste | — | List all towns | lclaim.town.list |
/town invite <player> | davet | — | Invite a player to your town | lclaim.town.invite |
/town accept | kabul | — | Accept a pending invitation | — |
/town decline | red / reddet / deny | — | Decline a pending invitation | — |
/town kick <player> | kov | — | Kick a member from your town | lclaim.town.kick |
/town leave | ayril | — | Leave your town | — |
/town transfer <player> | devret | — | Transfer mayorship | — |
/town set name <name> / motd <text> | set isim | — | Rename town or set MOTD | — |
/town set spawn | — | — | Set member spawn point | — |
/town set visitor-spawn | set ziyaretci-spawn | — | Set visitor spawn point | — |
/town spawn [town] | — | — | Teleport to a town spawn | — |
/town map | harita | — | Open the chunk map GUI | lclaim.town.map |
/town fly | uc / ucak | — | Toggle flight in your town | lclaim.town.fly |
/town plot ... | arsa | — | Manage per-chunk plot permissions | lclaim.town.plot |
/town chat | sohbet, c | — | Toggle town chat mode | — |
/town tax ... | vergi | — | Set/view town member tax | lclaim.town.tax |
/town policy ... | politika | — | Change or view town policy | — |
/town trust add/remove <player> | — | — | Manage trusted players | — |
/town alliance-accept <town> | ittifak-kabul | — | Accept an alliance invite | — |
/town alliance-reject <town> | ittifak-red | — | Reject an alliance invite | — |
/town pact-accept <town> | pakt-kabul | — | Accept a non-aggression pact | — |
/town pact-reject <town> | pakt-red | — | Reject a non-aggression pact | — |
/town war info / war next-session | savas info | — | War status and next session info | — |
/town help | yardim, ? | — | Show command help | — |
Admin Commands
Admin Commands (/lclaim or /lc)
| Command | Description | Permission |
|---|---|---|
/lc reload | Reload configuration and data | lclaim.admin.reload |
/lc maprefresh | Refresh Dynmap map markers | lclaim.admin.maprefresh |
/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 the current chunk | lclaim.admin.forceclaim |
/lc forceunclaim | Force unclaim the current chunk | lclaim.admin.forceunclaim |
/lc forcedelete <town> | Force delete a town | lclaim.admin.forcedelete |
/lc bypass | Toggle claim protection bypass | lclaim.admin.bypass |
/lc setbalance <town> <amount> | Set a town's bank balance | lclaim.admin.setbalance |
/lc addbalance <town> <amount> | Add money to a town's bank | lclaim.admin.addbalance |
/lc removebalance <town> <amount> | Remove money from a town's bank | lclaim.admin.removebalance |
/lc teleport <town> / /lc tp <town> | Teleport to a town | lclaim.admin.teleport |
/lc purge <player> | Delete all towns of a player | lclaim.admin.purge |
/lc clearinvites | Clear all pending invites | lclaim.admin.clearinvites |
/lc setlevel <town> <level> | Set a town's level (0 = reset) | lclaim.admin.setlevel |
/lc backup | Create a timestamped data backup | lclaim.admin.backup |
/lc saveall | Save all data immediately | lclaim.admin.saveall |
/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 a 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 a town's diplomatic relations | lclaim.admin.diplomacy |
Permissions
Player 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 members |
lclaim.town.info | true | View town info |
lclaim.town.list | true | List towns |
lclaim.town.map | true | View the chunk map |
lclaim.town.tax | true | Set/view town tax |
lclaim.town.plot | true | Manage plot permissions |
lclaim.town.deposit | true | Deposit into the town bank |
lclaim.town.fly | op | Toggle flight in your town |
lclaim.town.withdraw | op | Withdraw from the town bank |
Admin Permissions
| Permission | Default | Description |
|---|---|---|
lclaim.admin | op | Admin command access |
lclaim.admin.bypass | op | Bypass claim protections |
lclaim.admin.forceclaim | op | Force claim any chunk |
lclaim.admin.forceunclaim | op | Force unclaim any chunk |
lclaim.admin.forcedelete | op | Force delete any town |
lclaim.admin.info | op | View detailed town info |
lclaim.admin.list | op | List all towns |
lclaim.admin.stats | op | View plugin statistics |
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 |
lclaim.admin.purge | op | Delete all towns of a player |
lclaim.admin.clearinvites | op | Clear pending invites |
lclaim.admin.reload | op | Reload configuration |
lclaim.admin.maprefresh | op | Refresh Dynmap markers |
lclaim.admin.town | op | Open admin town list GUI |
lclaim.admin.saveall | op | Save all data immediately |
Setting / town policy / embargo / diplomacy management permissions (e.g. lclaim.admin.setlevel, lclaim.admin.backup, lclaim.admin.war, lclaim.admin.peace, lclaim.admin.pact, lclaim.admin.warsession, lclaim.admin.diplomacy) are checked through lclaim.admin and the corresponding admin command handler.
Configuration
config.yml
# Language: "tr", "en", or "es"
language: "en"
town:
base-chunks: 4 # Base chunk limit for all towns
max-members: 20 # Maximum members per town
min-name-length: 3 # Minimum town name length
max-name-length: 16 # Maximum town name length
name-regex: "[a-zA-Z0-9_\\-]+"
creation-cost: 500.0 # Town creation cost (from player balance)
claim-cost: 100.0 # Per-chunk claim cost (from town bank)
delete-on-insufficient-funds: true
upkeep-per-chunk: 10.0 # Daily upkeep per chunk (0 = disable)
upkeep-interval: 1440 # Upkeep check interval in minutes (0 = disable)
tax-max-amount: 500 # Max tax a mayor can set (0 = disable tax system)
tax-interval: 1440 # Tax collection interval in minutes
max-motd-length: 255 # Maximum MOTD length
require-adjacent-claims: true # New claims must be adjacent
min-distance-between-towns: 3 # Minimum chunk distance between towns
blocked-worlds: [] # Worlds where claiming is disabled
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 }
claim-effects:
particles: true
particle-type: "END_ROD"
particle-duration: 6 # seconds
sound: true
sound-name: "ENTITY_EXPERIENCE_ORB_PICKUP"
protection:
enabled: true # Master toggle
mob-spawning: true # Allow mob spawning in claims
explosions: false # Allow explosions in claims
fire-spread: false # Allow fire spread in claims
prevent-pvp: false # Prevent PvP in claims
members-can-build: true # Members can build/break
keep-on-death: true # Keep inventory/XP on death in own town
map:
width: 9 # Map width (odd recommended)
height: 9 # Map height (odd recommended)
unclaimed-char: "□"
your-town-char: "■"
other-town-char: "▪"
current-chunk-char: "✦"
database:
type: "sqlite" # "sqlite", "mysql", or "mariadb"
sqlite-file: "lclaim.db"
mysql:
host: "localhost"
port: 3306
database: "lclaim"
username: "root"
password: ""
use-ssl: false
verify-server-certificate: false
allow-public-key-retrieval: false
history:
enabled: true
retention-days: 30
economy:
enabled: true # Requires Vault
chest-lock:
enabled: true
farmer:
enabled: true
buy-cost: 10000 # Farmer purchase cost (from town bank)
particle-effects: true
auto-collect-items: true
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:
enabled: true
broadcast-session-messages: true
boss-bar: true
sessions-per-war: 3
points-per-kill: 5
daily-fee-per-chunk: 10.0
timezone: "" # e.g. "UTC", "Europe/Istanbul"; empty = system default
schedule:
days: [MONDAY, TUESDAY, WEDNESDAY]
start-hour: 21
start-minute: 0
end-hour: 22
end-minute: 0
embargo:
enabled: true
cost-per-chunk: 5.0
payment-mode: "daily" # "daily" or "one-time"
policy:
enabled: true
peaceful-cost: 5000.0
peaceful-upkeep-multiplier: 2.0
cooldown-days: 5
notifications:
offline-notifications: true
version-check:
enabled: true
notify-on-join: true
misc:
debug: false
auto-save: 5 # Auto-save interval in minutes
dynmap:
enabled: true
layer-name: "L-Claim Kasabalari"
layer-priority: 10
fill-color: "00FF00"
line-color: "004400"
fill-opacity: 0.6
line-opacity: 1.0
line-weight: 3
show-labels: true
show-spawn-markers: true
update-interval: 300
bluemap:
enabled: true
layer-name: "L-Claim Kasabalari"
layer-priority: 10
fill-color: "00FF00"
line-color: "004400"
fill-opacity: 0.6
line-opacity: 1.0
line-weight: 3
show-labels: true
show-spawn-markers: true
update-interval: 300
shape-mode: "extruded" # "extruded" or "flat"
shape-y: 64.0
extrude-min-y: 64.0
extrude-max-y: 256.0
depth-test: false
bstats:
enabled: true
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:
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 simultaneously 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-chunkeach 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
- A boss bar displays war info during active sessions
- Embargoes can additionally be declared on enemy towns (daily or one-time chunk-based cost)
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_visitor_status% | Visitor status (true/false) |
%lclaim_town_portrait% | Visitor status text |
%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 the player mayor? (true/false) |
%lclaim_town_is_member% | Is the player a member? (true/false) |
%lclaim_town_is_trusted% | Is the player trusted? (true/false) |
%lclaim_town_trusted_count% | Trusted player count |
%lclaim_town_level% | Town level |
%lclaim_town_is_at_war% | Is the town at war? (true/false) |
%lclaim_town_war_count% | Number of current wars |
%lclaim_town_alliance_count% | Number of alliances |
%lclaim_town_pact_count% | Number of active pacts |
%lclaim_town_conquered_count% | Number of conquered towns |
%lclaim_town_war_list% | List of town names at war |
%lclaim_town_alliance_list% | List of allied town names |
%lclaim_town_pact_list% | List of partnered town names |
%lclaim_town_conquered_list% | List of conquered town names |
%lclaim_town_has_active_war_session% | Has an active war session? (true/false) |
%lclaim_town_daily_upkeep% | Estimated daily upkeep |
%lclaim_in_claimed_chunk% | Is the player in a claimed chunk? |
%lclaim_in_own_town% | Is the player in their own town? |
%lclaim_chunk_town_name% | Town name of the current chunk |
%lclaim_chunk_town_pvp% | PvP status of the current chunk's town |
%lclaim_total_towns% | Total towns on the server |
Data Storage
L-Claim supports SQLite (default) and MySQL/MariaDB backends. Older YAML storage has been replaced by relational SQL storage.
SQLite (Recommended)
- File-based (
plugins/L-Claim/lclaim.db)
MySQL / MariaDB
- Recommended for shared/large servers
- Configure connection in
config.yml
Configure the backend in config.yml:
database:
type: "sqlite" # or "mysql" / "mariadb"
sqlite-file: "lclaim.db"
mysql:
host: "localhost"
port: 3306
database: "lclaim"
username: "root"
password: ""
Backup
- Use
/lclaim backupto create timestamped backups inplugins/L-Claim/backups/ - Automatic periodic saving (
misc.auto-save)
GUI Menus
The plugin features a complete inventory GUI (accessible via /town):
| Menu | Description |
|---|---|
| Town Main | Town management hub — claim, unclaim, map, members, bank, settings, trust, farmer, bounty, diplomacy, level info, teleport, policy, plots, delete/leave |
| Members | Member list with permission editors, kick, and transfer actions |
| Invite | Paginated list of online players to invite |
| Bank | Deposit/withdraw with quick amounts plus custom amounts |
| Town List | Paginated list of all towns |
| Map | Chunk map with color-coded territory |
| Permissions | Granular permission editor for players |
| Settings | Toggle PvP, mob spawning, fire, explosions, visitors |
| Trust | Trusted player management |
| Bounty | View, add, filter, and sort bounties |
| Farmer | Buy, upgrade, toggle items, sell, and view stats |
| Diplomacy | War, peace, alliance, pact, embargoes, conquered towns, and money-transfer menus |
| Conquered Towns | View conquered town details, tribute, and war statistics |
| Town Market | Browse and purchase towns listed for sale |
| Admin Town List | Browse all towns with pagination, search, and detail views |
All GUI menus automatically support English, Turkish, and Spanish text based on the configured language.
Dependencies
| Plugin | Required | Purpose |
|---|---|---|
| Vault | Yes (see economy above) | Economy integration |
| PlaceholderAPI | No | Placeholder expansion |
| Dynmap | No | Dynmap map markers |
| BlueMap | No | BlueMap map markers |
| SquareMap | No | SquareMap map markers |
| Pl3xMap | No | Pl3xMap map markers |
Developers
API DOCS
Installation
- Download the latest
L-Claim.jarfrom the releases page. - Place the JAR in your server's
plugins/folder. - Restart your server (or use
/reload confirm). - Edit
plugins/L-Claim/config.ymlto your preferences. - Use
/lc reloadto apply configuration changes.
Support
discord: squezsaz
Сервер для плагина L-claim - как у профи
Плагин L-claim создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином L-claim для друзей можно за пару минут - BungeeHost всё уже подготовил.
