# ChunkLock

### [Download Plugin](https://builtbybit.com/resources/chunklock-core.97731/)

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="image">Cover image</th></tr></thead><tbody><tr><td>Chunk Cost</td><td data-object-fit="contain"><a href="/files/snHK67cPqnXctOJnJvNV">/files/snHK67cPqnXctOJnJvNV</a></td></tr><tr><td>Chunk Menu</td><td data-object-fit="contain"><a href="/files/5IsfU1HUY1tNfcqS1UJl">/files/5IsfU1HUY1tNfcqS1UJl</a></td></tr><tr><td>Chunk</td><td data-object-fit="contain"><a href="/files/IMzOXe6M40eAOkH7Gtkl">/files/IMzOXe6M40eAOkH7Gtkl</a></td></tr><tr><td>Friends List</td><td data-object-fit="contain"><a href="/files/HW10SaovnGNQ7OSIvixA">/files/HW10SaovnGNQ7OSIvixA</a></td></tr><tr><td>Friends Permissions</td><td data-object-fit="contain"><a href="/files/6FURuiVhJneCDjKrtG6D">/files/6FURuiVhJneCDjKrtG6D</a></td></tr><tr><td>Chunk Reset</td><td data-object-fit="contain"><a href="/files/l4jOtFw6H3jXbOpawmB3">/files/l4jOtFw6H3jXbOpawmB3</a></td></tr><tr><td>Visit Banned</td><td data-object-fit="contain"><a href="/files/R3atG6U5pB5CXzkqGy7V">/files/R3atG6U5pB5CXzkqGy7V</a></td></tr><tr><td>Progressions</td><td data-object-fit="contain"><a href="/files/OPGKRq6dhm8HSWVpQRNE">/files/OPGKRq6dhm8HSWVpQRNE</a></td></tr><tr><td>Periodic Points</td><td data-object-fit="contain"><a href="/files/GCiO4VG4KK6hs0ycADeH">/files/GCiO4VG4KK6hs0ycADeH</a></td></tr><tr><td>Statistic Rewards</td><td data-object-fit="contain"><a href="/files/DqEBhVrtBuudFiVShwrX">/files/DqEBhVrtBuudFiVShwrX</a></td></tr><tr><td>Advancement Rewards</td><td data-object-fit="contain"><a href="/files/a6FECTtAo4XCbBu1ERMI">/files/a6FECTtAo4XCbBu1ERMI</a></td></tr><tr><td>Warps</td><td data-object-fit="contain"><a href="/files/OzIXSKwJ6JI90k6wk08Y">/files/OzIXSKwJ6JI90k6wk08Y</a></td></tr><tr><td>Edit Warp</td><td data-object-fit="contain"><a href="/files/ounx0x1kHhMEm5OlyIgi">/files/ounx0x1kHhMEm5OlyIgi</a></td></tr><tr><td>Warp Icon Picker</td><td data-object-fit="contain"><a href="/files/OPpzf5e62iBbOtf884Ug">/files/OPpzf5e62iBbOtf884Ug</a></td></tr><tr><td>Chunk Upgrade</td><td data-object-fit="contain"><a href="/files/lw0b0hxcz4utZVU3Ejmr">/files/lw0b0hxcz4utZVU3Ejmr</a></td></tr><tr><td>Questes</td><td data-object-fit="contain"><a href="/files/H3Y7Tt67dZLBoWIfSYFK">/files/H3Y7Tt67dZLBoWIfSYFK</a></td></tr><tr><td>Daily Quests</td><td data-object-fit="contain"><a href="/files/ZEGr7XlATwBGKc59Zt2Z">/files/ZEGr7XlATwBGKc59Zt2Z</a></td></tr><tr><td>Weekly Quests</td><td data-object-fit="contain"><a href="/files/UgojQ2S5dtC9nEa5NCUb">/files/UgojQ2S5dtC9nEa5NCUb</a></td></tr><tr><td>General Quests</td><td data-object-fit="contain"><a href="/files/QFjSMLa4bxCpuwNIfsWT">/files/QFjSMLa4bxCpuwNIfsWT</a></td></tr></tbody></table>

## <mark style="color:$primary;">**Plugin description**</mark>

* ChunkLock is a chunk-based progression gamemode plugin for Paper/Spigot.

  Each player starts with a single home chunk in a dedicated ChunkLock world and expands outward by unlocking neighboring chunks through configurable costs, quests, progression, upgrades, warps, and team systems.
* Personal or team-based Chunk Points
* Locked chunk borders with live TextDisplay / ItemDisplay requirements
* Configurable unlock costs using:
  * Chunk Points
  * Money via Vault
  * Experience levels
  * Items
* Unlock scaling with linear or exponential formulas
* Biome-based home creation
* Friends / team system with detailed internal permissions
* Public and private warps
* Visit browser, reviews, bans, and top lists
* Daily, weekly, and general quests
* Progression rewards from periodic points, statistics, and advancements
* Upgrades for home progression
* SQLite and MySQL support
* PlaceholderAPI support
* Soft integrations for:
  * Vault
  * PlaceholderAPI
  * ItemsAdder
  * Oraxen
  * Nexo
  * MythicMobs
  * MythicCrucible
  * ExecutableItems
  * AdvancedItems
  * EcoItems

## <mark style="color:$primary;">Compatibility</mark>

* Minecraft: `1.19.4 - 1.21.x`
* API: `Paper / Spigot`

## <mark style="color:$primary;">Player Commands</mark>

* `/chunk`
  * Permission: `chunklock.command.menu`
  * Opens the main ChunkLock menu.
* `/chunk create`
  * Permission: `chunklock.command.create`
  * Opens the biome selection GUI and starts home creation.
* `/chunk create stop`
  * Permission: `chunklock.command.create.stop`
  * Stops the active biome search.
* `/chunk points`
  * Permission: `chunklock.command.points`
  * Shows your current Chunk Points balance.
* `/chunk points send <player> <amount>`
  * Permission: `chunklock.command.points.send`
  * Sends Chunk Points to another player or team storage.
* `/chunk points top`
  * Permission: `chunklock.command.points.top`
  * Opens the top Chunk Points GUI.
* `/chunk remove`
  * Permission: `chunklock.command.remove`
  * Removes your ChunkLock home.
* `/chunk spawn`
  * Permission: `chunklock.command.spawn`
  * Teleports you to your home spawn.
* `/chunk setspawn`
  * Permission: `chunklock.command.setspawn`
  * Sets the spawn point for your home.
* `/chunk warp`
  * Permission: `chunklock.command.warp`
  * Opens the global warp browser.
* `/chunk warp <name>`
  * Permission: `chunklock.command.warp`
  * Teleports to a visible warp by name.
* `/chunk <warp-name>`
  * Permission: `chunklock.command.warp`
  * Shortcut for `/chunk warp <name>`.
* `/chunk setwarp <name>`
  * Permission: `chunklock.command.setwarp`
  * Creates a new warp at your current location.
* `/chunk delwarp <name>`
  * Permission: `chunklock.command.delwarp`
  * Deletes one of your managed warps.
* `/chunk quests`
  * Permission: `chunklock.command.quests`
  * Opens the quests menu.
* `/chunk quests daily`
  * Permission: `chunklock.command.quests`
  * Opens the daily quests GUI.
* `/chunk quests weekly`
  * Permission: `chunklock.command.quests`
  * Opens the weekly quests GUI.
* `/chunk quests general`
  * Permission: `chunklock.command.quests`
  * Opens the general quests GUI.
* `/chunk visit`
  * Permission: `chunklock.command.visit`
  * Opens the Visit ChunkLock browser.
* `/chunk visit kick <player>`
  * Permission: `chunklock.command.visit.kick`
  * Kicks a visitor out of your ChunkLock home.
* `/chunk visit ban <player>`
  * Permission: `chunklock.command.visit.ban`
  * Bans a player from visiting your ChunkLock home.
* `/chunk visit unban <player>`
  * Permission: `chunklock.command.visit.unban`
  * Removes a visitor ban.
* `/chunk visit bans`
  * Permission: `chunklock.command.visit.bans`
  * Opens the banned visitors GUI.
* `/chunk review`
  * Permission: `chunklock.command.review`
  * Opens the review GUI for the ChunkLock home you are currently visiting.
* `/chunk top`
  * Permission: `chunklock.command.top`
  * Opens the top ChunkLock homes GUI.
* `/chunk friend add <player>`
  * Permission: `chunklock.command.friend.add`
  * Sends a friend/team invite.
* `/chunk friend remove <player>`
  * Permission: `chunklock.command.friend.remove`
  * Removes a friend from the home team.
* `/chunk friends add <player>`
  * Permission: `chunklock.command.friend.add`
  * Same as `/chunk friend add <player>`.
* `/chunk friends remove <player>`
  * Permission: `chunklock.command.friend.remove`
  * Same as `/chunk friend remove <player>`.
* `/chunk friends accept <player>`
  * Permission: `chunklock.command.friend.accept`
  * Accepts a pending ChunkLock friend invite.
* `/chunk friends decline <player>`
  * Permission: `chunklock.command.friend.decline`
  * Declines a pending ChunkLock friend invite.
* `/chunk help`
  * Permission: `chunklock.command.help`
  * Shows the help message.
* `/chunk info`
  * Permission: `chunklock.command.info`
  * Shows information about the current chunk.
* `/chunk list`
  * Permission: `chunklock.command.list`
  * Lists unlocked chunks.
* `/chunk playershop create`
  * Permission: `chunklock.command.playershop.create`
  * Creates a Player Shop from the targeted supported container block.
* `/chunk admin upgrade add <player> <upgrade> <level>`
  * Permission: `chunklock.command.admin.upgrade.add`
  * Adds upgrade levels to the target player's ChunkLock home.
* `/chunk admin upgrade remove <player> <upgrade> <level>`
  * Permission: `chunklock.command.admin.upgrade.remove`
  * Removes upgrade levels from the target player's ChunkLock home.
* `/chunk achievements`
  * Permission: `chunklock.command.achievements`
  * Opens the ChunkLock achievements GUI.
* `/chunk friend leave`
  * Permission: `chunklock.command.friend.leave`
  * Leaves the current ChunkLock home team.
* `/chunk upgrade`
  * Permission: `chunklock.command.upgrade`
  * Opens the chunk upgrades GUI for your current home.
* `/chunk version`
  * Permission: `chunklock.command.version`
  * Displays a link to the plugin, the version of the plugin on the server, and the latest publicly available version.
* `/chunk settings`
  * Permission: `chunklock.command.settings`
  * Displays a GUI with chunk settings

## <mark style="color:$primary;">Admin Commands</mark>

* `/chunk admin reload`
  * Permission: `chunklock.command.admin.reload`
  * Reloads the plugin runtime configuration.
* `/chunk admin points give <player> <amount>`
  * Permission: `chunklock.command.admin.points.give`
  * Adds Chunk Points.
* `/chunk admin points take <player> <amount>`
  * Permission: `chunklock.command.admin.points.take`
  * Removes Chunk Points.
* `/chunk admin points check <player>`
  * Permission: `chunklock.command.admin.points.check`
  * Shows Chunk Points balance and recent point history.
* `/chunk admin timeabsence <player> <days>`
  * Permission: `chunklock.command.admin.timeabsence`
  * Overrides the inactivity-removal limit for a player.
* `/chunk admin unlock <player> <world> <x> <z>`
  * Permission: `chunklock.command.admin.unlock`
  * Unlocks a chunk for a player.
* `/chunk admin lock <player> <world> <x> <z>`
  * Permission: `chunklock.command.admin.lock`
  * Locks a chunk for a player.
* `/chunk admin reset <player>`
  * Permission: `chunklock.command.admin.reset`
  * Resets a player home.
* `/chunk admin regenerate requirements <player>`
  * Permission: `chunklock.command.admin.regenerate`
  * Regenerates pending unlock requirements for one player.
* `/chunk admin regenerate requirements all`
  * Permission: `chunklock.command.admin.regenerate`
  * Regenerates pending unlock requirements for all homes.
* `/chunk admin upgrade add <player> <upgrade> <level>`
  * Permission: `chunklock.command.admin.upgrade.add`
  * Adds upgrade levels to the target player's ChunkLock home.
* `/chunk admin upgrade remove <player> <upgrade> <level>`
  * Permission: `chunklock.command.admin.upgrade.remove`
  * Removes upgrade levels from the target player's ChunkLock home.
* `/chunk admin reaserch <size>`
  * Permission: `chunklock.command.admin.research`
  * Pre-researches and stores biome chunks in an `NxN` area around spawn.
* `/chunk admin reaserch stop`
  * Permission: `chunklock.command.admin.research.stop`
  * Stops the currently running admin research task.
* `/chunk admin achievement <player> <add|remove|reset> [achievement]`
  * Permission: `chunklock.command.admin.achievement`
  * Adds, removes, or resets achievement progress for a target player.
* `/chunk admin friends add <owner> <player>`
  * Permission: `chunklock.command.admin.friends.add`
  * Adds a player directly to another player's ChunkLock home team.
* `/chunk admin friends remove <owner> <player>`
  * Permission: `chunklock.command.admin.friends.remove`
  * Removes a player directly from another player's ChunkLock home team.

## <mark style="color:$primary;">Permissions</mark>

* `chunklock.bypass`
  * Bypass all ChunkLock restrictions.
* `chunklock.command.menu`
* `chunklock.command.create`
* `chunklock.command.create.stop`
* `chunklock.command.points`
* `chunklock.command.points.send`
* `chunklock.command.points.top`
* `chunklock.command.remove`
* `chunklock.command.spawn`
* `chunklock.command.setspawn`
* `chunklock.command.warp`
* `chunklock.command.setwarp`
* `chunklock.command.delwarp`
* `chunklock.command.quests`
* `chunklock.command.visit`
* `chunklock.command.visit.kick`
* `chunklock.command.visit.ban`
* `chunklock.command.visit.unban`
* `chunklock.command.visit.bans`
* `chunklock.command.review`
* `chunklock.command.top`
* `chunklock.command.friend.add`
* `chunklock.command.friend.remove`
* `chunklock.command.friend.accept`
* `chunklock.command.friend.decline`
* `chunklock.command.help`
* `chunklock.command.info`
* `chunklock.command.list`
* `chunklock.command.admin`
* `chunklock.command.admin.reload`
* `chunklock.command.admin.timeabsence`
* `chunklock.command.admin.unlock`
* `chunklock.command.admin.lock`
* `chunklock.command.admin.reset`
* `chunklock.command.admin.regenerate`
* `chunklock.update.notify`
* `chunklock.command.playershop.create`
* `chunklock.playershop.use`
* `chunklock.playershop.create`
* `chunklock.playershop.edit`
* `chunklock.playershop.delete`
* `chunklock.command.admin.upgrade`
* `chunklock.command.admin.upgrade.add`
* `chunklock.command.admin.upgrade.remove`
* `create_player_shops`
* `edit_player_shops`
* `delete_player_shops`
* `use_player_shops`
* `chunklock.command.achievements`
* `chunklock.command.admin.research`
* `chunklock.command.admin.research.stop`
* `chunklock.command.admin.achievement`
* `chunklock.command.friend.leave`
* `chunklock.command.admin.points`
* `chunklock.command.admin.points.give`
* `chunklock.command.admin.points.take`
* `chunklock.command.admin.points.check`
* `chunklock.command.admin.friends`
* `chunklock.command.admin.friends.add`
* `chunklock.command.admin.friends.remove`
* `chunklock.command.upgrade`
* `chunklock.command.version`
* `chunklock.command.settings`

## <mark style="color:$primary;">Dynamic Permissions</mark>

* `chunklock.limit.<value>`
  * Example: `chunklock.limit.96`
* `chunklock.limit.unlimited`
* `chunk.periodicpoints.<amount>`
  * Example: `chunk.periodicpoints.5`
* `chunklock.costchunk.reduction.<key>`
  * Example: `chunklock.costchunk.reduction.vip`
* `chunklock.upgrade.reduction.<key>`
  * Example: `chunklock.upgrade.reduction.vip`

## <mark style="color:$primary;">Placeholders</mark>

Identifier:

* `chunklock`

Format:

* `%chunklock_<placeholder>%`

### General / Chunk Points

* `%chunklock_points%`
* `%chunklock_chunk_points%`
* `%chunklock_home_chunk_points%`
* `%chunklock_team_chunk_points%`
* `%chunklock_current_home_chunk_points%`
* `%chunklock_unlocked%`
* `%chunklock_limit%`
* `%chunklock_current_unlocked%`

### Home Information

* `%chunklock_home_world%`
* `%chunklock_home_chunk_x%`
* `%chunklock_home_chunk_z%`
* `%chunklock_home_biome%`
* `%chunklock_home_created_at%`
* `%chunklock_home_friends%`
* `%chunklock_home_team_size%`
* `%chunklock_home_friend_limit%`
* `%chunklock_home_upgrades%`
* `%chunklock_home_warp_count%`
* `%chunklock_home_public_warp_count%`
* `%chunklock_home_private_warp_count%`
* `%chunklock_home_visits%`
* `%chunklock_home_votes_positive%`
* `%chunklock_home_votes_negative%`
* `%chunklock_home_bans%`
* `%chunklock_home_visits_enabled%`
* `%chunklock_home_spawn_world%`

### Current Chunk / Current Home

* `%chunklock_current_world%`
* `%chunklock_current_chunk_x%`
* `%chunklock_current_chunk_z%`
* `%chunklock_current_home_owner%`
* `%chunklock_current_home_owner_uuid%`
* `%chunklock_current_home_world%`
* `%chunklock_current_home_chunk_x%`
* `%chunklock_current_home_chunk_z%`
* `%chunklock_current_home_created_at%`
* `%chunklock_current_home_biome%`
* `%chunklock_current_home_friends%`
* `%chunklock_current_home_unlocked%`
* `%chunklock_current_home_upgrades%`
* `%chunklock_current_home_team_size%`
* `%chunklock_current_home_warp_count%`
* `%chunklock_current_home_public_warp_count%`
* `%chunklock_current_home_private_warp_count%`
* `%chunklock_current_home_visits%`
* `%chunklock_current_home_votes_positive%`
* `%chunklock_current_home_votes_negative%`
* `%chunklock_current_home_bans%`
* `%chunklock_current_home_visits_enabled%`
* `%chunklock_current_is_owner%`

