> For the complete documentation index, see [llms.txt](https://advion.gitbook.io/advion-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://advion.gitbook.io/advion-docs/configuration-1.md).

# Configuration

IslandHologram uses `config.yml` for all current settings and messages.

Color codes with `&` are supported. HEX colors use this format:

```
&#FC7A00
```

## Proximity

```yaml
proximity:
  spawn-radius: 32
```

| Key                      | Type   | Default | Description                                                                                                              |
| ------------------------ | ------ | ------- | ------------------------------------------------------------------------------------------------------------------------ |
| `proximity.spawn-radius` | number | `32`    | Distance in blocks required for a player to spawn an island hologram. Holograms despawn when no players remain in range. |

Increasing this value can make more holograms active at the same time.

## Hologram Provider

```yaml
hologram:
  provider: AUTO
```

| Key                 | Type   | Default | Description                                                                                  |
| ------------------- | ------ | ------- | -------------------------------------------------------------------------------------------- |
| `hologram.provider` | string | `AUTO`  | Selects the hologram backend. Allowed values: `AUTO`, `DECENT_HOLOGRAMS`, `FANCY_HOLOGRAMS`. |

## Refresh Interval

```yaml
hologram:
  refresh-interval: 60
```

| Key                         | Type    | Default | Description                                                                                           |
| --------------------------- | ------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `hologram.refresh-interval` | integer | `60`    | How often, in seconds, visible hologram lines are refreshed. Set to `0` to disable automatic refresh. |

## FancyHolograms Scale

```yaml
hologram:
  scale: 1.0
```

| Key              | Type   | Default | Description                                                                             |
| ---------------- | ------ | ------- | --------------------------------------------------------------------------------------- |
| `hologram.scale` | number | `1.0`   | Uniform scale multiplier for FancyHolograms. DecentHolograms does not use this setting. |

## Hologram Offset

```yaml
hologram:
  offset:
    x: -2.0
    y: 4.5
    z: 0.0
```

| Key                 | Type   | Default | Description                                |
| ------------------- | ------ | ------- | ------------------------------------------ |
| `hologram.offset.x` | number | `-2.0`  | East/west offset from the island center.   |
| `hologram.offset.y` | number | `4.5`   | Vertical offset from the island center.    |
| `hologram.offset.z` | number | `0.0`   | South/north offset from the island center. |

The default `y: 4.5` is tuned for DecentHolograms. A lower value, such as `1.5`, may be better for FancyHolograms.

## Hologram Lines

```yaml
hologram:
  lines:
    - '&#FC7A00&lIsland'
    - '&7Owner: &#45cdf9%owner%'
    - '&7Level: &#a1eafb%superior_island_level_format%'
```

| Key              | Type        | Description                                                                           |
| ---------------- | ----------- | ------------------------------------------------------------------------------------- |
| `hologram.lines` | string list | Lines displayed in the hologram from top to bottom. Empty strings create blank lines. |

Built-in replacements:

| Placeholder     | Description                                         |
| --------------- | --------------------------------------------------- |
| `%owner%`       | Island owner's name.                                |
| `%island_name%` | Island name, or a fallback based on the owner name. |
| `%level%`       | Island level from SuperiorSkyblock2.                |
| `%members%`     | Total island member count including the owner.      |

PlaceholderAPI placeholders can also be used when PlaceholderAPI is installed.

## Click Commands

```yaml
hologram:
  commands:
    left-click: "is panel"
    right-click: "is settings"
```

| Key                             | Type   | Description                                                            |
| ------------------------------- | ------ | ---------------------------------------------------------------------- |
| `hologram.commands.left-click`  | string | Command run as the clicking player on left-click. Do not include `/`.  |
| `hologram.commands.right-click` | string | Command run as the clicking player on right-click. Do not include `/`. |

Click commands are supported only when using DecentHolograms.

## PlaceholderAPI Output

```yaml
placeholders:
  enabled-yes: "yes"
  enabled-no: "no"
```

| Key                        | Type   | Description                                                                    |
| -------------------------- | ------ | ------------------------------------------------------------------------------ |
| `placeholders.enabled-yes` | string | Value returned by `%islandholo_enabled%` when the island hologram is enabled.  |
| `placeholders.enabled-no`  | string | Value returned by `%islandholo_enabled%` when the island hologram is disabled. |

## Messages

Messages are currently configured under `messages.*` in `config.yml`.

Example with HEX colors:

```yaml
messages:
  plugin-reloaded: "&#FC7A00Plugin reloaded."
  no-permission: "&#FF3333You do not have permission."
```

Available message keys:

| Key                              | Used by                                 |
| -------------------------------- | --------------------------------------- |
| `messages.no-permission`         | Permission failures.                    |
| `messages.only-players`          | Player-only command usage.              |
| `messages.usage`                 | Invalid `/isholo` usage.                |
| `messages.no-island`             | Player has no island.                   |
| `messages.toggle-owner-only`     | Non-owner tries to toggle a hologram.   |
| `messages.toggle-not-registered` | Island was not registered yet.          |
| `messages.hologram-disabled`     | Toggle disabled response.               |
| `messages.hologram-enabled`      | Toggle enabled response.                |
| `messages.plugin-reloaded`       | Reload success response.                |
| `messages.reload-db-error`       | Reload database error.                  |
| `messages.migrate-starting`      | Migration start response.               |
| `messages.migrate-in-progress`   | Migration already running.              |
| `messages.migrate-db-error`      | Migration database read failure.        |
| `messages.migrate-fetch-error`   | SuperiorSkyblock2 island fetch failure. |
| `messages.migrate-save-error`    | Migration save failure.                 |
| `messages.migrate-already-done`  | No missing islands to migrate.          |
| `messages.migrate-progress`      | Migration progress.                     |
| `messages.migrate-complete`      | Migration complete.                     |

Dynamic message variables:

| Variable      | Used by                        |
| ------------- | ------------------------------ |
| `{total}`     | Migration messages.            |
| `{processed}` | Migration progress.            |
| `{elapsed}`   | Migration duration in seconds. |

## Minimal Example

```yaml
proximity:
  spawn-radius: 32

hologram:
  provider: AUTO
  refresh-interval: 60
  scale: 1.0
  offset:
    x: -2.0
    y: 4.5
    z: 0.0
  lines:
    - '&#FC7A00&lIsland'
    - '&7Owner: &#45cdf9%owner%'
    - '&7Level: &#a1eafb%level%'
    - '&7Members: &#FFD700%members%'
  commands:
    left-click: "is panel"
    right-click: "is settings"
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://advion.gitbook.io/advion-docs/configuration-1.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
