# Configuration

## Configuration File

```yaml
# H2 is the default database, but you can use MariaDB
# MariaDB is recommended
database: "H2"

lang: en-US

# From central block to central block
# 1000 blocks means maximum 500 blocks from center to edge
island-distance: 1000

# Determines how many members can be on an island based on owner permission
# If you want to have unlimited members, set it to -1
# Permission: oneblock.max.<role>
# LUCKPERMS NEEDED
custom-max-players:
  default: 8
  vip: 12
  mvp: 16
  admin: -1

# If level < level-formula then the island will level up
#
# islandCoreBroken (Island core blocks broken)
# level (Island current level)
# phaseOrdinal (1 = First Phase, 2 = Second Phase, 3 = Third Phase)
level-formula: "floor(3.55 * log(islandCoreBroken + 211) - 18)"

world-protection:
  # "Spawn worlds"
  blacklist:
    - "world"

spawn:
  enabled: true
  # Spawn location
  world: "world"
  x: 0
  y: 100
  z: 0
  yaw: 0
  pitch: 0

reset:
  cost: 1000
  phase: Dungeon

world-border:
  base-size: 127
  max-size: 127

tops:
  refresh-interval: 200
  top-size: 10

hologram:
  enabled: true
  # Unlock hologram when player reaches this number of blocks
  unlock-at: 50000
  update-interval: 5

gui:
  title: "&8Island"
  items:
    no-member:
      material: "GRAY_STAINED_GLASS_PANE"
      displayName: "&7Available Slot"
      lore: [ ]
      left-action:
        command: ""
      right-action:
        command: ""
    member:
      material: "PLAYER_HEAD"
      displayName: "&b&l%player%"
      lore:
        - ""
        - "&7Role: &d%prefix%"
        - ""
        - "&7Left-click to &cBan"
        - "&7Right-click to &cKick"
      left-action:
        command: "is ban %target%"
      right-action:
        command: "is kick %target%"
    no-visitor:
      material: "YELLOW_STAINED_GLASS_PANE"
      displayName: "&eNo Visitors"
      lore: [ ]
      left-action:
        command: ""
      right-action:
        command: ""
    visitor:
      material: "PLAYER_HEAD"
      displayName: "&a&l%player%"
      lore:
        - ""
        - "&7Left-click to &cBan"
      left-action:
        command: "is ban %target%"
      right-action:
        command: ""
    info:
      material: "EXPERIENCE_BOTTLE"
      displayName: "&b&lInfo"
      lore:
        - ""
        - "&eOwner: &a%owner%"
        - "&eMembers: &b%members%"
        - "&eBans: &b%bans%"
        - ""
        - "&eBlocks Broken: &b%core-broken%"
        - "&eTotal Blocks Broken: &b%total-core-broken%"
        - "&eLevel: &b%level%"
        - ""
        - "&ePhase: &b%phase%"
        - "&eNext Phase: &b%nextPhase%"
        - "&ePhase Progress: &r%progress% &e(&b%percent%%&e)"
        - ""
        - "&eIsland Size: &b%size%"
      left-action:
        command: ""
      right-action:
        command: ""
    toggle:
      # When the island is open, this will be the item
      open:
        material: "BARRIER"
        displayName: "&c&lClose"
        lore: [ ]
        left-action:
          command: "is close"
        right-action:
          command: "is close"
      close:
        material: "BARRIER"
        displayName: "&a&lOpen"
        lore: [ ]
        left-action:
          command: "is open"
        right-action:
          command: "is open"
```


---

# 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://docs.ohalee.com/products/ultimateoneblock/configuration.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.