### Quest Access / Overview

* `%chunklock_quests_has_access%`
* `%chunklock_quests_owner%`
* `%chunklock_quests_owner_uuid%`

### Daily Quest Summary

* `%chunklock_quests_daily_completed%`
* `%chunklock_quests_daily_total%`
* `%chunklock_quests_daily_remaining%`
* `%chunklock_quests_daily_percent%`
* `%chunklock_quests_daily_active%`
* `%chunklock_quests_daily_claimable%`
* `%chunklock_quests_daily_next_reset%`
* `%chunklock_quests_daily_next_reset_countdown%`
* `%chunklock_quests_daily_next_reset_unix%`

### Weekly Quest Summary

* `%chunklock_quests_weekly_completed%`
* `%chunklock_quests_weekly_total%`
* `%chunklock_quests_weekly_remaining%`
* `%chunklock_quests_weekly_percent%`
* `%chunklock_quests_weekly_active%`
* `%chunklock_quests_weekly_claimable%`
* `%chunklock_quests_weekly_next_reset%`
* `%chunklock_quests_weekly_next_reset_countdown%`
* `%chunklock_quests_weekly_next_reset_unix%`

### General Quest Summary

* `%chunklock_quests_general_completed%`
* `%chunklock_quests_general_total%`
* `%chunklock_quests_general_remaining%`
* `%chunklock_quests_general_percent%`
* `%chunklock_quests_general_active%`
* `%chunklock_quests_general_claimable%`

### Per-Quest Pattern

Pattern:

* `%chunklock_quest_<scope>_<key>_<field>%`

Scopes:

* `daily`
* `weekly`
* `general`

Fields:

* `unlocked`
* `locked`
* `permission`
* `progress`
* `required`
* `remaining`
* `progress_percent`
* `completed`
* `claimed`
* `ready_to_claim`
* `completed_at`
* `completed_by`
* `claimed_at`
* `claimed_by`
* `name`
* `scope`
* `type`
* `target`
* `target_kind`
* `target_kind_name`
* `target_is_custom`
* `target_is_vanilla`
* `target_reference`
* `reward_money`
* `reward_exp`
* `reward_chunk_points`
* `reward_items`
* `reward_commands`
* `random_reward`
* `random_item`
* `random_command`
* `shared_progress`
* `shared_claim`

Example:

* `%chunklock_quest_daily_break_stone_progress%`

### Progression

* `%chunklock_progression_enabled%`
* `%chunklock_progression_starting_points%`
* `%chunklock_progression_periodic_enabled%`
* `%chunklock_progression_periodic_amount%`
* `%chunklock_progression_periodic_reward%`
* `%chunklock_progression_periodic_interval%`
* `%chunklock_progression_periodic_interval_minutes%`
* `%chunklock_progression_periodic_next_payout%`
* `%chunklock_progression_periodic_next_payout_unix%`
* `%chunklock_progression_statistic_rewards%`
* `%chunklock_progression_statistic_count%`
* `%chunklock_progression_advancement_rewards%`
* `%chunklock_progression_advancement_count%`

### Top Chunk Points

Pattern:

* `%chunklock_top_points_<rank>_<field>%`

Fields:

* `name`
* `uuid`
* `points`
* `joined_at`
* `joined_unix`

Examples:

* `%chunklock_top_points_1_name%`
* `%chunklock_top_points_3_points%`

### Top ChunkLock Homes

Patterns:

* `%chunklock_top_chunk_positive_<rank>_<field>%`
* `%chunklock_top_chunk_negative_<rank>_<field>%`

Fields:

* `owner`
* `owner_uuid`
* `world`
* `chunk_x`
* `chunk_z`
* `created_at`
* `created_unix`
* `last_seen_at`
* `last_seen_unix`
* `visits`
* `positive_votes`
* `negative_votes`
* `vote_score`
* `visits_enabled`
* `biome`
* `friends`
* `team_size`
* `upgrades`
* `unlocked`
* `warp_count`
* `public_warp_count`
* `private_warp_count`

Examples:

* `%chunklock_top_chunk_positive_1_owner%`
* `%chunklock_top_chunk_positive_3_warp_count%`
* `%chunklock_top_chunk_negative_5_negative_votes%`

### Players Shop

* Home Shop Summary:
  * `%chunklock_home_shop_count%`
  * `%chunklock_home_public_shop_count%`
  * `%chunklock_home_private_shop_count%`
  * `%chunklock_home_shop_pending_claims%`
  * `%chunklock_home_shop_pending_exp%`
  * note: the `pending_*` names are legacy; in current 1.1.0 they expose shared owner-bank item / EXP totals
* Current Home Shop Summary:
  * `%chunklock_current_home_shop_count%`
  * `%chunklock_current_home_public_shop_count%`
  * `%chunklock_current_home_private_shop_count%`
* Looked-at Player Shop:
  * `%chunklock_current_shop_name%`
  * `%chunklock_current_shop_owner%`
  * `%chunklock_current_shop_home_owner%`
  * `%chunklock_current_shop_currency%`
  * `%chunklock_current_shop_price%`
  * `%chunklock_current_shop_sell_price%`
  * `%chunklock_current_shop_buy_price%`
  * `%chunklock_current_shop_trade_mode%`
  * `%chunklock_current_shop_stock%`
  * `%chunklock_current_shop_public%`
  * `%chunklock_current_shop_payout_target%`
  * `%chunklock_current_shop_pending_claims%`
  * note: `%chunklock_current_shop_pending_claims%` also uses the legacy name and now exposes the shared owner item-bank tota

### Action Bar

* `%percent%`
* `%progress_percent%`
* `%remaining%`
* `%progress_bar%`
* `%bar%`

## <mark style="color:$primary;">Config Files</mark>

{% tabs %}
{% tab title="biomes.yml" %}

```yml
# Start biome choices shown in the /chunk create GUI.
# Each biome entry below:
# - defines the button name and icon shown to the player
# - provides optional lore lines in the GUI
# - maps the choice to one or more real Bukkit biome IDs used during world search
# - can require an optional permission with permission:
# You can freely add, remove or rename entries as long as the biome names in matches: are valid.

biomes:
  desert:
    display-name: Desert
    material: SAND
    permission: ''
    description:
      - '&7Warm start with desert resources.'
    matches: [DESERT]
  savanna:
    display-name: Savanna
    material: ACACIA_LOG
    permission: ''
    description:
      - '&7Dry grasslands with acacia trees.'
    matches: [SAVANNA, SAVANNA_PLATEAU, WINDSWEPT_SAVANNA]
  jungle:
    display-name: Jungle
    material: JUNGLE_LOG
    permission: ''
    description:
      - '&7Dense jungle full of vegetation.'
    matches: [JUNGLE, SPARSE_JUNGLE, BAMBOO_JUNGLE]
  plains:
    display-name: Plains
    material: GRASS_BLOCK
    permission: ''
    description:
      - '&7Open fields with easy expansion.'
    matches: [PLAINS, SUNFLOWER_PLAINS]
  forest:
    display-name: Forest
    material: OAK_SAPLING
    permission: ''
    description:
      - '&7Classic forest biome start.'
    matches: [FOREST, FLOWER_FOREST]
  birch_forest:
    display-name: Birch Forest
    material: BIRCH_LOG
    permission: ''
    description:
      - '&7Bright forest with birch trees.'
    matches: [BIRCH_FOREST]
  old_growth_birch_forest:
    display-name: Old Growth Birch Forest
    material: BIRCH_LEAVES
    permission: ''
    description:
      - '&7Large birch forest terrain.'
    matches: [OLD_GROWTH_BIRCH_FOREST]
  taiga:
    display-name: Taiga
    material: SPRUCE_LOG
    permission: ''
    description:
      - '&7Cold forest with spruce trees.'
    matches: [TAIGA, OLD_GROWTH_SPRUCE_TAIGA, OLD_GROWTH_PINE_TAIGA]
  snow:
    display-name: Snow
    material: SNOW_BLOCK
    permission: ''
    description:
      - '&7Snowy and icy starting area.'
    matches: [SNOWY_PLAINS, ICE_SPIKES, SNOWY_TAIGA, SNOWY_BEACH, SNOWY_SLOPES, FROZEN_PEAKS]
  mountains:
    display-name: Mountains
    material: STONE
    permission: ''
    description:
      - '&7High elevation and mountain views.'
    matches: [MEADOW, GROVE, STONY_PEAKS, JAGGED_PEAKS, WINDSWEPT_HILLS, WINDSWEPT_GRAVELLY_HILLS, WINDSWEPT_FOREST]
  badlands:
    display-name: Badlands
    material: RED_SAND
    permission: ''
    description:
      - '&7Mesa-style terrain with red sand.'
    matches: [BADLANDS, ERODED_BADLANDS, WOODED_BADLANDS]
  swamp:
    display-name: Swamp
    material: LILY_PAD
    permission: ''
    description:
      - '&7Murky biome with swamp features.'
    matches: [SWAMP, MANGROVE_SWAMP]
  mushroom_fields:
    display-name: Mushroom Fields
    material: RED_MUSHROOM_BLOCK
    permission: ''
    description:
      - '&7Rare island-style mushroom biome.'
    matches: [MUSHROOM_FIELDS]

```

{% endtab %}

{% tab title="chunks.yml" %}

```yml
# ChunkLock chunk/home configuration.
# This file controls chunk unlocking rules, chunk/home limits, home removal,
# /chunk spawn behavior and chunk-related sounds.
# sounds.unlock-failed-items plays when a manual unlock is attempted without the required deposited items.
# sounds.unlock-failed-points plays when a manual unlock is attempted without enough Chunk Points.

unlock:
  chunk-points:
    # If true, every manual chunk unlock also requires Chunk Points.
    enabled: true
    # Fixed Chunk Point cost used for every manual unlock.
    cost: 1
  currencies:
    # If true and more than one currency below is enabled, ChunkLock picks only one
    # of the enabled currencies for a given chunk requirement.
    random-one-of-enabled: false
    money:
      # Requires Vault + an economy provider.
      enabled: false
      amount: 500.0
      # Optional mode override for money scaling. Leave empty to use unlock.scaling.mode.
      scaling-mode: ""
      # Optional percent override for money scaling.
      # Set to -1.0 to use unlock.scaling.percent-per-chunk.
      scaling-percent-per-chunk: -1.0
      # Optional max multiplier override for money scaling.
      # Set to -1.0 to use unlock.scaling.max-multiplier.
      max-multiplier: -1.0
    experience:
      enabled: false
      levels: 5
      # Optional mode override for experience scaling. Leave empty to use unlock.scaling.mode.
      scaling-mode: ""
      # Optional percent override for experience scaling.
      # Set to -1.0 to use unlock.scaling.percent-per-chunk.
      scaling-percent-per-chunk: -1.0
      # Optional max multiplier override for experience scaling.
      # Set to -1.0 to use unlock.scaling.max-multiplier.
      max-multiplier: -1.0
    items:
      enabled: true
      # Item groups and detector materials are configured in unlock-items.yml.
      # If true, the auto-scanned item pool may also include common overworld mob drops.
      include-mob-drops: true
      # Optional mode override for item scaling. Leave empty to use unlock.scaling.mode.
      scaling-mode: ""
      # Optional percent override for item scaling.
      # Set to -1.0 to use unlock.scaling.percent-per-chunk.
      # Per-group scaling-percent-per-chunk in unlock-items.yml has higher priority.
      scaling-percent-per-chunk: -1.0
      # Optional max multiplier override for item scaling.
      # Set to -1.0 to use unlock.scaling.max-multiplier.
      max-multiplier: -1.0
  scaling:
    # Scaling mode for money / exp / item costs.
    # EXPONENTIAL: multiplier = (1 + percent/100) ^ (unlockedChunks - 1)
    # LINEAR:      multiplier = 1 + (percent/100) * (unlockedChunks - 1)
    mode: EXPONENTIAL
    # Global fallback percent used for money amount, exp level cost and item amount.
    # You can override it per currency above, and for items also per group in unlock-items.yml.
    # Chunk Point cost above stays fixed and does not scale.
    # Example with EXPONENTIAL and 15.0:
    # - 1st next chunk uses the base money / exp / item values
    # - 2nd next chunk uses base * 1.15
    # - 3rd next chunk uses base * 1.15^2
    percent-per-chunk: 15.0
    # Optional hard cap for the scaling multiplier. Use 0 for no cap.
    max-multiplier: 40.0

limits:
  # Default maximum number of unlocked chunks a player can own.
  # Use -1 for no limit.
  global: 64
  by-permission:
    # Optional permission-based limit overrides.
    # Format:
    # permission.node: max-unlocked-chunks
    #
    # Examples:
    # - a player with chunklock.limit.96 can unlock up to 96 chunks
    # - a player with chunklock.limit.unlimited has no limit
    #
    # If a player has multiple matching permissions, ChunkLock uses the highest limit.
    # Example:
    # - chunklock.limit.96 and chunklock.limit.128 -> final limit = 128
    #
    # Use -1 for unlimited access.
    chunklock.limit.96: 96
    chunklock.limit.128: 128
    chunklock.limit.unlimited: -1

remove:
  # Cooldown between successful /chunklock remove resets.
  cooldown-seconds: 3600
  # Players are teleported to this world's spawn after confirming removal.
  teleport-world: world
  # If true, all unlocked ChunkLock chunks are regenerated back to the world's original terrain.
  reset-terrain: true
  # If true, the player's inventory, armor and off-hand are wiped on remove.
  clear-inventory: true
  # If true, the player's ender chest is wiped on remove.
  clear-ender-chest: true

spawn-command:
  wait:
    # If true, /chunk spawn starts a delayed teleport instead of teleporting instantly.
    enabled: true
    # Time the player must stand still before /chunk spawn completes.
    seconds: 5

visit-command:
  cooldown:
    # If true, /chunk visit applies a cooldown between successful visits to other homes.
    enabled: true
    # Time in seconds before the same player can use /chunk visit again.
    seconds: 5

visit-settings:
  # Default visits state used when a brand new ChunkLock home is created.
  # Existing homes keep their current setting until the owner changes it in the GUI.
  default-enabled: true

inactivity-removal:
  # If true, offline players lose their ChunkLock home after too many inactive days.
  enabled: false
  # Default number of offline days before a player's ChunkLock home is removed and terrain is restored.
  # Admins can override this per player with /chunklock admin timeabsence <player> <days>.
  days: 14
  # How often ChunkLock should scan for inactive homes.
  check-interval-hours: 6

sounds:
  create:
    enabled: true
    type: ENTITY_PLAYER_LEVELUP
    volume: 1.0
    pitch: 1.15
  remove:
    enabled: true
    type: BLOCK_RESPAWN_ANCHOR_DEPLETE
    volume: 0.9
    pitch: 0.75
  unlock:
    enabled: true
    type: ENTITY_EXPERIENCE_ORB_PICKUP
    volume: 1.0
    pitch: 1.0
  deposit-items:
    enabled: true
    type: ENTITY_ITEM_PICKUP
    volume: 0.9
    pitch: 1.1
  deposit-items-failed:
    enabled: true
    type: BLOCK_NOTE_BLOCK_BASS
    volume: 1.0
    pitch: 0.8
  unlock-failed-items:
    enabled: true
    type: BLOCK_NOTE_BLOCK_BASS
    volume: 1.0
    pitch: 0.7
  unlock-failed-points:
    enabled: true
    type: BLOCK_NOTE_BLOCK_BASS
    volume: 1.0
    pitch: 0.55
  spawn-teleport:
    enabled: true
    type: ENTITY_ENDERMAN_TELEPORT
    volume: 1.0
    pitch: 1.0
  visit-teleport:
    enabled: true
    type: ENTITY_ENDERMAN_TELEPORT
    volume: 1.0
    pitch: 1.15

```

{% endtab %}

{% tab title="community.yml" %}

```yml
# ChunkLock community configuration.
# This file controls friend/team settings and default team permissions.

friends:
  # Maximum number of friends a home can have before upgrades are applied.
  base-limit: 3
  # How long a /chunk friends add invite stays valid before it expires automatically.
  invite-expire-seconds: 60
  # Available keys include:
  # place_blocks, break_blocks, unlock_chunks, set_spawn, set_warps, delete_warps,
  # edit_warps, create_player_shops, edit_player_shops, delete_player_shops, use_player_shops, buy_upgrades,
  # manage_friends, manage_friend_permissions, manage_visitors,
  # manage_visitor_permissions, kill_mobs, drop_items, interact,
  # containers, doors, redstone, buckets, pickup_items, pvp, teleport,
  # send_chunk_points
  default-permissions:
    - interact
    - containers
    - doors
    - pickup_items
    - teleport

```

{% endtab %}

{% tab title="config.yml" %}

