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

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