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.

29

Quick challenge

How far can you run before the mobs catch you?

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

ADS