```yml
# ChunkLock main configuration.
# This file contains gameplay, protection and feature settings.
# Database settings were moved to database.yml.
# Empty lists usually mean "use the default behavior described in the section comments".

# Language file loaded from plugins/ChunkLock/messages/.
# Example: "en.yml", "pl.yml", "cs.yml", "it.yml"
# Translating a file does not switch the plugin automatically.
# If you create a custom translation like it.yml, set language: "it.yml" and run /chunk admin reload.
language: "en.yml"

# Global verbose debug mode.
# false = only normal ChunkLock logs.
# true = extra diagnostic logs in console and plugins/ChunkLock/logs/debug.log.
debug: false

world:
  # Name of the generated ChunkLock overworld.
  name: ChunkLock-world
  # Bukkit world environment. NORMAL is standard overworld terrain.
  environment: NORMAL
  # If true, villages, temples and other vanilla structures can generate.
  generate-structures: true
  # Leave empty for a random seed, or set a custom seed to reuse the same terrain layout.
  seed: ""
  # Default difficulty applied to the generated ChunkLock world.
  difficulty: NORMAL
  # Extra Y offset used when teleporting players to a safe point in the center of a chunk.
  spawn-height-offset: 2
  allocation:
    # Minimum square distance in chunks from any other active player's home chunk.
    # Example: 50 means no new home can be created within 50 chunks east/west and 50 chunks north/south of another player's home.
    # ChunkLock automatically derives its internal search spacing from this value, so a separate chunk-spacing option is no longer needed.
    min-home-distance-chunks: 50
    # Number of spiral positions checked in one biome-search window before ChunkLock continues farther out.
    # This is no longer a hard "give up after this many checks" limit.
    # Lower = more frequent async yields, higher = fewer search windows but more work per pass.
    max-biome-search-attempts: 5000
    # How many candidate chunks /chunk create may inspect in parallel while searching for the selected biome.
    # Lower = safer TPS, higher = faster search. Recommended range: 1-4.
    biome-search-parallelism: 2
    # How many chunks /chunk admin reaserch may inspect in parallel.
    # Lower = safer TPS, higher = faster research. Recommended range: 2-6.
    research-parallelism: 4
    # Whether admin biome research may generate missing chunks while scanning.
    # false = safer for live servers because research only inspects already generated chunks.
    research-generate-missing-chunks: false
    quality:
      # Maximum allowed percentage of surface columns covered by water for a start chunk.
      # Example: 30.0 means a chunk is rejected if water covers more than 30% of its surface.
      max-water-percent: 30.0

protection:
  # Leave empty to manage only the generated ChunkLock world above.
  # Add world names here only if you intentionally want ChunkLock protection outside the main world.
  managed-worlds: []
  # Worlds completely ignored by ChunkLock protection and access checks.
  blacklist-worlds:
    - world_nether
    - world_the_end
  effects:
    # If true, blocked actions also show a short warning above the hotbar.
    action-bar: true
    sound:
      # If true, blocked actions play the sound below.
      enabled: true
      # Bukkit/Paper sound enum name used for blocked action feedback.
      type: BLOCK_NOTE_BLOCK_BASS
      # Playback volume for the blocked-action sound.
      volume: 1.0
      # Playback pitch for the blocked-action sound.
      pitch: 0.7
  portals:
    # If true, nether portals cannot be created or used in ChunkLock managed worlds.
    block-nether: true
    # If true, end portals and gateways cannot be used in ChunkLock managed worlds.
    block-end: true
  wall:
    material: GRAY_STAINED_GLASS
    # Distance in blocks from the wall at which border displays become visible.
    display-activation-distance: 6.0
    # How often TextDisplay / ItemDisplay positions are updated to follow the viewer vertically.
    # Lower = smoother movement, slightly more frequent display sync work.
    display-follow-interval-ticks: 4
    # Minimum time between full nearby wall display visibility scans for the same viewer.
    # Lower = faster show/hide reaction, higher = less CPU usage with many players.
    display-visibility-sync-interval-ms: 250
    # Minimum horizontal movement before ChunkLock re-checks which nearby wall displays should be visible.
    # Lower = more responsive, higher = less scanning while players strafe in place.
    display-visibility-sync-min-horizontal-move: 0.75
    # Display entity teleport interpolation duration used for smooth up/down movement.
    # 0 = instant snapping, 2-4 = smooth without too much lag.
    display-follow-teleport-duration-ticks: 3
    # Minimum vertical difference before ChunkLock moves a wall display.
    # Lower = more precise following, higher = less movement and less visual jitter.
    display-follow-min-delta: 0.01
    # Maximum wall block updates processed per tick.
    # Lower = smaller MSPT spikes, higher = faster wall rebuilds.
    block-update-batch-size: 256
    # Upper cap for the adaptive wall update burst size when many edge updates are queued at once.
    # ChunkLock raises the per-tick batch temporarily during unlock spikes so walls do not stay half-built for too long.
    block-update-max-batch-size: 2048
    # Target amount of ticks used to drain the current wall update queue.
    # Lower = faster recovery after mass unlocks, higher = smaller per-tick bursts.
    block-update-target-drain-ticks: 20
    # If true, the visible slice of walls close to online players is updated immediately instead of waiting for the batch queue.
    immediate-nearby-updates: true
    # Maximum horizontal distance in blocks for using immediate real block updates on a wall edge.
    immediate-update-distance: 24.0
    # Vertical padding around nearby players that is updated instantly before the rest of the wall finishes in the queue.
    immediate-update-vertical-padding: 24
    # Unlock item icons are positioned automatically based on the current progress text length.
    # TextDisplay / ItemDisplay anchor height above the local terrain.
    display-height: 3.0
    # Number of unlocked source chunks refreshed per tick when /chunk admin reload rebuilds walls/displays.
    reload-batch-size: 24
  external-home-commands:
    # Blocks external sethome-style commands inside managed ChunkLock worlds
    # unless the player stands on an unlocked chunk of their own ChunkLock home/team.
    enabled: true
    commands:
      - sethome
      - esethome
      - essentials:sethome
      - cmi:sethome
      - home set
      - homes set

modules:
  # Controls the /chunk root menu.
  menu: true
  # Controls Chunk Points balance, commands, GUI mentions, rewards, costs and Player Shop currency integration.
  chunk-points: true
  # Controls /chunk create and biome selection.
  create: true
  # Controls /chunk remove and related reset GUI.
  remove: true
  # Controls /chunk spawn.
  spawn: true
  # Controls /chunk settings and the per-chunk environment settings GUI.
  chunk-settings: true
  # Controls public home visiting and visit settings GUI.
  visits: true
  # Controls /chunk review and review GUI.
  reviews: true
  # Controls friend commands, friend GUI and friend permissions.
  friends: true
  # Controls warp commands, warp browser GUI and warp editor GUI.
  warps: true
  # Controls Player Shop creation, editor GUI, buyer GUI, recipe item and shop interactions.
  playershop: true
  # Controls upgrade GUI, purchases and upgrade effects.
  upgrades: true
  # Controls quests.yml, quest progress tracking and quest GUIs.
  quests: true
  # Controls progression rewards from progression.yml.
  progression: true
  # Controls the full achievement module: tracking, GUI and /chunk achievements.
  # Set this to false to disable achievements completely.
  achievements: true
  # Controls automatic home removal for inactive offline players.
  inactivity-removal: true

chunk-points:
  # PERSONAL = every player uses their own Chunk Points balance.
  # TEAM = all friends use one shared Chunk Points balance stored on the ChunkLock home owner.
  mode: PERSONAL

update-checker:
  # If true, ChunkLock checks the official BuiltByBit page for updates once per hour.
  # Players with the permission chunklock.update.notify are informed when they join.
  enabled: true

performance:
  boundary:
    # Maximum number of wall display viewer syncs processed in one tick.
    # Lower = safer MSPT under heavy load, higher = faster display catch-up.
    max-viewer-syncs-per-tick: 12
  player-shops:
    # Maximum number of nearby player shop display syncs processed in one tick.
    # Lower = safer MSPT, higher = faster text display refresh for all players.
    max-display-syncs-per-tick: 16
  caches:
    home-summaries:
      # Shared cache for visit browser, chunk top and warp browser home summary lookups.
      enabled: true
      # How long cached home summaries stay valid after being rebuilt.
      ttl-seconds: 5
    player-names:
      # Short-term cache for offline name lookups used in GUIs, placeholders and messages.
      enabled: true
      # How long a resolved player name may stay cached.
      ttl-seconds: 300
      # Maximum amount of cached player name entries.
      maximum-size: 4096
    leaderboards:
      # Controls Caffeine cache for top chunk points and chunk top rankings.
      enabled: true
      # How long leaderboard results stay cached.
      ttl-seconds: 5
      # Maximum amount of cached leaderboard variants kept in memory.
      maximum-size: 32

promotions:
  chunk-unlock:
    # Highest matching permission below is used.
    # Values accept either plain numbers like 15 or strings like "15%".
    # Reductions are applied after unlock scaling.
    # Reduced costs are always rounded down to whole numbers and never go below 1
    # while the original cost is greater than 0.
    by-permission:
      chunklock.costchunk.reduction.vip: "15%"
      chunklock.costchunk.reduction.elite: "25%"
  upgrades:
    # Highest matching permission below is used.
    # Values accept either plain numbers like 15 or strings like "15%".
    # Reduced costs are always rounded down to whole numbers and never go below 1
    # while the original cost is greater than 0.
    by-permission:
      chunklock.upgrade.reduction.vip: "15%"
      chunklock.upgrade.reduction.elite: "25%"

```

{% endtab %}

{% tab title="database.yml" %}

```yml
# ChunkLock database configuration.
# This file controls only data storage and autosave behavior.
# It is separate from config.yml so database credentials and performance tuning
# are easier to maintain without touching gameplay settings.

storage:
  # Supported values:
  # - SQLITE: local database file stored in this plugin folder
  # - MYSQL: external MySQL/MariaDB server
  type: SQLITE

  # How often cached player data should be flushed to the database.
  # Lower values are safer but write more often. Higher values reduce writes
  # but increase the amount of recent data that could be lost in a crash.
  save-interval-minutes: 5

  # These pool settings are used only when storage.type = MYSQL.
  # SQLITE does not use Hikari pooling in ChunkLock.
  pool:
    # Maximum number of open MySQL connections.
    maximum-pool-size: 6
    # Minimum number of idle MySQL connections kept ready in the pool.
    minimum-idle: 2
    # How long ChunkLock waits for a free MySQL connection before failing.
    connection-timeout-ms: 10000
    # Maximum lifetime of one pooled MySQL connection before it is recycled.
    max-lifetime-ms: 600000

  sqlite:
    # Relative path inside the plugin folder for the SQLite database file.
    file: data/chunklock.db
    # How long SQLite should wait for a locked database file before failing a write.
    # Higher values reduce SQLITE_BUSY errors during heavy resets or bulk wall updates.
    busy-timeout-ms: 5000

  mysql:
    # Hostname or IP address of your MySQL server.
    host: 127.0.0.1
    # MySQL server port.
    port: 3306
    # Database/schema name used by ChunkLock.
    database: chunklock
    # MySQL login username.
    username: root
    # MySQL login password.
    password: change-me
    # Optional MySQL table prefix.
    # Leave empty to use the default chunklock_ prefix.
    # Example: "survival_" creates tables like survival_players, survival_requirements, etc.
    prefix: ""

```

{% endtab %}

{% tab title="playershop.yml" %}

```yml
# Player Shop configuration.
# This file controls how physical player-owned shops are created, edited and purchased.

enabled: true

creation:
  # If true, /chunk playershop create can convert a looked-at chest into a Player Shop.
  command-enabled: true
  recipe:
    # If true, a special Player Shop chest item can be crafted and placed.
    enabled: true
    # The recipe creates a renamed Player Shop item with ChunkLock metadata.
    # Vanilla example:
    # result:
    #   material: CHEST
    # Supported custom item providers use the same reference format as the rest of ChunkLock, for example:
    # - itemsadder:namespace:item_name
    # - oraxen:item_id
    # - nexo:item_id
    # - mythiccrucible:item_id
    # - executableitems:item_id
    # - advanceditems:item_id
    # - ecoitems:item_id
    result:
      material: CHEST
      name: '<gold>Player Shop</gold>'
      lore:
        - '<gray>Place this chest on your ChunkLock home</gray>'
        - '<gray>to create a Player Shop.</gray>'
    # Standard shaped recipe.
    # The default recipe is:
    # E E E
    # E C E
    # E E E
    # Vanilla ingredients use Bukkit material names like EMERALD or CHEST.
    # Supported custom item providers can also be used here with the same references as above, for example:
    # ingredients:
    #   E: itemsadder:namespace:green_gem
    #   C: oraxen:shop_core
    shape:
      - 'EEE'
      - 'ECE'
      - 'EEE'
    ingredients:
      E: EMERALD
      C: CHEST
  creation-cost:
    # Costs are charged only when a brand new shop is created.
    # Any combination can be enabled:
    # - money
    # - experience levels
    # - Chunk Points
    # - items
    money:
      enabled: false
      amount: 0.0
    experience:
      enabled: false
      levels: 0
    chunk-points:
      enabled: false
      amount: 0
    items:
      enabled: false
      # Vanilla material or supported custom item reference.
      material: EMERALD
      # Optional display name used in messages and GUI.
      display-name: ''
      amount: 0

shops:
  # Default maximum number of Player Shops available for one ChunkLock home.
  # Upgrades can raise this further. Use -1 for no limit.
  base-limit: 5
  # Default visibility for newly created shops.
  # false = everyone can see the shop, but only the owner and team can buy from it.
  # true  = everyone can buy from it.
  public-by-default: false
  block:
    # Physical block placed at the Player Shop location.
    # Vanilla examples: CHEST, ENDER_CHEST, BARREL.
    # Supported custom item providers can also be used here with the same references as above.
    # When a custom reference is used, ChunkLock keeps a hidden CHEST as the physical shop block
    # and renders the custom item model above it as the visible shop block.
    material: CHEST
  # Default currency used for new shops before the owner changes it.
  default-currency: MONEY
  # Default trade mode:
  # SELL = visitors buy items from the shop
  # BUY  = visitors sell items to the shop
  # BOTH = both actions are enabled at the same time
  default-trade-mode: SELL
  # Default numeric unit price used for money / exp / Chunk Points shops.
  default-unit-price: 0.0
  # Default barter amount used when the shop currency is ITEM.
  default-barter-amount: 1
  # If true, shop names default to the shop owner's name when left blank.
  use-owner-name-when-empty: true
  # Max visible shop name length used by chat rename.
  max-name-length: 32
  # Max view range in blocks for the floating price TextDisplay above the shop.
  # Players farther away than this will not see the shop text.
  text-display-view-range: 10.0
  # If true, buyers can see private shops in the GUI and in-world display,
  # but only the owner and team can buy from them.
  show-private-to-everyone: true
  # Default payout target:
  # SHOP_OWNER = money/items/points go to the player who owns the shop.
  # HOME_OWNER = money/items/points go to the ChunkLock home owner.
  default-payout-target: SHOP_OWNER

editing:
  # If true, shop editing is opened by SHIFT + right click on the shop chest.
  shift-right-click-editor: true
  # If true, chat prompts support typing "cancel" to abort.
  allow-chat-cancel: true
  # How many seconds a pending rename / price prompt stays active.
  prompt-timeout-seconds: 60

buying:
  # If true, the buyer GUI shows a Buy All button.
  buy-all-enabled: true
  # If true, item purchases are limited by both stock and what the buyer can afford.
  respect-affordability: true

sounds:
  create:
    enabled: true
    type: BLOCK_ENDER_CHEST_OPEN
    volume: 1.0
    pitch: 1.05
  open-buyer:
    enabled: true
    type: BLOCK_CHEST_OPEN
    volume: 0.95
    pitch: 1.0
  open-editor:
    enabled: true
    type: BLOCK_ENDER_CHEST_OPEN
    volume: 0.95
    pitch: 1.08
  buyer-click:
    enabled: true
    type: UI_BUTTON_CLICK
    volume: 0.85
    pitch: 1.0
  editor-click:
    enabled: true
    type: UI_BUTTON_CLICK
    volume: 0.85
    pitch: 1.05
  delete:
    enabled: true
    type: BLOCK_CHEST_CLOSE
    volume: 1.0
    pitch: 0.8
  purchase:
    enabled: true
    type: ENTITY_EXPERIENCE_ORB_PICKUP
    volume: 1.0
    pitch: 1.15
  quantity-increase:
    enabled: true
    type: UI_BUTTON_CLICK
    volume: 0.85
    pitch: 1.15
  quantity-decrease:
    enabled: true
    type: UI_BUTTON_CLICK
    volume: 0.85
    pitch: 0.9

```

{% endtab %}

{% tab title="progression.yml" %}

```yml
# ChunkLock progression configuration.
# This file controls passive and milestone-based rewards such as Chunk Points, EXP, money and advancement milestones.
# The whole progression system can still be turned on/off from config.yml -> modules.progression.
#
# Achievement system:
# - General GUI achievements are configured in achivments.yml.
# - The whole achievement GUI/command can be toggled from config.yml -> modules.achievements.
# - Achievements are stored per player.
# - Progress can be earned even if the player does not own a ChunkLock home yet.
# - Rewards can only be claimed when the player has access to a ChunkLock home/team.
# - Every entry from advancement-rewards below is also exposed inside the achievement GUI.
# - advancement-rewards can also complete achievements from achivments.yml with:
#   grant-achievements:
#     - your_achievement_key
# Reward range syntax:
# - chunk-points / reward-points / exp-levels / money can be fixed values or min/max ranges
#   chunk-points:
#     min: 1
#     max: 3
# - reward-points is still supported as a legacy alias for chunk-points

sounds:
  statistic-reward:
    enabled: true
    type: ENTITY_EXPERIENCE_ORB_PICKUP
    volume: 1.0
    pitch: 1.15
  advancement-reward:
    enabled: true
    type: UI_TOAST_CHALLENGE_COMPLETE
    volume: 1.0
    pitch: 1.0
  advancement-claim:
    enabled: true
    type: ENTITY_PLAYER_LEVELUP
    volume: 1.0
    pitch: 1.1
  advancement-claim-denied:
    enabled: true
    type: BLOCK_NOTE_BLOCK_BASS
    volume: 1.0
    pitch: 0.7

# Chunk Points granted once when a new ChunkLock home is created successfully.
# This value is only used on home creation. All other progression rewards stay below.
starting-points: 0

periodic-points:
  # If true, online players receive Chunk Points every interval-minutes.
  enabled: true
  # Time between repeated payouts while the player is online.
  interval-minutes: 30
  # Base Chunk Points granted per payout before upgrade bonuses are added.
  # This is the fallback value used when the player does not have a permission like:
  # - chunk.periodicpoints.3
  # - chunk.periodicpoints.5
  # If a player has multiple chunk.periodicpoints.<amount> permissions, ChunkLock uses the highest amount.
  amount: 1

statistic-rewards:
  # Repeating or one-time rewards based on Bukkit statistics.
  # Common patterns:
  # - statistic: MINE_BLOCK + material
  # - statistic: PLACE_BLOCK + material
  # - statistic: KILL_ENTITY + entity
  # PLACE_BLOCK is a friendly alias handled by ChunkLock and internally mapped to Bukkit USE_ITEM.
  # Use repeatable: true for milestones that can be claimed over and over.
  mine_stone:
    statistic: MINE_BLOCK
    material: STONE
    every: 128
    chunk-points:
      min: 1
      max: 2
    money:
      min: 25
      max: 80
    repeatable: true
  kill_zombies:
    statistic: KILL_ENTITY
    entity: ZOMBIE
    amount: 10
    chunk-points: 1
    exp-levels:
      min: 1
      max: 3
    repeatable: false

advancement-rewards:
  # One-time rewards granted when the player completes a specific advancement key.
  # These entries are also shown inside the achievement GUI and use the same per-player claim flow.
  # Optional integration with achivments.yml:
  # - grant-achievements accepts a list of achievement keys from achivments.yml
  # - each listed achievement is marked as completed and ready to claim
  # - this runs when the advancement is completed
  # - if modules.achievements is false, this integration is ignored
  # Example using an achievement from achivments.yml:
  # - achivments.yml already contains:
  #     story_mine_diamond:
  #       type: OBTAIN_ITEM
  #       target: DIAMOND
  #       amount: 1
  # - to complete that GUI achievement from an advancement, use:
  #     grant-achievements:
  #       - story_mine_diamond
  mine_diamond:
    enabled: true
    order: 100
    name: "Diamonds!"
    icon-material: DIAMOND
    description:
      - "&7Complete the vanilla advancement"
      - "&fminecraft:story/mine_diamond&7."
    key: minecraft:story/mine_diamond
    chunk-points:
      min: 2
      max: 4
    exp-levels:
      min: 3
      max: 5
    # Example: complete the story_mine_diamond GUI achievement from achivments.yml.
    grant-achievements:
      - story_mine_diamond
    items:
      reward_pickaxe:
        material: IRON_PICKAXE
        amount: 1
        display-name: "Miner Pickaxe"

  enter_the_nether:
    enabled: true
    order: 101
    name: "Into the Nether"
    icon-material: NETHERRACK
    description:
      - "&7Complete the vanilla advancement"
      - "&fminecraft:story/enter_the_nether&7."
    key: minecraft:story/enter_the_nether
    chunk-points:
      min: 1
      max: 3
    money:
      min: 100
      max: 250
    exp-levels:
      min: 2
      max: 4
    # Example: complete an achievement defined in achivments.yml when this advancement is earned.
    # The linked achievement keeps its own normal GUI reward from achivments.yml.
    grant-achievements:
      - world_visitor
    commands:
      - "tellraw %player% {\"text\":\"Advancement reward ready: %achievement_name%\",\"color\":\"gold\"}"
    unlock-random-chunk: true

```

