# Configuration.yml

## Configuration.yml

This is the main config file of IridiumSkyblock, where you can enable, disable or change certain features of the plugin. If you have any questions, please feel free to ask on our [discord server.](https://discord.gg/6mdyZbuSDk)

| Config Option                   | Description                                                                                                                                                             | Possible Values                                                                                                                                                                                                                |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| prefix                          | The prefix of all of the messages sent by the plugin.                                                                                                                   | Any string value                                                                                                                                                                                                               |
| worldName                       | The name of the world that the plugin will generate. This is where all of the islands will be created.                                                                  | Any string value                                                                                                                                                                                                               |
| islandCreateTitle               | The title that will be shown to players when they create an island.                                                                                                     | Any string value                                                                                                                                                                                                               |
| islandCreateSubtitle            | The subtitle of "islandCreateTitle".                                                                                                                                    | Any string value                                                                                                                                                                                                               |
| dateTimeFormat                  | The date time format that the plugin will use                                                                                                                           | `EEEE` - day of the week, `MMMM` - month, `dd` day, `HH` - hour, `mm` - minute, `ss` - second. For more information, please read [this tutorial.](http://tutorials.jenkov.com/java-internationalization/simpledateformat.html) |
| placeholderDefaultValue         | The text that will show up if a placeholder does not have any value (null).                                                                                             | Any string value                                                                                                                                                                                                               |
| clearInventoryOnRegen           | This will dictate whether players' inventory will be cleared upon island deletion, or island regen or not.                                                              | `true` or `false`                                                                                                                                                                                                              |
| clearEnderChestOnRegen          | This will dictate whether players' ender chest will be cleared upon island deletion or island regen.                                                                    | `true` or `false`                                                                                                                                                                                                              |
| defaultIslandPublic             | This will dictate whether the player's island is public or private upon island creation. Public islands can be visited by other players, as opposed to private islands. | `true` or `false`                                                                                                                                                                                                              |
| voidTeleport                    | This will dictate whether the players will get automatically teleported to their island home when they fall to the void or not.                                         | `true` or `false`                                                                                                                                                                                                              |
| netherIslands                   | This will dictate whether nether islands are enabled or not. Players must go through a nether portal in order to go to their nether island.                             | `true` or `false`                                                                                                                                                                                                              |
| endIslands                      | This will dictate whether end islands are enabled or not. Players must go through an end portal in order to go to their end island.                                     | `true` or `false`                                                                                                                                                                                                              |
| respawnOnIsland                 | This will dictate whether the players will respawn on their island upon death or not.                                                                                   | `true` or `false`                                                                                                                                                                                                              |
| distance                        | This will dictate how far adjacent islands are from each other's island center.                                                                                         | Any positive integer value                                                                                                                                                                                                     |
| schematicPastingDelay           | This will dictate how fast (in ticks) the schematic will paste. Setting this to 0 would paste the schematic instantly.                                                  | Any positive integer value                                                                                                                                                                                                     |
| islandRecalculateInterval       | This will dictate how often (in seconds) the plugin will recalculate island values.                                                                                     | Any positive integer value                                                                                                                                                                                                     |
| maxIslandName                   | This will dictate the maximum amount of characters allowed for island names.                                                                                            | Any positive integer value higher than `minIslandName`                                                                                                                                                                         |
| minIslandName                   | This will dictate the minimum amount of characters allowed for island names.                                                                                            | Any positive integer value lower than `maxIslandName`                                                                                                                                                                          |
| teleportDelay                   | This will dictate how long (in seconds) the player has to wait before teleporting.                                                                                      | Any positive integer value                                                                                                                                                                                                     |
| islandLevelUpSound              | The sound that will play once a player's island levels up                                                                                                               | Please refer to [this page.](https://github.com/CryptoMorin/XSeries/blob/master/src/main/java/com/cryptomorin/xseries/XSound.java#L63)                                                                                         |
| numberFormatter                 | In this section, you will be able to configure how the abbreviated values would look like (values will change from 1000 - > 1k or 1,200 -> 1.2k).                       | None                                                                                                                                                                                                                           |
| numberAbbreviationDecimalPlaces | The number of decimal places in the abbreviated value.                                                                                                                  | Any positive integer value                                                                                                                                                                                                     |
| thousandAbbreviation            | The suffix of values in the thousands.                                                                                                                                  | Any string value                                                                                                                                                                                                               |
| millionAbbreviation             | The suffix of values in the millions.                                                                                                                                   | Any string value                                                                                                                                                                                                               |
| billionAbbreviation             | The suffix of values in the billions.                                                                                                                                   | Any string value                                                                                                                                                                                                               |
| displayNumberAbbreviations      | This will dictate whether numbers should be abbreviated or not.                                                                                                         | Any string value                                                                                                                                                                                                               |
| generatorSettings               | In this section, you will be able to configure what type of island will generate.                                                                                       | None                                                                                                                                                                                                                           |
| generatorType                   | This will dictate whether the plugin will generate a skyblock or an ocean island.                                                                                       | `SKYBLOCK` or `OCEAN`                                                                                                                                                                                                          |
| waterHeight                     | This will determine how high the water will be. This config option will be ignored if `SKYBLOCK` is your `generatorType`.                                               | 0 - 256                                                                                                                                                                                                                        |
| minOceanFloorLevel              | This will determine the minimum y level of the ocean floor. This config option will be ignored if `SKYBLOCK` is your `generatorType`.                                   | 0 - 256 (This value must be lower than `maxOceanFloorLevel`)                                                                                                                                                                   |
| maxOceanFloorLevel              | This will determine the maximum y level of the ocean floor. This config option will be ignored if `SKYBLOCK` is your `generatorType`.                                   | 0 - 256 (This value must be higher than `minOceanFloorLevel`)                                                                                                                                                                  |
| oceanFloorBottomMaterial        | This will determine the block that will be placed at the "bottom" of the ocean floor.  This config option will be ignored if `SKYBLOCK` is your `generatorType`.        | Blocks (Please refer to [this page](https://toolkit.savagelabs.net/tools/xmaterial))                                                                                                                                           |
| oceanFloorTopMaterial           | This will determine the block that will be placed at the "top" of the ocean floor.  This config option will be ignored if `SKYBLOCK` is your `generatorType`.           | Blocks (Please refer to [this page](https://toolkit.savagelabs.net/tools/xmaterial))                                                                                                                                           |
| islandTopSlots                  | This list will let you determine where each island top will be placed in the Island Top GUI.                                                                            | islandTopPosition: [slot](http://i.imgur.com/gK9plGo.png) (e.g `1: 4`)                                                                                                                                                         |
| islandWarpSlots                 | his list will let you determine where each island warp will be placed in the Island Warps GUI.                                                                          | islandWarpNumber: [slot](http://i.imgur.com/gK9plGo.png) (e.g `1: 9`)                                                                                                                                                          |

## Island Level Rewards

In this section, you will be able to configure the rewards that a player will receive once their island reaches a certain level. We will go through each config option and provide some examples. To start off, here's what the default `islandLevelRewards` will look like:

```yaml
islandLevelRewards:
  1: 
    item: 
      material: "EXPERIENCE_BOTTLE" 
      amount: 1 
      displayName: "&b&lLevel %island_level% Reward" 
      headData: null
      headOwner: null
      lore:
      - "&7Island Level %island_level% Rewards:"
      - "&b&l* &b5 Island Crystals"
      - "&b&l* &200 Island Money"
      - ""
      - "&b&l[!] &bLeft click to redeem"
      slot: null
    commands: []
    islandExperience: 0
    crystals: 5
    money: 200.0
    experience: 0
    sound: "ENTITY_PLAYER_LEVELUP"
```

First off is `1`, this integer will determine the island level that needs to be reached in order to receive the reward. Here's an example:

```yaml
islandLevelRewards:
  1: 
  5:
  10:
```

The rewards and how it will appear in the GUI will be explained later. In this example, rewards will be given once the island level reaches 1, 5 and 10.

The next one is `item`, this section will be responsible with how the item in the GUI will look like.

* `material` determines which block or item will be displayed in the GUI, please use Material IDs from [this site.](https://docs.iridiumdevelopment.net/iridiumskyblock/materials)&#x20;
* `amount` determines the amount of said material that will be displayed in the GUI. You may use any positive integer.
* `displayName` determines the name of the item in the GUI.
* `headData`  will determine the player head's data. (This will be ignored if `PLAYER_HEAD` is not the material that is used.)&#x20;
* `headOwner` will determine the player head's owner. (This will be ignored if `PLAYER_HEAD` is not the material that is used, or if `headData` is not null.)&#x20;
* `lore` is a list of string that will determine the item's lore,
  * `slot` determines where the item will be placed in the GUI. Possible values are in [this image.](http://i.imgur.com/gK9plGo.png) Because of how the rewards GUI is handled (reward 1 in slot 0, reward 2 in slot 1, and so on) this config option will be ignored.

Here's an example:

```yaml
    item:
      material: "PLAYER_HEAD"
      amount: 1
      displayName: "&b&lLevel %island_level% Reward"
      headData: null
      headOwner: "Peaches_MLG"
      lore:
      - "&7Island Level %island_level% Rewards:"
      - "&b&l* &bThis is a super cool reward!"
      - "&b&l* &200 Island Money"
      - ""
      - "&b&l[!] &bLeft click to redeem"
      slot: null
```

Now that we're done with that, let's proceed to `commands`. This is the list of commands that will run in the console once the reward is redeemed. Here's an example:

```yaml
commands:
- "give %player% diamond 1"
- "give %player% iron_ingot 16"
```

This will run both commands, which should give the player 1 diamond and 16 iron ingots.

Up next are `islandExperience`, `crystals`, `money`, and `experience`, which are pretty straightforward. Here's an example:

```yaml
islandExperience: 50
crystals: 5
money: 1000.0
experience: 75
```

This will give the island 50 island experience (experience needed to level up), and will deposit 5 crystals, 1000 money, and 75 experience (experience for *players*, not islands.) into the island bank.

Last, but not the least, is `sound`, which determines what sound will play once the reward gets redeemed. Please use the enums listed [here.](https://github.com/CryptoMorin/XSeries/blob/master/src/main/java/com/cryptomorin/xseries/XSound.java#L63) Here's an example:

```yaml
sound: "ENTITY_PLAYER_LEVELUP"
```

This will play the `ENTITY_PLAYER_LEVELUP` sound once the reward gets redeemed.


---

# 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://iridium-development.gitbook.io/iridiumskyblock/configurations-1/getting-started/configuration.yml.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.