{% endtab %}

{% tab title="quests.yml" %}

```yml
# ChunkLock quest configuration.
# Times below use real UTC time, not the local server timezone.
# Quests are grouped into:
# - daily: repeatable pool with a daily UTC reset
# - weekly: repeatable pool with a weekly UTC reset
# - general: permanent one-time quests with no reset
# Quest types supported by ChunkLock:
# - BREAK_BLOCK
# - PLACE_BLOCK
# - KILL_MOB
# - KILL_PLAYER
# - FISH
# - CREATE_SHOP
# - VISIT_WORLD
# - UNLOCK_CHUNKS
# - OBTAIN_ITEM
# Target rules:
# - BREAK_BLOCK / PLACE_BLOCK support vanilla blocks and supported custom blocks/furniture
# - OBTAIN_ITEM supports vanilla items and supported custom item IDs
# - KILL_MOB supports vanilla entities, MythicMobs IDs and ModelEngine model IDs
# - VISIT_WORLD target must be the exact Bukkit world name
# - KILL_PLAYER / FISH / CREATE_SHOP / UNLOCK_CHUNKS do not use target
# Reward rules:
# - if random-reward is false, every configured reward category below is granted
# - if random-reward is true, exactly one configured reward category is chosen at random
# - if random-item is true, one reward from rewards.items is chosen
# - if random-command is true, one command from rewards.commands is executed
# - money / exp-levels / chunk-points can be a fixed value or a min/max range:
#   money:
#     min: 5
#     max: 200
# - unlock-random-chunk: true can be used in the quest root or inside rewards
# - sounds.quest-complete plays when the quest finishes
# - sounds.quest-claim plays when the reward is claimed
# - sounds.quest-claim-denied plays when a player tries to claim a reward that is not available yet
# Useful reward command placeholders:
# %player%, %player_uuid%, %team_owner%, %team_owner_uuid%, %quest_key%, %quest_name%,
# %quest_scope%, %quest_scope_name%, %quest_type%, %quest_type_name%, %progress%,
# %required%, %target%, %money_reward%, %exp_reward%, %chunk_points_reward%, %chunk_points_total%,
# %money_reward_min%, %money_reward_max%, %exp_reward_min%, %exp_reward_max%,
# %chunk_points_reward_min%, %chunk_points_reward_max%, %unlock_random_chunk%
# Optional per-quest permission:
# permission: "chunklock.quest.daily.vip"
# If set, the quest stays visible in the GUI but is locked for players without that permission.
# Custom target support:
# - BREAK_BLOCK / PLACE_BLOCK can target vanilla materials or custom block/furniture IDs
# - OBTAIN_ITEM can target vanilla materials or custom item IDs
# - KILL_MOB can target vanilla entities, MythicMobs IDs and ModelEngine model IDs
# Supported custom item/block providers include ItemsAdder, Oraxen, Nexo and MythicCrucible / Crucible.
# Visit-world quests use the raw server world name, for example "world", "world_nether" or "ChunkLock-world".
# Examples:
# target: "itemsadder:my_pack:ruby_ore"
# target: "oraxen:custom_chair"
# target: "nexo:my_custom_block"
# target: "mythiccrucible:ancient_table"
# target: "mythicmobs:skeleton_knight"
# target: "modelengine:ancient_golem"
# target: "world_nether"

defaults:
  # If true, quest progress is shared by the full ChunkLock team/home.
  shared-progress: true
  # If true, claiming the reward is shared by the full ChunkLock team/home.
  # If false, each player can claim their own reward after the quest is completed.
  shared-claim: false

tracking:
  actionbar:
    # If true, the selected quest progress is shown above the hotbar.
    # A player must first right click a quest in the GUI to start tracking it.
    enabled: true
    # If true, the tracking ActionBar is only shown when the selected quest gains progress.
    # If false, the selected quest ActionBar is refreshed continuously using interval-ticks.
    show-only-on-progress: false
    # How often the tracking ActionBar should refresh.
    interval-ticks: 20
    # Display modes:
    # - CUSTOM
    # - NUMBERS
    # - PERCENT
    # - NUMBERS_PERCENT
    # - BAR
    # - BAR_PERCENT
    # - BAR_NUMBERS
    # - BAR_NUMBERS_PERCENT
    # CUSTOM uses the format below. Other modes use built-in templates.
    display-mode: CUSTOM
    # CUSTOM format supports MiniMessage tags, hex colors and legacy styles like &l, &o, &n.
    # Available placeholders:
    # %quest_name%, %done%, %progress%, %required%, %total_required%, %remaining%, %percent%, %progress_percent%, %progress_bar%, %bar%
    format: "<bold><#86EFAC>%quest_name%</#86EFAC></bold> <gray>%done%/%total_required%</gray> <#FBBF24>(%percent%%)</#FBBF24> %progress_bar%"
    progress-bar:
      # Styles:
      # - SEGMENTS: current filled/current/empty bar
      # - THIN: same logic, but uses thin-symbol for a slimmer look
      # - GRADIENT: filled progress uses a smooth gradient from gradient-start-color to gradient-end-color
      style: SEGMENTS
      # How many square segments should be rendered in %progress_bar%.
      length: 8
      # Symbol used by SEGMENTS and GRADIENT. Avoid emoji-style Unicode variants here.
      symbol: "■"
      # Symbol used by THIN. If empty, the plugin falls back to symbol.
      thin-symbol: "▏"
      # Characters shown before and after the bar.
      left: "["
      right: "]"
      # Bar colors for SEGMENTS / THIN. Filled = green, current segment = orange, remaining = red.
      bracket-color: "&7"
      complete-color: "&#22C55E"
      current-color: "&#F59E0B"
      incomplete-color: "&#EF4444"
      # GRADIENT colors. Remaining segments use gradient-empty-color.
      gradient-start-color: "&#EF4444"
      gradient-end-color: "&#22C55E"
      gradient-empty-color: "&#3F3F46"

sounds:
  quest-complete:
    enabled: true
    type: UI_TOAST_CHALLENGE_COMPLETE
    volume: 1.0
    pitch: 1.0
  quest-claim:
    enabled: true
    type: ENTITY_PLAYER_LEVELUP
    volume: 1.0
    pitch: 1.1
  quest-claim-denied:
    enabled: true
    type: BLOCK_NOTE_BLOCK_BASS
    volume: 1.0
    pitch: 0.7

daily:
  # If false, the whole daily category is hidden and inactive.
  enabled: true
  # Maximum number of daily quests randomly activated in one daily reset cycle.
  max-active: 3
  # Daily reset time in UTC, using 24-hour format HH:mm.
  reset-time-utc: "04:00"
  quests:
    break_stone:
      enabled: true
      order: 1
      shared-progress: true
      shared-claim: false
      name: "Stone Worker"
      icon-material: STONE_PICKAXE
      type: BREAK_BLOCK
      target: STONE
      amount: 128
      description:
        - "&7Break &f128 Stone &7anywhere on the server."
      rewards:
        random-reward: false
        chunk-points: 1
        exp-levels: 2
        money:
          min: 50
          max: 120
        items:
          cobble_reward:
            material: COBBLESTONE
            amount: 32
            display-name: "Cobblestone"
          coal_reward:
            material: COAL
            amount: 8
            display-name: "<gray>Coal"
        random-item: true
        commands:
          - "tellraw %player% {\"text\":\"Daily quest complete: %quest_name%\",\"color\":\"green\"}"
          - "tellraw %player% {\"text\":\"Bonus reward from %quest_scope_name%: %quest_name%\",\"color\":\"gold\"}"
        random-command: true
    place_torches:
      enabled: true
      order: 2
      shared-progress: false
      shared-claim: false
      name: "Light It Up"
      icon-material: TORCH
      type: PLACE_BLOCK
      target: TORCH
      amount: 32
      description:
        - "&7Place &f32 Torches&7."
      rewards:
        money: 100.0
        chunk-points: 1
    kill_zombies:
      enabled: true
      order: 3
      shared-progress: true
      shared-claim: false
      name: "Zombie Cleanup"
      icon-material: IRON_SWORD
      type: KILL_MOB
      target: ZOMBIE
      amount: 10
      description:
        - "&7Kill &f10 Zombies&7."
      rewards:
        exp-levels: 3
        chunk-points: 1
    obtain_wheat:
      enabled: true
      order: 4
      name: "Grain Collector"
      icon-material: WHEAT
      type: OBTAIN_ITEM
      target: WHEAT
      amount: 32
      description:
        - "&7Obtain &f32 Wheat&7."
      rewards:
        money: 75.0
    break_coal_ore:
      enabled: true
      order: 5
      name: "Fuel Miner"
      icon-material: COAL_ORE
      type: BREAK_BLOCK
      target: COAL_ORE
      amount: 24
      description:
        - "&7Break &f24 Coal Ore&7."
      rewards:
        exp-levels: 2
        items:
          torch_reward:
            material: TORCH
            amount: 24
            display-name: "Torches"
    obtain_carrots:
      enabled: true
      order: 6
      name: "Fresh Harvest"
      icon-material: CARROT
      type: OBTAIN_ITEM
      target: CARROT
      amount: 24
      description:
        - "&7Obtain &f24 Carrots&7."
      rewards:
        chunk-points: 1
        money: 60.0
    catch_fish:
      enabled: true
      order: 7
      name: "River Hunter"
      icon-material: FISHING_ROD
      type: FISH
      amount: 5
      description:
        - "&7Catch &f5 fish&7."
      rewards:
        exp-levels: 2
        chunk-points: 1

weekly:
  # If false, the whole weekly category is hidden and inactive.
  enabled: true
  # Maximum number of weekly quests randomly activated in one weekly reset cycle.
  max-active: 5
  # Weekly reset day in UTC. Example values: MONDAY, TUESDAY, SUNDAY.
  reset-day-utc: "MONDAY"
  # Weekly reset time in UTC, using 24-hour format HH:mm.
  reset-time-utc: "05:00"
  quests:
    unlock_chunks:
      enabled: true
      order: 1
      shared-progress: true
      shared-claim: false
      name: "Expand the Border"
      icon-material: MAP
      type: UNLOCK_CHUNKS
      amount: 5
      description:
        - "&7Unlock &f5 new chunks &7with your team."
      rewards:
        random-reward: true
        chunk-points:
          min: 2
          max: 4
        money:
          min: 220
          max: 350
        exp-levels:
          min: 4
          max: 7
        unlock-random-chunk: true
    kill_skeletons:
      enabled: true
      order: 2
      name: "Bone Collector"
      icon-material: BONE
      type: KILL_MOB
      target: SKELETON
      amount: 25
      description:
        - "&7Kill &f25 Skeletons&7."
      rewards:
        exp-levels: 8
        items:
          arrow_reward:
            material: ARROW
            amount: 32
            display-name: "Arrows"
    obtain_logs:
      enabled: true
      order: 3
      name: "Lumber Shipment"
      icon-material: OAK_LOG
      type: OBTAIN_ITEM
      target: OAK_LOG
      amount: 64
      description:
        - "&7Obtain &f64 Oak Logs&7."
      rewards:
        chunk-points: 2
        commands:
          - "say %player% completed %quest_scope_name% quest %quest_name%"
    place_planks:
      enabled: true
      order: 4
      name: "Workshop Builder"
      icon-material: OAK_PLANKS
      type: PLACE_BLOCK
      target: OAK_PLANKS
      amount: 128
      description:
        - "&7Place &f128 Oak Planks&7."
      rewards:
        money: 225.0
        exp-levels: 6
    break_iron_ore:
      enabled: true
      order: 5
      name: "Iron Expedition"
      icon-material: IRON_ORE
      type: BREAK_BLOCK
      target: IRON_ORE
      amount: 32
      description:
        - "&7Break &f32 Iron Ore&7."
      rewards:
        chunk-points: 2
        exp-levels: 7
    obtain_pumpkins:
      enabled: true
      order: 6
      name: "Autumn Delivery"
      icon-material: PUMPKIN
      type: OBTAIN_ITEM
      target: PUMPKIN
      amount: 48
      description:
        - "&7Obtain &f48 Pumpkins&7."
      rewards:
        money: 260.0
        items:
          pumpkin_pie_reward:
            material: PUMPKIN_PIE
            amount: 12
            display-name: "Pumpkin Pies"
    create_shop:
      enabled: true
      order: 7
      name: "Market Opening"
      icon-material: CHEST
      type: CREATE_SHOP
      amount: 1
      description:
        - "&7Create &f1 Player Shop&7 on your ChunkLock home."
      rewards:
        chunk-points: 2
        money: 180.0
    mythic_hunt_example:
      enabled: false
      order: 99
      name: "Mythic Hunter"
      icon-material: NETHER_STAR
      type: KILL_MOB
      target: "mythicmobs:skeleton_knight"
      target-name: "Skeleton Knight"
      amount: 10
      description:
        - "&7Example MythicMobs weekly quest."
        - "&7Enable it only if MythicMobs is installed and the mob ID exists."
      rewards:
        chunk-points: 2
        money: 250.0
    modelengine_hunt_example:
      enabled: false
      order: 100
      name: "Model Engine Hunter"
      icon-material: NETHER_STAR
      type: KILL_MOB
      target: "modelengine:ancient_golem"
      target-name: "Ancient Golem"
      amount: 5
      description:
        - "&7Example ModelEngine weekly quest."
        - "&7Enable it only if ModelEngine is installed and the model ID exists."
      rewards:
        chunk-points: 2
        exp-levels: 8
    kill_player_example:
      enabled: false
      order: 101
      name: "Duel Winner"
      icon-material: DIAMOND_SWORD
      type: KILL_PLAYER
      amount: 3
      description:
        - "&7Example player-vs-player quest."
        - "&7Enable it only on servers where PvP progress should count."
      rewards:
        chunk-points: 3
        exp-levels: 6
    visit_world_example:
      enabled: false
      order: 102
      name: "Nether Tourist"
      icon-material: COMPASS
      type: VISIT_WORLD
      target: "world_nether"
      target-name: "The Nether"
      amount: 1
      description:
        - "&7Example visit-world quest."
        - "&7Use the exact Bukkit world name in target."
      rewards:
        money: 200.0
        chunk-points: 2

general:
  # If false, all one-time general quests are disabled.
  enabled: true
  quests:
    first_unlock:
      enabled: true
      order: 1
      name: "First Expansion"
      icon-material: GRASS_BLOCK
      type: UNLOCK_CHUNKS
      amount: 1
      description:
        - "&7Unlock your first extra ChunkLock chunk."
      rewards:
        chunk-points: 1
        money: 50.0
    first_iron:
      enabled: true
      order: 2
      name: "Iron Supply"
      icon-material: IRON_INGOT
      type: OBTAIN_ITEM
      target: IRON_INGOT
      amount: 16
      description:
        - "&7Obtain &f16 Iron Ingots&7."
      rewards:
        exp-levels: 4
    builder:
      enabled: true
      order: 3
      name: "Builder"
      icon-material: BRICKS
      type: PLACE_BLOCK
      target: BRICKS
      amount: 64
      description:
        - "&7Place &f64 Bricks&7."
      rewards:
        chunk-points: 2
    hunter:
      enabled: true
      order: 4
      name: "Monster Hunter"
      icon-material: BOW
      type: KILL_MOB
      target: SPIDER
      amount: 20
      description:
        - "&7Kill &f20 Spiders&7."
      rewards:
        money: 150.0
        exp-levels: 5
    miner:
      enabled: true
      order: 5
      name: "Deep Miner"
      icon-material: DIAMOND_PICKAXE
      type: BREAK_BLOCK
      target: DEEPSLATE
      amount: 192
      description:
        - "&7Break &f192 Deepslate&7."
      rewards:
        chunk-points: 2
        items:
          iron_reward:
            material: IRON_INGOT
            amount: 8
            display-name: "Iron Ingots"
    supply_run:
      enabled: true
      order: 6
      name: "Supply Run"
      icon-material: CHEST
      type: OBTAIN_ITEM
      target: COOKED_BEEF
      amount: 32
      description:
        - "&7Obtain &f32 Cooked Beef&7."
      rewards:
        money: 120.0
        chunk-points: 1
    first_shop:
      enabled: true
      order: 7
      name: "First Merchant"
      icon-material: CHEST
      type: CREATE_SHOP
      amount: 1
      description:
        - "&7Create your first Player Shop."
      rewards:
        exp-levels:
          min: 3
          max: 5
        chunk-points:
          min: 1
          max: 2
        unlock-random-chunk: true
    crucible_place_example:
      enabled: false
      order: 98
      name: "Crucible Decorator"
      icon-material: WRITABLE_BOOK
      type: PLACE_BLOCK
      target: "mythiccrucible:ancient_table"
      target-name: "Ancient Table"
      amount: 3
      description:
        - "&7Example Crucible place quest."
        - "&7Enable it only if MythicCrucible is installed and the item ID exists."
      rewards:
        exp-levels: 4
        chunk-points: 1
    crucible_break_example:
      enabled: false
      order: 99
      name: "Crucible Salvager"
      icon-material: WRITABLE_BOOK
      type: BREAK_BLOCK
      target: "mythiccrucible:ancient_table"
      target-name: "Ancient Table"
      amount: 3
      description:
        - "&7Example Crucible break quest."
        - "&7Enable it only if MythicCrucible is installed and the furniture/block ID exists."
      rewards:
        money: 180.0
        items:
          salvage_reward:
            material: IRON_NUGGET
            amount: 12
            display-name: "Salvage Scrap"

```

{% endtab %}

{% tab title="unlock-items.yml" %}

```yml
# Unlock item groups used when unlock.currencies.items.enabled is true.
# ChunkLock scans unlocked chunks owned by the player/team and picks only groups
# whose detector materials exist in those unlocked chunks.
# You can also use detector-items for custom block/furniture IDs from supported plugins.
# Per group:
# - icon: item shown in GUI / TextDisplay for this requirement family
# - accepted-items: any of these items can be deposited to satisfy the requirement
#   The icon item is always accepted automatically, even if you do not repeat it here.
# - detector-materials / detector-items: what must already exist in unlocked chunks
#   before this group becomes eligible to roll
# - ignore-source-check: if true, the group may appear without a detector match
#   (useful for mob drops like bones, string or gunpowder)
#
# Deposit matching:
# - if strict-deposit-match is true, players must deposit exactly the displayed icon item
#   and GUI / Required Item / wall ItemDisplay show that exact item.
# - if false, any item from accepted-items may be deposited,
#   GUI / Required Item show the category display-name,
#   and the wall ItemDisplay rotates through accepted-items every 3 seconds.
strict-deposit-match: false
#
# Scaling:
# - min/max below are base values.
# - effective values scale automatically with unlock.scaling.mode / percent-per-chunk / max-multiplier from chunks.yml.
# - you can override scaling for all item groups with unlock.currencies.items.scaling-mode /
#   unlock.currencies.items.scaling-percent-per-chunk / unlock.currencies.items.max-multiplier.
# - you can override scaling for a single group with scaling-percent-per-chunk.
#
# Progression:
# - min-unlocked-chunks controls from which owned chunk count a group may start appearing.
# - max-unlocked-chunks limits a group to early/mid game. Use -1 for no upper limit.
#
# Custom detector examples:
# detector-items:
#   - "itemsadder:my_pack:ruby_ore"
#   - "oraxen:ruby_node"
#   - "nexo:ruby_ore"
#   - "mythiccrucible:ancient_table"

groups:
  wood_basic:
    enabled: true
    display-name: "Wood Basic"
    icon: OAK_LOG
    min: 10
    max: 24
    min-unlocked-chunks: 1
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - OAK_LOG
      - BIRCH_LOG
      - SPRUCE_LOG
      - JUNGLE_LOG
      - ACACIA_LOG
      - DARK_OAK_LOG
      - MANGROVE_LOG
      - CHERRY_LOG
      - OAK_WOOD
      - BIRCH_WOOD
      - SPRUCE_WOOD
      - JUNGLE_WOOD
      - ACACIA_WOOD
      - DARK_OAK_WOOD
      - MANGROVE_WOOD
      - CHERRY_WOOD
      - STRIPPED_OAK_LOG
      - STRIPPED_BIRCH_LOG
      - STRIPPED_SPRUCE_LOG
      - STRIPPED_JUNGLE_LOG
      - STRIPPED_ACACIA_LOG
      - STRIPPED_DARK_OAK_LOG
      - STRIPPED_MANGROVE_LOG
      - STRIPPED_CHERRY_LOG
      - STRIPPED_OAK_WOOD
      - STRIPPED_BIRCH_WOOD
      - STRIPPED_SPRUCE_WOOD
      - STRIPPED_JUNGLE_WOOD
      - STRIPPED_ACACIA_WOOD
      - STRIPPED_DARK_OAK_WOOD
      - STRIPPED_MANGROVE_WOOD
      - STRIPPED_CHERRY_WOOD
      - OAK_PLANKS
      - BIRCH_PLANKS
      - SPRUCE_PLANKS
      - JUNGLE_PLANKS
      - ACACIA_PLANKS
      - DARK_OAK_PLANKS
      - MANGROVE_PLANKS
      - CHERRY_PLANKS
      - STICK
    detector-materials:
      - OAK_LOG
      - BIRCH_LOG
      - SPRUCE_LOG
      - JUNGLE_LOG
      - ACACIA_LOG
      - DARK_OAK_LOG
      - MANGROVE_LOG
      - CHERRY_LOG
      - OAK_WOOD
      - BIRCH_WOOD
      - SPRUCE_WOOD
      - JUNGLE_WOOD
      - ACACIA_WOOD
      - DARK_OAK_WOOD
      - MANGROVE_WOOD
      - CHERRY_WOOD
      - STRIPPED_OAK_LOG
      - STRIPPED_BIRCH_LOG
      - STRIPPED_SPRUCE_LOG
      - STRIPPED_JUNGLE_LOG
      - STRIPPED_ACACIA_LOG
      - STRIPPED_DARK_OAK_LOG
      - STRIPPED_MANGROVE_LOG
      - STRIPPED_CHERRY_LOG
      - STRIPPED_OAK_WOOD
      - STRIPPED_BIRCH_WOOD
      - STRIPPED_SPRUCE_WOOD
      - STRIPPED_JUNGLE_WOOD
      - STRIPPED_ACACIA_WOOD
      - STRIPPED_DARK_OAK_WOOD
      - STRIPPED_MANGROVE_WOOD
      - STRIPPED_CHERRY_WOOD
      - OAK_PLANKS
      - BIRCH_PLANKS
      - SPRUCE_PLANKS
      - JUNGLE_PLANKS
      - ACACIA_PLANKS
      - DARK_OAK_PLANKS
      - MANGROVE_PLANKS
      - CHERRY_PLANKS
      - STICK
      - LADDER
      - OAK_SLAB
      - BIRCH_SLAB
      - SPRUCE_SLAB
      - JUNGLE_SLAB
      - ACACIA_SLAB
      - DARK_OAK_SLAB
      - MANGROVE_SLAB
      - CHERRY_SLAB
      - BAMBOO_SLAB
      - OAK_STAIRS
      - BIRCH_STAIRS
      - SPRUCE_STAIRS
      - JUNGLE_STAIRS
      - ACACIA_STAIRS
      - DARK_OAK_STAIRS
      - MANGROVE_STAIRS
      - CHERRY_STAIRS
      - BAMBOO_STAIRS
      - OAK_FENCE
      - BIRCH_FENCE
      - SPRUCE_FENCE
      - JUNGLE_FENCE
      - ACACIA_FENCE
      - DARK_OAK_FENCE
      - MANGROVE_FENCE
      - CHERRY_FENCE
      - BAMBOO_FENCE
      - OAK_FENCE_GATE
      - BIRCH_FENCE_GATE
      - SPRUCE_FENCE_GATE
      - JUNGLE_FENCE_GATE
      - ACACIA_FENCE_GATE
      - DARK_OAK_FENCE_GATE
      - MANGROVE_FENCE_GATE
      - CHERRY_FENCE_GATE
      - BAMBOO_FENCE_GATE
      - OAK_DOOR
      - BIRCH_DOOR
      - SPRUCE_DOOR
      - JUNGLE_DOOR
      - ACACIA_DOOR
      - DARK_OAK_DOOR
      - MANGROVE_DOOR
      - CHERRY_DOOR
      - BAMBOO_DOOR
      - OAK_TRAPDOOR
      - BIRCH_TRAPDOOR
      - SPRUCE_TRAPDOOR
      - JUNGLE_TRAPDOOR
      - ACACIA_TRAPDOOR
      - DARK_OAK_TRAPDOOR
      - MANGROVE_TRAPDOOR
      - CHERRY_TRAPDOOR
      - BAMBOO_TRAPDOOR
      - OAK_BUTTON
      - BIRCH_BUTTON
      - SPRUCE_BUTTON
      - JUNGLE_BUTTON
      - ACACIA_BUTTON
      - DARK_OAK_BUTTON
      - MANGROVE_BUTTON
      - CHERRY_BUTTON
      - BAMBOO_BUTTON
      - OAK_PRESSURE_PLATE
      - BIRCH_PRESSURE_PLATE
      - SPRUCE_PRESSURE_PLATE
      - JUNGLE_PRESSURE_PLATE
      - ACACIA_PRESSURE_PLATE
      - DARK_OAK_PRESSURE_PLATE
      - MANGROVE_PRESSURE_PLATE
      - CHERRY_PRESSURE_PLATE
      - BAMBOO_PRESSURE_PLATE
      - OAK_SIGN
      - BIRCH_SIGN
      - SPRUCE_SIGN
      - JUNGLE_SIGN
      - ACACIA_SIGN
      - DARK_OAK_SIGN
      - MANGROVE_SIGN
      - CHERRY_SIGN
      - BAMBOO_SIGN
      - OAK_HANGING_SIGN
      - BIRCH_HANGING_SIGN
      - SPRUCE_HANGING_SIGN
      - JUNGLE_HANGING_SIGN
      - ACACIA_HANGING_SIGN
      - DARK_OAK_HANGING_SIGN
      - MANGROVE_HANGING_SIGN
      - CHERRY_HANGING_SIGN
      - BAMBOO_HANGING_SIGN
      - CHEST
      - TRAPPED_CHEST
      - BARREL
      - OAK_BOAT
      - BIRCH_BOAT
      - SPRUCE_BOAT
      - JUNGLE_BOAT
      - ACACIA_BOAT
      - DARK_OAK_BOAT
      - MANGROVE_BOAT
      - CHERRY_BOAT
      - BAMBOO_RAFT
      - OAK_CHEST_BOAT
      - BIRCH_CHEST_BOAT
      - SPRUCE_CHEST_BOAT
      - JUNGLE_CHEST_BOAT
      - ACACIA_CHEST_BOAT
      - DARK_OAK_CHEST_BOAT
      - MANGROVE_CHEST_BOAT
      - CHERRY_CHEST_BOAT
      - BAMBOO_CHEST_RAFT

  wood_building:
    enabled: true
    display-name: "Wood Building"
    icon: OAK_STAIRS
    min: 8
    max: 18
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - LADDER
      - OAK_SLAB
      - BIRCH_SLAB
      - SPRUCE_SLAB
      - JUNGLE_SLAB
      - ACACIA_SLAB
      - DARK_OAK_SLAB
      - MANGROVE_SLAB
      - CHERRY_SLAB
      - BAMBOO_SLAB
      - OAK_STAIRS
      - BIRCH_STAIRS
      - SPRUCE_STAIRS
      - JUNGLE_STAIRS
      - ACACIA_STAIRS
      - DARK_OAK_STAIRS
      - MANGROVE_STAIRS
      - CHERRY_STAIRS
      - BAMBOO_STAIRS
      - OAK_FENCE
      - BIRCH_FENCE
      - SPRUCE_FENCE
      - JUNGLE_FENCE
      - ACACIA_FENCE
      - DARK_OAK_FENCE
      - MANGROVE_FENCE
      - CHERRY_FENCE
      - BAMBOO_FENCE
      - OAK_FENCE_GATE
      - BIRCH_FENCE_GATE
      - SPRUCE_FENCE_GATE
      - JUNGLE_FENCE_GATE
      - ACACIA_FENCE_GATE
      - DARK_OAK_FENCE_GATE
      - MANGROVE_FENCE_GATE
      - CHERRY_FENCE_GATE
      - BAMBOO_FENCE_GATE
      - OAK_DOOR
      - BIRCH_DOOR
      - SPRUCE_DOOR
      - JUNGLE_DOOR
      - ACACIA_DOOR
      - DARK_OAK_DOOR
      - MANGROVE_DOOR
      - CHERRY_DOOR
      - BAMBOO_DOOR
      - OAK_TRAPDOOR
      - BIRCH_TRAPDOOR
      - SPRUCE_TRAPDOOR
      - JUNGLE_TRAPDOOR
      - ACACIA_TRAPDOOR
      - DARK_OAK_TRAPDOOR
      - MANGROVE_TRAPDOOR
      - CHERRY_TRAPDOOR
      - BAMBOO_TRAPDOOR
      - OAK_BUTTON
      - BIRCH_BUTTON
      - SPRUCE_BUTTON
      - JUNGLE_BUTTON
      - ACACIA_BUTTON
      - DARK_OAK_BUTTON
      - MANGROVE_BUTTON
      - CHERRY_BUTTON
      - BAMBOO_BUTTON
      - OAK_PRESSURE_PLATE
      - BIRCH_PRESSURE_PLATE
      - SPRUCE_PRESSURE_PLATE
      - JUNGLE_PRESSURE_PLATE
      - ACACIA_PRESSURE_PLATE
      - DARK_OAK_PRESSURE_PLATE
      - MANGROVE_PRESSURE_PLATE
      - CHERRY_PRESSURE_PLATE
      - BAMBOO_PRESSURE_PLATE
      - OAK_SIGN
      - BIRCH_SIGN
      - SPRUCE_SIGN
      - JUNGLE_SIGN
      - ACACIA_SIGN
      - DARK_OAK_SIGN
      - MANGROVE_SIGN
      - CHERRY_SIGN
      - BAMBOO_SIGN
      - OAK_HANGING_SIGN
      - BIRCH_HANGING_SIGN
      - SPRUCE_HANGING_SIGN
      - JUNGLE_HANGING_SIGN
      - ACACIA_HANGING_SIGN
      - DARK_OAK_HANGING_SIGN
      - MANGROVE_HANGING_SIGN
      - CHERRY_HANGING_SIGN
      - BAMBOO_HANGING_SIGN
    detector-materials:
      - OAK_LOG
      - BIRCH_LOG
      - SPRUCE_LOG
      - JUNGLE_LOG
      - ACACIA_LOG
      - DARK_OAK_LOG
      - MANGROVE_LOG
      - CHERRY_LOG
      - OAK_WOOD
      - BIRCH_WOOD
      - SPRUCE_WOOD
      - JUNGLE_WOOD
      - ACACIA_WOOD
      - DARK_OAK_WOOD
      - MANGROVE_WOOD
      - CHERRY_WOOD
      - STRIPPED_OAK_LOG
      - STRIPPED_BIRCH_LOG
      - STRIPPED_SPRUCE_LOG
      - STRIPPED_JUNGLE_LOG
      - STRIPPED_ACACIA_LOG
      - STRIPPED_DARK_OAK_LOG
      - STRIPPED_MANGROVE_LOG
      - STRIPPED_CHERRY_LOG
      - STRIPPED_OAK_WOOD
      - STRIPPED_BIRCH_WOOD
      - STRIPPED_SPRUCE_WOOD
      - STRIPPED_JUNGLE_WOOD
      - STRIPPED_ACACIA_WOOD
      - STRIPPED_DARK_OAK_WOOD
      - STRIPPED_MANGROVE_WOOD
      - STRIPPED_CHERRY_WOOD
      - OAK_PLANKS
      - BIRCH_PLANKS
      - SPRUCE_PLANKS
      - JUNGLE_PLANKS
      - ACACIA_PLANKS
      - DARK_OAK_PLANKS
      - MANGROVE_PLANKS
      - CHERRY_PLANKS
      - STICK
      - LADDER
      - OAK_SLAB
      - BIRCH_SLAB
      - SPRUCE_SLAB
      - JUNGLE_SLAB
      - ACACIA_SLAB
      - DARK_OAK_SLAB
      - MANGROVE_SLAB
      - CHERRY_SLAB
      - BAMBOO_SLAB
      - OAK_STAIRS
      - BIRCH_STAIRS
      - SPRUCE_STAIRS
      - JUNGLE_STAIRS
      - ACACIA_STAIRS
      - DARK_OAK_STAIRS
      - MANGROVE_STAIRS
      - CHERRY_STAIRS
      - BAMBOO_STAIRS
      - OAK_FENCE
      - BIRCH_FENCE
      - SPRUCE_FENCE
      - JUNGLE_FENCE
      - ACACIA_FENCE
      - DARK_OAK_FENCE
      - MANGROVE_FENCE
      - CHERRY_FENCE
      - BAMBOO_FENCE
      - OAK_FENCE_GATE
      - BIRCH_FENCE_GATE
      - SPRUCE_FENCE_GATE
      - JUNGLE_FENCE_GATE
      - ACACIA_FENCE_GATE
      - DARK_OAK_FENCE_GATE
      - MANGROVE_FENCE_GATE
      - CHERRY_FENCE_GATE
      - BAMBOO_FENCE_GATE
      - OAK_DOOR
      - BIRCH_DOOR
      - SPRUCE_DOOR
      - JUNGLE_DOOR
      - ACACIA_DOOR
      - DARK_OAK_DOOR
      - MANGROVE_DOOR
      - CHERRY_DOOR
      - BAMBOO_DOOR
      - OAK_TRAPDOOR
      - BIRCH_TRAPDOOR
      - SPRUCE_TRAPDOOR
      - JUNGLE_TRAPDOOR
      - ACACIA_TRAPDOOR
      - DARK_OAK_TRAPDOOR
      - MANGROVE_TRAPDOOR
      - CHERRY_TRAPDOOR
      - BAMBOO_TRAPDOOR
      - OAK_BUTTON
      - BIRCH_BUTTON
      - SPRUCE_BUTTON
      - JUNGLE_BUTTON
      - ACACIA_BUTTON
      - DARK_OAK_BUTTON
      - MANGROVE_BUTTON
      - CHERRY_BUTTON
      - BAMBOO_BUTTON
      - OAK_PRESSURE_PLATE
      - BIRCH_PRESSURE_PLATE
      - SPRUCE_PRESSURE_PLATE
      - JUNGLE_PRESSURE_PLATE
      - ACACIA_PRESSURE_PLATE
      - DARK_OAK_PRESSURE_PLATE
      - MANGROVE_PRESSURE_PLATE
      - CHERRY_PRESSURE_PLATE
      - BAMBOO_PRESSURE_PLATE
      - OAK_SIGN
      - BIRCH_SIGN
      - SPRUCE_SIGN
      - JUNGLE_SIGN
      - ACACIA_SIGN
      - DARK_OAK_SIGN
      - MANGROVE_SIGN
      - CHERRY_SIGN
      - BAMBOO_SIGN
      - OAK_HANGING_SIGN
      - BIRCH_HANGING_SIGN
      - SPRUCE_HANGING_SIGN
      - JUNGLE_HANGING_SIGN
      - ACACIA_HANGING_SIGN
      - DARK_OAK_HANGING_SIGN
      - MANGROVE_HANGING_SIGN
      - CHERRY_HANGING_SIGN
      - BAMBOO_HANGING_SIGN
      - CHEST
      - TRAPPED_CHEST
      - BARREL
      - OAK_BOAT
      - BIRCH_BOAT
      - SPRUCE_BOAT
      - JUNGLE_BOAT
      - ACACIA_BOAT
      - DARK_OAK_BOAT
      - MANGROVE_BOAT
      - CHERRY_BOAT
      - BAMBOO_RAFT
      - OAK_CHEST_BOAT
      - BIRCH_CHEST_BOAT
      - SPRUCE_CHEST_BOAT
      - JUNGLE_CHEST_BOAT
      - ACACIA_CHEST_BOAT
      - DARK_OAK_CHEST_BOAT
      - MANGROVE_CHEST_BOAT
      - CHERRY_CHEST_BOAT
      - BAMBOO_CHEST_RAFT

  wood_storage:
    enabled: true
    display-name: "Wood Storage"
    icon: CHEST
    min: 2
    max: 6
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - CHEST
      - TRAPPED_CHEST
      - BARREL
      - OAK_BOAT
      - BIRCH_BOAT
      - SPRUCE_BOAT
      - JUNGLE_BOAT
      - ACACIA_BOAT
      - DARK_OAK_BOAT
      - MANGROVE_BOAT
      - CHERRY_BOAT
      - BAMBOO_RAFT
      - OAK_CHEST_BOAT
      - BIRCH_CHEST_BOAT
      - SPRUCE_CHEST_BOAT
      - JUNGLE_CHEST_BOAT
      - ACACIA_CHEST_BOAT
      - DARK_OAK_CHEST_BOAT
      - MANGROVE_CHEST_BOAT
      - CHERRY_CHEST_BOAT
      - BAMBOO_CHEST_RAFT
    detector-materials:
      - OAK_LOG
      - BIRCH_LOG
      - SPRUCE_LOG
      - JUNGLE_LOG
      - ACACIA_LOG
      - DARK_OAK_LOG
      - MANGROVE_LOG
      - CHERRY_LOG
      - OAK_WOOD
      - BIRCH_WOOD
      - SPRUCE_WOOD
      - JUNGLE_WOOD
      - ACACIA_WOOD
      - DARK_OAK_WOOD
      - MANGROVE_WOOD
      - CHERRY_WOOD
      - STRIPPED_OAK_LOG
      - STRIPPED_BIRCH_LOG
      - STRIPPED_SPRUCE_LOG
      - STRIPPED_JUNGLE_LOG
      - STRIPPED_ACACIA_LOG
      - STRIPPED_DARK_OAK_LOG
      - STRIPPED_MANGROVE_LOG
      - STRIPPED_CHERRY_LOG
      - STRIPPED_OAK_WOOD
      - STRIPPED_BIRCH_WOOD
      - STRIPPED_SPRUCE_WOOD
      - STRIPPED_JUNGLE_WOOD
      - STRIPPED_ACACIA_WOOD
      - STRIPPED_DARK_OAK_WOOD
      - STRIPPED_MANGROVE_WOOD
      - STRIPPED_CHERRY_WOOD
      - OAK_PLANKS
      - BIRCH_PLANKS
      - SPRUCE_PLANKS
      - JUNGLE_PLANKS
      - ACACIA_PLANKS
      - DARK_OAK_PLANKS
      - MANGROVE_PLANKS
      - CHERRY_PLANKS
      - STICK
      - LADDER
      - OAK_SLAB
      - BIRCH_SLAB
      - SPRUCE_SLAB
      - JUNGLE_SLAB
      - ACACIA_SLAB
      - DARK_OAK_SLAB
      - MANGROVE_SLAB
      - CHERRY_SLAB
      - BAMBOO_SLAB
      - OAK_STAIRS
      - BIRCH_STAIRS
      - SPRUCE_STAIRS
      - JUNGLE_STAIRS
      - ACACIA_STAIRS
      - DARK_OAK_STAIRS
      - MANGROVE_STAIRS
      - CHERRY_STAIRS
      - BAMBOO_STAIRS
      - OAK_FENCE
      - BIRCH_FENCE
      - SPRUCE_FENCE
      - JUNGLE_FENCE
      - ACACIA_FENCE
      - DARK_OAK_FENCE
      - MANGROVE_FENCE
      - CHERRY_FENCE
      - BAMBOO_FENCE
      - OAK_FENCE_GATE
      - BIRCH_FENCE_GATE
      - SPRUCE_FENCE_GATE
      - JUNGLE_FENCE_GATE
      - ACACIA_FENCE_GATE
      - DARK_OAK_FENCE_GATE
      - MANGROVE_FENCE_GATE
      - CHERRY_FENCE_GATE
      - BAMBOO_FENCE_GATE
      - OAK_DOOR
      - BIRCH_DOOR
      - SPRUCE_DOOR
      - JUNGLE_DOOR
      - ACACIA_DOOR
      - DARK_OAK_DOOR
      - MANGROVE_DOOR
      - CHERRY_DOOR
      - BAMBOO_DOOR
      - OAK_TRAPDOOR
      - BIRCH_TRAPDOOR
      - SPRUCE_TRAPDOOR
      - JUNGLE_TRAPDOOR
      - ACACIA_TRAPDOOR
      - DARK_OAK_TRAPDOOR
      - MANGROVE_TRAPDOOR
      - CHERRY_TRAPDOOR
      - BAMBOO_TRAPDOOR
      - OAK_BUTTON
      - BIRCH_BUTTON
      - SPRUCE_BUTTON
      - JUNGLE_BUTTON
      - ACACIA_BUTTON
      - DARK_OAK_BUTTON
      - MANGROVE_BUTTON
      - CHERRY_BUTTON
      - BAMBOO_BUTTON
      - OAK_PRESSURE_PLATE
      - BIRCH_PRESSURE_PLATE
      - SPRUCE_PRESSURE_PLATE
      - JUNGLE_PRESSURE_PLATE
      - ACACIA_PRESSURE_PLATE
      - DARK_OAK_PRESSURE_PLATE
      - MANGROVE_PRESSURE_PLATE
      - CHERRY_PRESSURE_PLATE
      - BAMBOO_PRESSURE_PLATE
      - OAK_SIGN
      - BIRCH_SIGN
      - SPRUCE_SIGN
      - JUNGLE_SIGN
      - ACACIA_SIGN
      - DARK_OAK_SIGN
      - MANGROVE_SIGN
      - CHERRY_SIGN
      - BAMBOO_SIGN
      - OAK_HANGING_SIGN
      - BIRCH_HANGING_SIGN
      - SPRUCE_HANGING_SIGN
      - JUNGLE_HANGING_SIGN
      - ACACIA_HANGING_SIGN
      - DARK_OAK_HANGING_SIGN
      - MANGROVE_HANGING_SIGN
      - CHERRY_HANGING_SIGN
      - BAMBOO_HANGING_SIGN
      - CHEST
      - TRAPPED_CHEST
      - BARREL
      - OAK_BOAT
      - BIRCH_BOAT
      - SPRUCE_BOAT
      - JUNGLE_BOAT
      - ACACIA_BOAT
      - DARK_OAK_BOAT
      - MANGROVE_BOAT
      - CHERRY_BOAT
      - BAMBOO_RAFT
      - OAK_CHEST_BOAT
      - BIRCH_CHEST_BOAT
      - SPRUCE_CHEST_BOAT
      - JUNGLE_CHEST_BOAT
      - ACACIA_CHEST_BOAT
      - DARK_OAK_CHEST_BOAT
      - MANGROVE_CHEST_BOAT
      - CHERRY_CHEST_BOAT
      - BAMBOO_CHEST_RAFT

  stone_basic:
    enabled: true
    display-name: "Stone Basic"
    icon: STONE
    min: 16
    max: 32
    min-unlocked-chunks: 1
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - STONE
      - COBBLESTONE
      - MOSSY_COBBLESTONE
      - DEEPSLATE
      - COBBLED_DEEPSLATE
      - ANDESITE
      - DIORITE
      - GRANITE
      - TUFF
      - CALCITE
      - DRIPSTONE_BLOCK
      - BLACKSTONE
      - BASALT
      - SMOOTH_BASALT
      - SMOOTH_STONE
      - STONE_BRICKS
      - CRACKED_STONE_BRICKS
      - MOSSY_STONE_BRICKS
      - CHISELED_STONE_BRICKS
    detector-materials:
      - STONE
      - COBBLESTONE
      - MOSSY_COBBLESTONE
      - DEEPSLATE
      - COBBLED_DEEPSLATE
      - ANDESITE
      - DIORITE
      - GRANITE
      - TUFF
      - CALCITE
      - DRIPSTONE_BLOCK
      - BLACKSTONE
      - BASALT
      - SMOOTH_BASALT
      - SMOOTH_STONE
      - STONE_BRICKS
      - CRACKED_STONE_BRICKS
      - MOSSY_STONE_BRICKS
      - CHISELED_STONE_BRICKS
      - STONE_SLAB
      - SMOOTH_STONE_SLAB
      - STONE_STAIRS
      - STONE_PRESSURE_PLATE
      - STONE_BUTTON
      - COBBLESTONE_SLAB
      - COBBLESTONE_STAIRS
      - COBBLESTONE_WALL
      - MOSSY_COBBLESTONE_SLAB
      - MOSSY_COBBLESTONE_STAIRS
      - MOSSY_COBBLESTONE_WALL
      - STONE_BRICK_SLAB
      - STONE_BRICK_STAIRS
      - STONE_BRICK_WALL
      - MOSSY_STONE_BRICK_SLAB
      - MOSSY_STONE_BRICK_STAIRS
      - MOSSY_STONE_BRICK_WALL
      - POLISHED_ANDESITE
      - POLISHED_ANDESITE_SLAB
      - POLISHED_ANDESITE_STAIRS
      - POLISHED_DIORITE
      - POLISHED_DIORITE_SLAB
      - POLISHED_DIORITE_STAIRS
      - POLISHED_GRANITE
      - POLISHED_GRANITE_SLAB
      - POLISHED_GRANITE_STAIRS
      - COBBLED_DEEPSLATE_SLAB
      - COBBLED_DEEPSLATE_STAIRS
      - COBBLED_DEEPSLATE_WALL
      - POLISHED_DEEPSLATE
      - POLISHED_DEEPSLATE_SLAB
      - POLISHED_DEEPSLATE_STAIRS
      - POLISHED_DEEPSLATE_WALL
      - DEEPSLATE_BRICK_SLAB
      - DEEPSLATE_BRICK_STAIRS
      - DEEPSLATE_BRICK_WALL
      - DEEPSLATE_TILE_SLAB
      - DEEPSLATE_TILE_STAIRS
      - DEEPSLATE_TILE_WALL
      - TUFF_SLAB
      - TUFF_STAIRS
      - TUFF_WALL
      - POLISHED_TUFF
      - POLISHED_TUFF_SLAB
      - POLISHED_TUFF_STAIRS
      - POLISHED_TUFF_WALL
      - TUFF_BRICKS
      - TUFF_BRICK_SLAB
      - TUFF_BRICK_STAIRS
      - TUFF_BRICK_WALL
      - BLACKSTONE_SLAB
      - BLACKSTONE_STAIRS
      - BLACKSTONE_WALL
      - POLISHED_BLACKSTONE
      - POLISHED_BLACKSTONE_SLAB
      - POLISHED_BLACKSTONE_STAIRS
      - POLISHED_BLACKSTONE_WALL
      - POLISHED_BLACKSTONE_BRICKS
      - POLISHED_BLACKSTONE_BRICK_SLAB
      - POLISHED_BLACKSTONE_BRICK_STAIRS
      - POLISHED_BLACKSTONE_BRICK_WALL

  stone_building:
    enabled: true
    display-name: "Stone Building"
    icon: STONE_BRICKS
    min: 10
    max: 24
    min-unlocked-chunks: 3
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - STONE_SLAB
      - SMOOTH_STONE_SLAB
      - STONE_STAIRS
      - STONE_PRESSURE_PLATE
      - STONE_BUTTON
      - COBBLESTONE_SLAB
      - COBBLESTONE_STAIRS
      - COBBLESTONE_WALL
      - MOSSY_COBBLESTONE_SLAB
      - MOSSY_COBBLESTONE_STAIRS
      - MOSSY_COBBLESTONE_WALL
      - STONE_BRICK_SLAB
      - STONE_BRICK_STAIRS
      - STONE_BRICK_WALL
      - MOSSY_STONE_BRICK_SLAB
      - MOSSY_STONE_BRICK_STAIRS
      - MOSSY_STONE_BRICK_WALL
      - POLISHED_ANDESITE
      - POLISHED_ANDESITE_SLAB
      - POLISHED_ANDESITE_STAIRS
      - POLISHED_DIORITE
      - POLISHED_DIORITE_SLAB
      - POLISHED_DIORITE_STAIRS
      - POLISHED_GRANITE
      - POLISHED_GRANITE_SLAB
      - POLISHED_GRANITE_STAIRS
      - COBBLED_DEEPSLATE_SLAB
      - COBBLED_DEEPSLATE_STAIRS
      - COBBLED_DEEPSLATE_WALL
      - POLISHED_DEEPSLATE
      - POLISHED_DEEPSLATE_SLAB
      - POLISHED_DEEPSLATE_STAIRS
      - POLISHED_DEEPSLATE_WALL
      - DEEPSLATE_BRICK_SLAB
      - DEEPSLATE_BRICK_STAIRS
      - DEEPSLATE_BRICK_WALL
      - DEEPSLATE_TILE_SLAB
      - DEEPSLATE_TILE_STAIRS
      - DEEPSLATE_TILE_WALL
      - TUFF_SLAB
      - TUFF_STAIRS
      - TUFF_WALL
      - POLISHED_TUFF
      - POLISHED_TUFF_SLAB
      - POLISHED_TUFF_STAIRS
      - POLISHED_TUFF_WALL
      - TUFF_BRICKS
      - TUFF_BRICK_SLAB
      - TUFF_BRICK_STAIRS
      - TUFF_BRICK_WALL
      - BLACKSTONE_SLAB
      - BLACKSTONE_STAIRS
      - BLACKSTONE_WALL
      - POLISHED_BLACKSTONE
      - POLISHED_BLACKSTONE_SLAB
      - POLISHED_BLACKSTONE_STAIRS
      - POLISHED_BLACKSTONE_WALL
      - POLISHED_BLACKSTONE_BRICKS
      - POLISHED_BLACKSTONE_BRICK_SLAB
      - POLISHED_BLACKSTONE_BRICK_STAIRS
      - POLISHED_BLACKSTONE_BRICK_WALL
    detector-materials:
      - STONE
      - COBBLESTONE
      - MOSSY_COBBLESTONE
      - DEEPSLATE
      - COBBLED_DEEPSLATE
      - ANDESITE
      - DIORITE
      - GRANITE
      - TUFF
      - CALCITE
      - DRIPSTONE_BLOCK
      - BLACKSTONE
      - BASALT
      - SMOOTH_BASALT
      - SMOOTH_STONE
      - STONE_BRICKS
      - CRACKED_STONE_BRICKS
      - MOSSY_STONE_BRICKS
      - CHISELED_STONE_BRICKS
      - STONE_SLAB
      - SMOOTH_STONE_SLAB
      - STONE_STAIRS
      - STONE_PRESSURE_PLATE
      - STONE_BUTTON
      - COBBLESTONE_SLAB
      - COBBLESTONE_STAIRS
      - COBBLESTONE_WALL
      - MOSSY_COBBLESTONE_SLAB
      - MOSSY_COBBLESTONE_STAIRS
      - MOSSY_COBBLESTONE_WALL
      - STONE_BRICK_SLAB
      - STONE_BRICK_STAIRS
      - STONE_BRICK_WALL
      - MOSSY_STONE_BRICK_SLAB
      - MOSSY_STONE_BRICK_STAIRS
      - MOSSY_STONE_BRICK_WALL
      - POLISHED_ANDESITE
      - POLISHED_ANDESITE_SLAB
      - POLISHED_ANDESITE_STAIRS
      - POLISHED_DIORITE
      - POLISHED_DIORITE_SLAB
      - POLISHED_DIORITE_STAIRS
      - POLISHED_GRANITE
      - POLISHED_GRANITE_SLAB
      - POLISHED_GRANITE_STAIRS
      - COBBLED_DEEPSLATE_SLAB
      - COBBLED_DEEPSLATE_STAIRS
      - COBBLED_DEEPSLATE_WALL
      - POLISHED_DEEPSLATE
      - POLISHED_DEEPSLATE_SLAB
      - POLISHED_DEEPSLATE_STAIRS
      - POLISHED_DEEPSLATE_WALL
      - DEEPSLATE_BRICK_SLAB
      - DEEPSLATE_BRICK_STAIRS
      - DEEPSLATE_BRICK_WALL
      - DEEPSLATE_TILE_SLAB
      - DEEPSLATE_TILE_STAIRS
      - DEEPSLATE_TILE_WALL
      - TUFF_SLAB
      - TUFF_STAIRS
      - TUFF_WALL
      - POLISHED_TUFF
      - POLISHED_TUFF_SLAB
      - POLISHED_TUFF_STAIRS
      - POLISHED_TUFF_WALL
      - TUFF_BRICKS
      - TUFF_BRICK_SLAB
      - TUFF_BRICK_STAIRS
      - TUFF_BRICK_WALL
      - BLACKSTONE_SLAB
      - BLACKSTONE_STAIRS
      - BLACKSTONE_WALL
      - POLISHED_BLACKSTONE
      - POLISHED_BLACKSTONE_SLAB
      - POLISHED_BLACKSTONE_STAIRS
      - POLISHED_BLACKSTONE_WALL
      - POLISHED_BLACKSTONE_BRICKS
      - POLISHED_BLACKSTONE_BRICK_SLAB
      - POLISHED_BLACKSTONE_BRICK_STAIRS
      - POLISHED_BLACKSTONE_BRICK_WALL

  dirt:
    enabled: true
    display-name: "Dirt"
    icon: DIRT
    min: 16
    max: 32
    min-unlocked-chunks: 1
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - DIRT
      - GRASS_BLOCK
      - COARSE_DIRT
      - ROOTED_DIRT
      - PODZOL
      - MYCELIUM
      - FARMLAND
      - MUD
      - MOSS_BLOCK
    detector-materials:
      - DIRT
      - GRASS_BLOCK
      - COARSE_DIRT
      - ROOTED_DIRT
      - PODZOL
      - MYCELIUM
      - FARMLAND
      - MUD
      - MOSS_BLOCK

  # Minecraft 26.1 / Tiny Takeover:
  # GOLDEN_DANDELION is a new flower. On older server versions this group stays inactive
  # because the detector material does not exist there yet.
  golden_dandelion:
    enabled: true
    display-name: "Golden Dandelion"
    icon: GOLDEN_DANDELION
    min: 2
    max: 8
    min-unlocked-chunks: 3
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - GOLDEN_DANDELION
    detector-materials:
      - GOLDEN_DANDELION

  sand:
    enabled: true
    display-name: "Sand"
    icon: SAND
    min: 12
    max: 28
    min-unlocked-chunks: 1
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - SAND
      - RED_SAND
      - SANDSTONE
      - RED_SANDSTONE
      - SMOOTH_SANDSTONE
      - SMOOTH_RED_SANDSTONE
    detector-materials:
      - SAND
      - RED_SAND
      - SANDSTONE
      - RED_SANDSTONE
      - SMOOTH_SANDSTONE
      - SMOOTH_RED_SANDSTONE

  ores:
    enabled: true
    display-name: "Ores"
    icon: COAL
    min: 8
    max: 18
    min-unlocked-chunks: 4
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - COAL
      - COAL_BLOCK
      - RAW_IRON
      - RAW_IRON_BLOCK
      - IRON_INGOT
      - RAW_COPPER
      - RAW_COPPER_BLOCK
      - COPPER_INGOT
      - RAW_GOLD
      - RAW_GOLD_BLOCK
      - GOLD_INGOT
      - GOLD_NUGGET
      - REDSTONE
      - REDSTONE_BLOCK
      - LAPIS_LAZULI
      - LAPIS_BLOCK
      - DIAMOND
      - DIAMOND_BLOCK
      - EMERALD
      - EMERALD_BLOCK
      - QUARTZ
      - QUARTZ_BLOCK
      - ANCIENT_DEBRIS
      - NETHERITE_SCRAP
    detector-materials:
      - COAL_ORE
      - DEEPSLATE_COAL_ORE
      - IRON_ORE
      - DEEPSLATE_IRON_ORE
      - COPPER_ORE
      - DEEPSLATE_COPPER_ORE
      - GOLD_ORE
      - DEEPSLATE_GOLD_ORE
      - NETHER_GOLD_ORE
      - REDSTONE_ORE
      - DEEPSLATE_REDSTONE_ORE
      - LAPIS_ORE
      - DEEPSLATE_LAPIS_ORE
      - DIAMOND_ORE
      - DEEPSLATE_DIAMOND_ORE
      - EMERALD_ORE
      - DEEPSLATE_EMERALD_ORE
      - NETHER_QUARTZ_ORE
      - ANCIENT_DEBRIS

  wheat:
    enabled: true
    display-name: "Wheat"
    icon: WHEAT
    min: 12
    max: 24
    min-unlocked-chunks: 1
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - WHEAT
      - HAY_BLOCK
      - BREAD
    detector-materials:
      - WHEAT
      - FARMLAND
      - HAY_BLOCK

  seeds:
    enabled: true
    display-name: "Seeds"
    icon: WHEAT_SEEDS
    min: 12
    max: 24
    min-unlocked-chunks: 1
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - WHEAT_SEEDS
      - BEETROOT_SEEDS
      - MELON_SEEDS
      - PUMPKIN_SEEDS
    detector-materials:
      - WHEAT
      - FARMLAND
      - GRASS
      - TALL_GRASS
      - BEETROOTS
      - MELON_STEM
      - PUMPKIN_STEM

  potato:
    enabled: true
    display-name: "Potatoes"
    icon: POTATO
    min: 8
    max: 20
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - POTATO
      - BAKED_POTATO
      - POISONOUS_POTATO
    detector-materials:
      - POTATOES

  carrot:
    enabled: true
    display-name: "Carrots"
    icon: CARROT
    min: 8
    max: 20
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - CARROT
      - GOLDEN_CARROT
    detector-materials:
      - CARROTS

  beetroot:
    enabled: true
    display-name: "Beetroot"
    icon: BEETROOT
    min: 8
    max: 18
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - BEETROOT
      - BEETROOT_SOUP
    detector-materials:
      - BEETROOTS

  sugar_cane:
    enabled: true
    display-name: "Sugar Cane"
    icon: SUGAR_CANE
    min: 8
    max: 20
    min-unlocked-chunks: 1
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - SUGAR_CANE
      - PAPER
      - SUGAR
    detector-materials:
      - SUGAR_CANE

  cactus:
    enabled: true
    display-name: "Cactus"
    icon: CACTUS
    min: 6
    max: 16
    min-unlocked-chunks: 1
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - CACTUS
      - GREEN_DYE
    detector-materials:
      - CACTUS

  melon:
    enabled: true
    display-name: "Melons"
    icon: MELON_SLICE
    min: 8
    max: 20
    min-unlocked-chunks: 3
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - MELON_SLICE
      - MELON
      - GLISTERING_MELON_SLICE
    detector-materials:
      - MELON
      - MELON_STEM
      - ATTACHED_MELON_STEM

  pumpkin:
    enabled: true
    display-name: "Pumpkins"
    icon: PUMPKIN
    min: 4
    max: 12
    min-unlocked-chunks: 3
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - PUMPKIN
      - CARVED_PUMPKIN
      - JACK_O_LANTERN
      - PUMPKIN_PIE
    detector-materials:
      - PUMPKIN
      - CARVED_PUMPKIN
      - PUMPKIN_STEM
      - ATTACHED_PUMPKIN_STEM

  mushrooms:
    enabled: true
    display-name: "Mushrooms"
    icon: RED_MUSHROOM
    min: 6
    max: 16
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - RED_MUSHROOM
      - BROWN_MUSHROOM
      - MUSHROOM_STEW
      - RABBIT_STEW
    detector-materials:
      - RED_MUSHROOM
      - BROWN_MUSHROOM
      - MUSHROOM_STEM
      - RED_MUSHROOM_BLOCK
      - BROWN_MUSHROOM_BLOCK

  bone:
    enabled: true
    display-name: "Bones"
    icon: BONE
    min: 4
    max: 10
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: true
    accepted-items:
      - BONE
    detector-materials: []

  string:
    enabled: true
    display-name: "String"
    icon: STRING
    min: 4
    max: 12
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: true
    accepted-items:
      - STRING
    detector-materials: []

  rotten_flesh:
    enabled: true
    display-name: "Rotten Flesh"
    icon: ROTTEN_FLESH
    min: 6
    max: 16
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: true
    accepted-items:
      - ROTTEN_FLESH
    detector-materials: []

  gunpowder:
    enabled: true
    display-name: "Gunpowder"
    icon: GUNPOWDER
    min: 4
    max: 10
    min-unlocked-chunks: 3
    max-unlocked-chunks: -1
    ignore-source-check: true
    accepted-items:
      - GUNPOWDER
    detector-materials: []

  spider_eye:
    enabled: true
    display-name: "Spider Eyes"
    icon: SPIDER_EYE
    min: 4
    max: 10
    min-unlocked-chunks: 3
    max-unlocked-chunks: -1
    ignore-source-check: true
    accepted-items:
      - SPIDER_EYE
    detector-materials: []

  feather:
    enabled: true
    display-name: "Feathers"
    icon: FEATHER
    min: 4
    max: 12
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: true
    accepted-items:
      - FEATHER
    detector-materials: []

  leather:
    enabled: true
    display-name: "Leather"
    icon: LEATHER
    min: 4
    max: 12
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: true
    accepted-items:
      - LEATHER
    detector-materials: []

  custom_example:
    enabled: false
    display-name: "Custom Resource Example"
    icon: "itemsadder:my_pack:ruby_gem"
    min: 3
    max: 8
    min-unlocked-chunks: 2
    max-unlocked-chunks: -1
    ignore-source-check: false
    accepted-items:
      - "itemsadder:my_pack:ruby_gem"
      - "oraxen:ruby_gem"
      - "nexo:ruby_gem"
      - "mythiccrucible:ruby_gem"
    detector-materials: []
    detector-items:
      - "itemsadder:my_pack:ruby_ore"
      - "oraxen:ruby_ore"
      - "nexo:ruby_ore"
      - "mythiccrucible:ancient_table"

```

{% endtab %}

{% tab title="upgrades.yml" %}

```yml
# ChunkLock upgrade definitions.
# This file defines what upgrades exist, how much they cost and what effect each level gives.
# Every upgrade below can be:
# - enabled/disabled independently
# - limited by max-level
# - paid with any combination of money / exp / items / Chunk Points
# Costs use:
# - base: cost of level 1
# - per-level: extra cost added for each next level
# Example: base 100, per-level 25 -> level 1 = 100, level 2 = 125, level 3 = 150
# Each upgrade can use any combination of these costs:
# - costs.chunk-points
# - costs.money
# - costs.exp
# - costs.item
# Example:
#   chunk-points:
#     enabled: true
#     base: 2
#     per-level: 1
# Set enabled: false to hide the upgrade icon in the GUI and disable its effect.
# Exp costs use experience levels.
# Upgrade icons:
# - material accepts a normal Bukkit Material like DIAMOND_PICKAXE
# - or any supported custom item reference like:
#   itemsadder:namespace:item
#   oraxen:item_id
#   nexo:item_id
#   mythiccrucible:item_id
#   executableitems:item_id
#   advanceditems:item_id
#   ecoitems:item_id
# Item costs:
# - costs.item.material supports the same vanilla/custom references
# - the player must pay using that exact item
# Display names and description lines can use PlaceholderAPI placeholders
# when PlaceholderAPI is installed on the server.
# sounds.upgrade plays on successful purchase.
# sounds.upgrade-denied plays when the player tries to buy an upgrade without enough resources.

sounds:
  upgrade:
    enabled: true
    type: BLOCK_AMETHYST_BLOCK_CHIME
    volume: 1.0
    pitch: 1.2
  upgrade-denied:
    enabled: true
    type: BLOCK_NOTE_BLOCK_BASS
    volume: 1.0
    pitch: 0.7

upgrades:
  friend_slots:
    enabled: true
    display-name: Friend Slots
    material: PLAYER_HEAD
    description:
      - '&7Increase the number of friends'
      - '&7you can add to your ChunkLock home.'
    max-level: 5
    costs:
      money:
        enabled: false
        base: 0
        per-level: 0
      exp:
        enabled: false
        base: 0
        per-level: 0
      item:
        enabled: true
        material: EMERALD
        display-name: Emeralds
        base: 8
        per-level: 4
    effect-type: FRIEND_SLOTS
    effect-value: 1

  mob_spawn_rate:
    enabled: true
    display-name: Mob Spawn Rate
    material: SPAWNER
    description:
      - '&7Natural and spawner mob spawns in your'
      - '&7ChunkLock area can trigger extra mobs.'
      - '&7Each level adds +15% trigger chance.'
    max-level: 4
    costs:
      money:
        enabled: true
        base: 1500
        per-level: 1000
      exp:
        enabled: false
        base: 0
        per-level: 0
      item:
        enabled: false
        material: ROTTEN_FLESH
        display-name: Rotten Flesh
        base: 0
        per-level: 0
    effect-type: MOB_SPAWN_RATE
    effect-value: 15

  mob_spawn_cap:
    enabled: true
    display-name: Mob Spawn Cap
    material: ZOMBIE_HEAD
    description:
      - '&7When extra mob spawns trigger, this adds'
      - '&7more mobs to the same spawn wave.'
      - '&7Each level adds +1 extra mob.'
    max-level: 3
    costs:
      money:
        enabled: false
        base: 0
        per-level: 0
      exp:
        enabled: true
        base: 8
        per-level: 4
      item:
        enabled: false
        material: BONE
        display-name: Bones
        base: 0
        per-level: 0
    effect-type: MOB_SPAWN_CAP
    effect-value: 1

  crop_growth:
    enabled: true
    display-name: Crop Growth
    material: WHEAT
    description:
      - '&7Crops in your ChunkLock area have a chance'
      - '&7to grow an extra stage on each growth tick.'
      - '&7Each level adds +12% chance.'
    max-level: 5
    costs:
      money:
        enabled: true
        base: 500
        per-level: 350
      exp:
        enabled: false
        base: 0
        per-level: 0
      item:
        enabled: true
        material: BONE_MEAL
        display-name: Bone Meal
        base: 16
        per-level: 8
    effect-type: CROP_GROWTH
    effect-value: 12

  ore_bonus:
    enabled: true
    display-name: Ore Fortune
    material: DIAMOND_PICKAXE
    description:
      - '&7Breaking ores in your ChunkLock area can'
      - '&7drop an additional set of loot.'
      - '&7Each level adds +10% chance.'
    max-level: 5
    costs:
      money:
        enabled: false
        base: 0
        per-level: 0
      exp:
        enabled: true
        base: 6
        per-level: 3
      item:
        enabled: true
        material: IRON_INGOT
        display-name: Iron Ingots
        base: 12
        per-level: 6
    effect-type: ORE_BONUS
    effect-value: 10

  fishing_luck:
    enabled: true
    display-name: Fishing Luck
    material: FISHING_ROD
    description:
      - '&7Fishing in your ChunkLock area can grant'
      - '&7an extra copy of the caught item.'
      - '&7Each level adds +12% chance.'
    max-level: 4
    costs:
      money:
        enabled: true
        base: 900
        per-level: 550
      exp:
        enabled: true
        base: 4
        per-level: 2
      item:
        enabled: false
        material: COD
        display-name: Raw Cod
        base: 0
        per-level: 0
    effect-type: FISHING_LUCK
    effect-value: 12

  breeding_bonus:
    enabled: true
    display-name: Breeding Bonus
    material: GOLDEN_CARROT
    description:
      - '&7Breeding animals in your ChunkLock area can'
      - '&7spawn an extra baby animal.'
      - '&7Each level adds +15% chance.'
    max-level: 4
    costs:
      money:
        enabled: true
        base: 1100
        per-level: 700
      exp:
        enabled: true
        base: 5
        per-level: 3
      item:
        enabled: true
        material: HAY_BLOCK
        display-name: Hay Bales
        base: 4
        per-level: 2
    effect-type: BREEDING_BONUS
    effect-value: 15

  smeltery_efficiency:
    enabled: true
    display-name: Smeltery Efficiency
    material: BLAST_FURNACE
    description:
      - '&7Smelting in your ChunkLock area can produce'
      - '&7+1 extra result item.'
      - '&7Each level adds +10% chance.'
    max-level: 5
    costs:
      money:
        enabled: true
        base: 1000
        per-level: 650
      exp:
        enabled: false
        base: 0
        per-level: 0
      item:
        enabled: false
        material: COAL
        display-name: Coal
        base: 0
        per-level: 0
    effect-type: SMELT_BONUS
    effect-value: 10

  furnace_speed:
    enabled: true
    display-name: Furnace Speed
    material: FURNACE
    description:
      - '&7Furnaces in your ChunkLock area smelt items'
      - '&7faster from the moment a new smelt starts.'
      - '&7Each level reduces cook time by 10%.'
    max-level: 5
    costs:
      money:
        enabled: true
        base: 1250
        per-level: 800
      exp:
        enabled: true
        base: 6
        per-level: 3
      item:
        enabled: true
        material: COAL_BLOCK
        display-name: Coal Blocks
        base: 4
        per-level: 2
    effect-type: FURNACE_SPEED
    effect-value: 10

  mob_loot:
    enabled: true
    display-name: Mob Loot
    material: WITHER_SKELETON_SKULL
    description:
      - '&7Mobs killed in your ChunkLock area can'
      - '&7drop an additional copy of their loot.'
      - '&7Each level adds +10% chance.'
    max-level: 4
    costs:
      money:
        enabled: false
        base: 0
        per-level: 0
      exp:
        enabled: true
        base: 5
        per-level: 3
      item:
        enabled: true
        material: GUNPOWDER
        display-name: Gunpowder
        base: 16
        per-level: 8
    effect-type: MOB_LOOT_BONUS
    effect-value: 10

  warp_slots:
    enabled: true
    display-name: Warp Slots
    material: ENDER_PEARL
    description:
      - '&7Increase the maximum number of home warps'
      - '&7available for this ChunkLock home.'
      - '&7Each level adds +1 warp slot.'
    max-level: 5
    costs:
      money:
        enabled: true
        base: 900
        per-level: 550
      exp:
        enabled: false
        base: 0
        per-level: 0
      item:
        enabled: true
        material: ENDER_EYE
        display-name: Eyes of Ender
        base: 4
        per-level: 2
    effect-type: WARP_SLOTS
    effect-value: 1

  player_shop_slots:
    enabled: true
    display-name: Player Shop Slots
    material: CHEST
    description:
      - '&7Increase the maximum number of'
      - '&7Player Shops available for this'
      - '&7ChunkLock home.'
      - '&7Each level adds +1 shop slot.'
    max-level: 5
    costs:
      money:
        enabled: true
        base: 800
        per-level: 500
      exp:
        enabled: false
        base: 0
        per-level: 0
      item:
        enabled: true
        material: EMERALD
        display-name: Emeralds
        base: 8
        per-level: 4
    effect-type: PLAYER_SHOP_SLOTS
    effect-value: 1

  periodic_points:
    enabled: true
    display-name: Point Generator
    material: EXPERIENCE_BOTTLE
    description:
      - '&7Increase the amount of periodic Chunk Points'
      - '&7you receive while online.'
      - '&7Each level adds +1 point per payout.'
    max-level: 4
    costs:
      money:
        enabled: true
        base: 2000
        per-level: 1250
      exp:
        enabled: true
        base: 7
        per-level: 4
      item:
        enabled: true
        material: EXPERIENCE_BOTTLE
        display-name: Bottles o'' Enchanting
        base: 6
        per-level: 3
    effect-type: PERIODIC_POINTS_BONUS
    effect-value: 1

```

{% endtab %}

{% tab title="warps.yml" %}

```yml
# ChunkLock warp configuration.
# This file controls warp limits, default behavior, creation costs and rename rules.

# Default maximum number of warps available for one ChunkLock home.
# Increase this globally here, or let players raise it through the Warp Slots upgrade.
default-limit: 3
# If true, new warps are public by default and everyone can use them.
# If false, only the owner and their team can use a new warp until it is made public.
public-by-default: false
# Default icon reference used when a new warp is created.
# Supports vanilla materials and the custom item providers supported by ChunkLock.
default-icon: ENDER_PEARL
wait:
  # If true, teleporting to a warp starts a delayed teleport instead of teleporting instantly.
  enabled: true
  # Time the player must stand still before the warp teleport completes.
  seconds: 5
creation-cost:
  # Costs paid only when a brand new warp is created with /chunk setwarp.
  # Updating an existing warp with the same name does not charge this again.
  # Any combination can be enabled:
  # - only money
  # - only exp
  # - only Chunk Points
  # - only items
  # - or all of them together
  money:
    # Requires Vault + a working economy provider.
    enabled: false
    # Money cost for creating one new warp.
    amount: 0.0
  experience:
    # Uses vanilla experience levels, not raw exp points.
    enabled: false
    # Level cost for creating one new warp.
    levels: 0
  chunk-points:
    # If true, creating a new warp also consumes Chunk Points.
    # In TEAM mode this uses the shared team balance.
    enabled: false
    # Chunk Points cost for creating one new warp.
    amount: 0
  items:
    # If true, creating a new warp also requires the item below.
    enabled: false
    # Vanilla material or supported custom item reference.
    # Examples:
    # - ENDER_PEARL
    # - itemsadder:namespace:item
    # - oraxen:my_item
    material: ENDER_PEARL
    # Optional display name used in messages. Leave empty to use the item's own display name.
    display-name: ""
    # Amount of the item required to create one new warp.
    amount: 0
refund-on-delete:
  # If true, deleting a warp refunds the CURRENT creation-cost values from this file.
  # ChunkLock does not store historical per-warp payments, so refunds use the current config.
  # The refund goes to the player deleting the warp and to the active Chunk Points context.
  enabled: false
rename:
  # Maximum visible warp name length used for /chunk setwarp, chat rename and GUI rename.
  max-length: 24
sounds:
  create:
    enabled: true
    type: ENTITY_EXPERIENCE_ORB_PICKUP
    volume: 1.0
    pitch: 1.15
  delete:
    enabled: true
    type: BLOCK_NOTE_BLOCK_BASS
    volume: 1.0
    pitch: 0.9
  teleport:
    enabled: true
    type: ENTITY_ENDERMAN_TELEPORT
    volume: 1.0
    pitch: 1.0

```

{% endtab %}

{% tab title="achivments.yml" %}

```yml
# ChunkLock achievement configuration.
# This file controls every GUI achievement except progression.yml -> advancement-rewards.
#
# How it works:
# - achievements are stored per player
# - progress can be earned even without a ChunkLock home
# - rewards can only be claimed when the player has a ChunkLock home/team
# - rewards are claimed by clicking the achievement inside the GUI
#
# Supported types:
# - DISTANCE_TRAVELED
# - VISITED_CHUNKS
# - CREATE_HOME
# - ADD_FRIENDS
# - PLACE_BLOCKS
# - BREAK_BLOCKS
# - KILL_PLAYERS
# - KILL_MOBS
# - FISH
# - VISIT_WORLD
# - OBTAIN_ITEM
# - CREATE_SHOP
# - ADVANCEMENT
#
# Supported reward buckets:
# rewards:
#   money:
#     min: 50
#     max: 150
#   exp-levels: 5
#   chunk-points: 2
#   items:
#     reward_key:
#       material: DIAMOND
#       amount: 3
#       display-name: "Bonus Diamond"
#   commands:
#     - "give %player% diamond 1"
#     - "lp user %player% permission set chunklock.reward.example true"
#
# Reward rules:
# - if random-reward is false, every configured bucket is granted
# - if random-reward is true, exactly one configured bucket is chosen
# - if random-item is true, one reward from rewards.items is chosen
# - if random-command is true, one reward from rewards.commands is chosen
# - money / exp-levels / chunk-points can be fixed values or min/max ranges
# - unlock-random-chunk unlocks one random locked chunk on the current ChunkLock home
# - sounds.achievement-complete plays when an achievement is finished
# - sounds.achievement-claim plays when the reward is claimed
# - sounds.achievement-claim-denied plays when a player tries to claim an unavailable reward
# 
# World filter:
# - worlds is optional
# - if worlds is missing or empty, progress can be earned in every world
# - you can use a YAML list:
#   worlds:
#     - world
#     - ChunkLock-world
# - or a comma separated value:
#   worlds: world,ChunkLock-world
#
# Custom target support:
# - PLACE_BLOCKS / BREAK_BLOCKS / OBTAIN_ITEM accept vanilla materials and custom item/block references
# - KILL_MOBS accepts vanilla mobs, MythicMobs IDs and ModelEngine IDs
#
# Example custom references:
# - itemsadder:my_pack:ruby_block
# - oraxen:custom_chair
# - nexo:ruby_ore
# - mythiccrucible:ancient_table
# - mythicmobs:skeleton_knight
# - modelengine:ancient_golem
# Direct advancement achievement example:
# type: ADVANCEMENT
# key: minecraft:story/enter_the_nether
#
# Toast support:
# - toasts.enabled enables or disables all achievement toasts globally
# - each achievement can override its own toast.enabled, toast.type, toast.title and toast.description
# - supported toast types: TASK / GOAL / CHALLENGE
# - toast.title is the main visible line in the vanilla toast popup
# - toast.description is stored in the internal advancement data and can also be customized
# - supported placeholders in toast.title / toast.description:
#   %achievement_name%
#   %achievement_key%
#   %required%
#   %amount%
#   %target_name%
#   %type%
#   %description%

toasts:
  enabled: true
  default-type: TASK
  default-title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
  default-description: "<gray>Reward ready in <white>/chunk achievements</white></gray>"

sounds:
  achievement-complete:
    enabled: true
    type: UI_TOAST_CHALLENGE_COMPLETE
    volume: 1.0
    pitch: 1.0
  achievement-claim:
    enabled: true
    type: ENTITY_PLAYER_LEVELUP
    volume: 1.0
    pitch: 1.1
  achievement-claim-denied:
    enabled: true
    type: BLOCK_NOTE_BLOCK_BASS
    volume: 1.0
    pitch: 0.7

travel_master:
  enabled: true
  order: 1
  name: "Travel Master"
  icon-material: COMPASS
  type: DISTANCE_TRAVELED
  amount: 5000
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Travel <white>%required%</white> blocks to unlock this achievement.</gray>"
  description:
    - "&7Travel &f5000 blocks &7anywhere on the server."
  rewards:
    money:
      min: 25
      max: 150
    exp-levels:
      min: 4
      max: 7
    chunk-points: 2

chunk_scout:
  enabled: true
  order: 2
  name: "Chunk Scout"
  icon-material: MAP
  type: VISITED_CHUNKS
  amount: 100
  toast:
    enabled: true
    type: TASK
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Visit <white>%required%</white> different chunk positions.</gray>"
  description:
    - "&7Visit &f100 different chunk positions&7."
  rewards:
    chunk-points: 1
    commands:
      - "tellraw %player% {\"text\":\"Achievement unlocked: %achievement_name%\",\"color\":\"gold\"}"

first_home:
  enabled: true
  order: 3
  name: "Home Founder"
  icon-material: GRASS_BLOCK
  type: CREATE_HOME
  amount: 1
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Create your first ChunkLock home.</gray>"
  description:
    - "&7Create your first ChunkLock home."
  rewards:
    items:
      starter_food:
        material: COOKED_BEEF
        amount: 16
        display-name: "Travel Food"
    random-item: true

team_builder:
  enabled: true
  order: 4
  name: "Team Builder"
  icon-material: PLAYER_HEAD
  type: ADD_FRIENDS
  worlds: world,ChunkLock-world
  amount: 3
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Add <white>%required%</white> friends to your ChunkLock team.</gray>"
  description:
    - "&7Add &f3 friends &7to your ChunkLock home."
  rewards:
    chunk-points: 2
    exp-levels:
      min: 2
      max: 4

builder_hands:
  enabled: true
  order: 5
  name: "Builder Hands"
  icon-material: BRICKS
  type: PLACE_BLOCKS
  target: STONE_BRICKS
  amount: 256
  toast:
    enabled: true
    type: TASK
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Place <white>%required%</white> <white>%target_name%</white>.</gray>"
  description:
    - "&7Place &f256 Stone Bricks&7."
  rewards:
    exp-levels: 4
    items:
      builder_reward:
        material: IRON_PICKAXE
        amount: 1
        display-name: "Builder Pickaxe"

demolition_worker:
  enabled: true
  order: 6
  name: "Demolition Worker"
  icon-material: IRON_PICKAXE
  type: BREAK_BLOCKS
  target: STONE
  amount: 512
  toast:
    enabled: true
    type: TASK
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Break <white>%required%</white> <white>%target_name%</white>.</gray>"
  description:
    - "&7Break &f512 Stone&7."
  rewards:
    chunk-points: 2

arena_fighter:
  enabled: true
  order: 7
  name: "Arena Fighter"
  icon-material: DIAMOND_SWORD
  type: KILL_PLAYERS
  amount: 5
  toast:
    enabled: true
    type: CHALLENGE
    title: "<gradient:#FCA5A5:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Defeat <white>%required%</white> players.</gray>"
  description:
    - "&7Defeat &f5 players&7."
  rewards:
    random-reward: true
    money:
      min: 100
      max: 250
    exp-levels:
      min: 8
      max: 12
    chunk-points:
      min: 2
      max: 4
    unlock-random-chunk: true

hunter:
  enabled: true
  order: 8
  name: "Hunter"
  icon-material: IRON_SWORD
  type: KILL_MOBS
  target: ZOMBIE
  amount: 50
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Kill <white>%required%</white> <white>%target_name%</white>.</gray>"
  description:
    - "&7Kill &f50 Zombies&7."
  rewards:
    items:
      mob_loot:
        material: ROTTEN_FLESH
        amount: 32
        display-name: "Mob Loot"
    chunk-points: 1

fisherman:
  enabled: true
  order: 9
  name: "Fisherman"
  icon-material: FISHING_ROD
  type: FISH
  amount: 20
  toast:
    enabled: true
    type: TASK
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Catch <white>%required%</white> fish.</gray>"
  description:
    - "&7Catch &f20 fish&7."
  rewards:
    exp-levels: 5

world_visitor:
  enabled: true
  order: 10
  name: "Nether Visitor"
  icon-material: CRYING_OBSIDIAN
  type: VISIT_WORLD
  target: world_nether
  amount: 1
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#FB7185:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Visit the world <white>%target_name%</white>.</gray>"
  description:
    - "&7Visit the world &fworld_nether&7."
  rewards:
    random-reward: true
    money:
      min: 80
      max: 180
    exp-levels: 5
    chunk-points: 1
    unlock-random-chunk: true

nether_story:
  enabled: false
  order: 14
  name: "Into the Nether"
  icon-material: NETHERRACK
  type: ADVANCEMENT
  key: minecraft:story/enter_the_nether
  amount: 1
  toast:
    enabled: true
    type: CHALLENGE
    title: "<gradient:#FB7185:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Complete the vanilla advancement <white>minecraft:story/enter_the_nether</white>.</gray>"
  description:
    - "&7Example direct achievement from"
    - "&fminecraft:story/enter_the_nether&7."
    - "&7Use type ADVANCEMENT with key:"
    - "&f<advancement namespace key>&7."
  rewards:
    money:
      min: 100
      max: 250
    exp-levels:
      min: 2
      max: 4

story_mine_diamond:
  enabled: true
  order: 11
  name: "Diamonds!"
  icon-material: DIAMOND
  type: OBTAIN_ITEM
  target: DIAMOND
  amount: 1
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Obtain <white>%required%</white> <white>%target_name%</white>.</gray>"
  description:
    - "&7Example achievement used by"
    - "&fprogression.yml -> advancement-rewards&7."
    - "&7It can be completed directly from"
    - "&fminecraft:story/mine_diamond&7."
  rewards:
    exp-levels: 3
    chunk-points: 1

item_collector:
  enabled: true
  order: 12
  name: "Diamond Collector"
  icon-material: DIAMOND
  type: OBTAIN_ITEM
  target: DIAMOND
  amount: 16
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Collect <white>%required%</white> <white>%target_name%</white>.</gray>"
  description:
    - "&7Obtain &f16 Diamonds&7."
  rewards:
    items:
      bonus_diamond:
        material: DIAMOND
        amount: 4
        display-name: "Bonus Diamonds"
    chunk-points: 2

shop_owner:
  enabled: true
  order: 13
  name: "First Merchant"
  icon-material: CHEST
  type: CREATE_SHOP
  amount: 1
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Create your first ChunkLock Player Shop.</gray>"
  description:
    - "&7Create your first ChunkLock Player Shop."
  rewards:
    chunk-points: 2
    commands:
      - "tellraw %player% {\"text\":\"Merchant reward claimed for %achievement_name%\",\"color\":\"green\"}"

itemsadder_builder_example:
  enabled: false
  order: 90
  name: "ItemsAdder Builder"
  icon-material: itemsadder:my_pack:ruby_block
  type: PLACE_BLOCKS
  target: "itemsadder:my_pack:ruby_block"
  amount: 32
  toast:
    enabled: true
    type: TASK
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Place <white>%required%</white> custom ItemsAdder blocks.</gray>"
  description:
    - "&7Example achievement for ItemsAdder custom blocks."
    - "&7Enable only if the item exists on your server."
  rewards:
    commands:
      - "give %player% stone 16"

oraxen_collector_example:
  enabled: false
  order: 91
  name: "Oraxen Collector"
  icon-material: oraxen:custom_chair
  type: OBTAIN_ITEM
  target: "oraxen:custom_chair"
  amount: 1
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Collect the configured Oraxen custom item.</gray>"
  description:
    - "&7Example achievement for Oraxen items."
  rewards:
    exp-levels: 4

nexo_breaker_example:
  enabled: false
  order: 92
  name: "Nexo Breaker"
  icon-material: nexo:ruby_ore
  type: BREAK_BLOCKS
  target: "nexo:ruby_ore"
  amount: 12
  toast:
    enabled: true
    type: TASK
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Break <white>%required%</white> configured Nexo blocks.</gray>"
  description:
    - "&7Example achievement for Nexo custom blocks."
  rewards:
    chunk-points: 2

crucible_crafter_example:
  enabled: false
  order: 93
  name: "Crucible Crafter"
  icon-material: mythiccrucible:ancient_table
  type: PLACE_BLOCKS
  target: "mythiccrucible:ancient_table"
  amount: 4
  toast:
    enabled: true
    type: GOAL
    title: "<gradient:#86EFAC:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Place configured MythicCrucible furniture or blocks.</gray>"
  description:
    - "&7Example achievement for MythicCrucible furniture or blocks."
  rewards:
    random-command: true
    commands:
      - "xp add %player% 5 levels"
      - "give %player% emerald 3"

mythic_hunter_example:
  enabled: false
  order: 98
  name: "Mythic Hunter"
  icon-material: NETHER_STAR
  type: KILL_MOBS
  target: "mythicmobs:skeleton_knight"
  amount: 10
  toast:
    enabled: true
    type: CHALLENGE
    title: "<gradient:#FCA5A5:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Kill <white>%required%</white> configured MythicMobs enemies.</gray>"
  description:
    - "&7Example achievement using a MythicMobs mob ID."
    - "&7Enable only if that mob exists on your server."
  rewards:
    chunk-points: 2

modelengine_hunter_example:
  enabled: false
  order: 99
  name: "Model Engine Slayer"
  icon-material: NETHER_STAR
  type: KILL_MOBS
  target: "modelengine:ancient_golem"
  amount: 5
  toast:
    enabled: true
    type: CHALLENGE
    title: "<gradient:#FCA5A5:#FACC15><bold>%achievement_name%</bold></gradient>"
    description: "<gray>Kill <white>%required%</white> configured ModelEngine enemies.</gray>"
  description:
    - "&7Example achievement using a ModelEngine model ID."
    - "&7Enable only if ModelEngine is installed and the model exists."
  rewards:
    exp-levels: 8

```

{% endtab %}
{% endtabs %}

## <mark style="color:$primary;">Optional Integrations</mark>

ChunkLock uses soft dependencies.\
These plugins are supported but not required.

* Vault
* PlaceholderAPI
* ItemsAdder
* Oraxen
* Nexo
* MythicMobs
* MythicCrucible
* ExecutableItems
* AdvancedItems
* EcoItems


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://pixelforge.gitbook.io/pixelforge/documentation/plugins/chunklock.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
