# LuxinfineSkyBlock-1.7.10

**Информация:**

Мод для создания собственного сервера в режиме скайблока, является аналогом тяжелых и кривых плагинов на скайблок. Поддерживает `WorldEdit` (forge версии) для создания собственных островов в виде схематиков. Есть команды для создания, удаления острова, смены биома, а также возможности играть с друзьями.\
Т.к. мы не занимаемся скайблок-серверами вообще - мод собран "на коленке", по этому функционала в нём не много, только самое основное.

**Конфигурация:**

```json
{
  "configuration": {
    "worldGenType": {
      "comment": "Тип генерации основного мира",
      "range": "Допустимые константы: [DEFAULT, VOID, OCEAN]",
      "type": "WorldType",
      "default": "DEFAULT",
      "value": "DEFAULT"
    },
    "biomeName": {
      "comment": "Имя биома, который будет устанавливаться при генерации мира. Игнорируется для worldGenType=DEFAULT",
      "type": "String",
      "default": "Plains",
      "value": "Plains"
    },
    "islandRegionRadius": {
      "comment": "Радиус привата от центра острова\nКрайне не рекомендуется изменять после создания хотя бы одного острова!!!",
      "range": "От 1 до 2147483647",
      "type": "int",
      "default": 40,
      "value": 40
    },
    "islandSpawnHight": {
      "comment": "Высота на которой будет генерироваться остров",
      "range": "От 1 до 2147483647",
      "type": "int",
      "default": 70,
      "value": 70
    },
    "islandSpawnDistance": {
      "comment": "Расстояние меж островами\nКрайне не рекомендуется изменять после создания хотя бы одного острова!!!",
      "range": "От 0 до 2147483647",
      "type": "int",
      "default": 200,
      "value": 200
    },
    "islandPartyAcceptMaxTime": {
      "comment": "Количество секунд на согласие присоединиться к другому острову по приглашению",
      "range": "От 0 до 2147483647",
      "type": "int",
      "default": 60,
      "value": 60
    },
    "SpawnX": {
      "comment": "Кординаты спавна X (куда игрок попадёт, при удалении острова)",
      "range": "От -2147483648 до 2147483647",
      "type": "int",
      "default": 0,
      "value": 0
    },
    "SpawnY": {
      "comment": "Кординаты спавна Y (куда игрок попадёт, при удалении острова)",
      "range": "От 0 до 2147483647",
      "type": "int",
      "default": 70,
      "value": 70
    },
    "SpawnZ": {
      "comment": "Кординаты спавна Z (куда игрок попадёт, при удалении острова)",
      "range": "От -2147483648 до 2147483647",
      "type": "int",
      "default": 0,
      "value": 0
    },
    "islandbuild": {
      "properties": {
        "buildType": {
          "comment": "Тип постройки острова: \n0 - Загрузить схематику [файл должен лежать в папке configs]\n1 - Использовать настройки конфига для построения",
          "range": "От 0 до 1",
          "type": "int",
          "default": 1,
          "value": 1
        },
        "schematicFileName": {
          "comment": "Имя и расширение файла со схематикой острова, если buildType = 0. Также требуется наличие мода WorldEdit",
          "type": "String",
          "default": "",
          "value": ""
        },
        "islandStartKit": {
          "comment": "Список предметов, которые будут выданы игроку в сундуке при создании острова. Если пусто - сундук генерироваться не будет\nТОЛЬКО ДЛЯ buildType = 1",
          "type": "CustomStackList",
          "default": [],
          "value": []
        },
        "buildIslandRadius": {
          "comment": "Радиус постройки платформы острова (строит квадрат)\nКрайне не рекомендуется изменять после создания хотя бы одного острова!!!",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 1,
          "value": 1
        },
        "buildIslandDeep": {
          "comment": "Глубина (Y) постройки платформы острова (строит квадрат)\nКрайне не рекомендуется изменять после создания хотя бы одного острова!!!\nТОЛЬКО ДЛЯ buildType = 1",
          "range": "От 0 до 2147483647",
          "type": "int",
          "default": 0,
          "value": 0
        },
        "generateIslandTree": {
          "comment": "Включить генерацию дерева на островах\nТОЛЬКО ДЛЯ buildType = 1",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "offsets": {
          "properties": {
            "spawnXOffset": {
              "comment": "Отступ игрока от центра острова по координате X при установке начальной точки спавна игрока",
              "range": "От -2147483648 до 2147483647",
              "type": "int",
              "default": 1,
              "value": 1
            },
            "spawnYOffset": {
              "comment": "Отступ игрока от центра острова по координате Y при установке начальной точки спавна игрока",
              "range": "От -2147483648 до 2147483647",
              "type": "int",
              "default": 0,
              "value": 0
            },
            "spawnZOffset": {
              "comment": "Отступ игрока от центра острова по координате Z при установке начальной точки спавна игрока",
              "range": "От -2147483648 до 2147483647",
              "type": "int",
              "default": 1,
              "value": 1
            }
          }
        },
        "schematicOffset": {
          "properties": {
            "XOffset": {
              "comment": "Отступ от центра острова по координате X при постройке схематика",
              "range": "От -2147483648 до 2147483647",
              "type": "int",
              "default": 0,
              "value": 0
            },
            "YOffset": {
              "comment": "Отступ от центра острова по координате Y при постройке схематика",
              "range": "От -2147483648 до 2147483647",
              "type": "int",
              "default": 0,
              "value": 0
            },
            "ZOffset": {
              "comment": "Отступ от центра острова по координате Z при постройке схематика",
              "range": "От -2147483648 до 2147483647",
              "type": "int",
              "default": 0,
              "value": 0
            }
          }
        }
      }
    },
    "commandaliases": {
      "properties": {
        "setHomeAliases": {
          "comment": "Алиасы для команды /island_sethome",
          "type": "List<String>",
          "default": [
            "is_sethome",
            "sethome",
            "homeset"
          ],
          "value": [
            "is_sethome",
            "sethome",
            "homeset"
          ]
        },
        "homeAliases": {
          "comment": "Алиасы для команды /island_home",
          "type": "List<String>",
          "default": [
            "home",
            "is_home",
            "is_join"
          ],
          "value": [
            "home",
            "is_home",
            "is_join"
          ]
        },
        "islandAliases": {
          "comment": "Алиасы для команды /island",
          "type": "List<String>",
          "default": [
            "is"
          ],
          "value": [
            "is"
          ]
        }
      }
    },
    "wipeisland": {
      "properties": {
        "resetExperience": {
          "comment": "Сбрасывать опыт участникам острова при его удалении/ресете",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "resetInventory": {
          "comment": "Сбрасывать инвентарь участникам острова при его удалении/ресете",
          "type": "boolean",
          "default": true,
          "value": true
        },
        "wipeIslandOnlineCommands": {
          "comment": "Команды, выполняемые при кике/выходе онлайн-игрока с острова. Плейсхолдеры: {nick} - ник игрока, {uuid} - UUID игрока",
          "type": "Set<String>",
          "default": [
            "bq_admin reset all {nick}"
          ],
          "value": [
            "bq_admin reset all {nick}"
          ]
        },
        "wipeIslandOfflineCommands": {
          "comment": "Команды, выполняемые при кике/выходе оффлайн-игрока с острова. Плейсхолдеры: {nick} - ник игрока, {uuid} - UUID игрока",
          "type": "Set<String>",
          "default": [
            "bq_admin reset all {nick}"
          ],
          "value": [
            "bq_admin reset all {nick}"
          ]
        }
      }
    }
  }
}
```

**Команды:**

| Команда                 | Права и атрибуты                                                                                                                                                                                                            | Описание                                                                                                                                                                                  |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| /island                 | <p>Основные права</p><ul><li><code>%base\_perm\_is%</code></li></ul>                                                                                                                                                        | Телепортация на остров или создание нового острова, если его ещё нет                                                                                                                      |
| /island remove \[игрок] | <p>Основные права</p><ul><li><code>%base\_perm\_is%</code></li><li><code>islan.island.delete</code></li></ul><p>Дополнительные права:</p><ul><li><code>islan.island.delete.other</code> - удаление чужого острова</li></ul> | <p>Удаление острова.<br></p><p>Доступно только создателю острова / при наличии other пермишена</p>                                                                                        |
| /island reset \[игрок]  | <p>Основные права</p><ul><li><code>%base\_perm\_is%</code></li><li><code>islan.island.reset</code></li></ul><p>Дополнительные права:</p><ul><li><code>islan.island.reset.other</code> - вайп чужого острова</li></ul>       | <p>Вайп острова (аналогично команде remove, но с автоматической генерацией нового острова).<br><br>Доступно только создателю острова / при наличии other пермишена</p>                    |
| /island invite \[игрок] | <p>Основные права</p><ul><li><code>%base\_perm\_is%</code></li></ul>                                                                                                                                                        | <p>Отправляет игроку приглашение на присоединение к острову для совместной игры.<br><br>Доступно только создателю острова</p>                                                             |
| /island accept          | <p>Основные права</p><ul><li><code>%base\_perm\_is%</code></li></ul>                                                                                                                                                        | <p>Приём приглашения на присоединение к острову.<br><br>При приёме приглашения свой остров игрок безвозвратно теряет, об этом выводится предупреждение при вводе команды</p>              |
| /island kick \[игрок]   | <p>Основные права</p><ul><li><code>%base\_perm\_is%</code></li></ul>                                                                                                                                                        | <p>Удаление игрока с острова.</p><p><br>Команда доступна только владельцу острова.<br><br>При удалении игрока - его инвентарь и опыт будут сброшены, если опции активны в конфиге!</p>    |
| /island leave           | <p>Основные права</p><ul><li><code>%base\_perm\_is%</code></li></ul>                                                                                                                                                        | <p>Отказ от острова, на который вы были приглашены.<br><br>Команда недоступна владельцу острова.<br><br>При отказе у игрока очищается инвентарь и опыт, если опции активны в конфиге!</p> |
| /island list            | <p>Основные права</p><ul><li><code>%base\_perm\_is%</code></li></ul>                                                                                                                                                        | Вывод списка всех существующих островов на данный момент                                                                                                                                  |
| /island biome <биом>    | <p></p><p>Основные права</p><ul><li><code>%base\_perm\_is%</code></li><li><code>islan.island.biome.\<biome\_name></code> - право установки конкретного биома</li></ul>                                                      | <p>Изменяет биом на острове.<br><br>Доступно только владельцу острова</p>                                                                                                                 |
| /island\_home \[игрок]  | <p></p><p>Основные права</p><ul><li><code>%base\_perm\_home%</code></li></ul><p>Дополнительные права:</p><ul><li><code>islan.island.home.other</code> - телепортация на чужой остров</li></ul>                              | Телепортация на остров игрока                                                                                                                                                             |
| /sethome                | <p></p><p>Основные права</p><ul><li><code>%base\_perm\_sethome%</code></li></ul>                                                                                                                                            | Установка персональной точки спавна на острове                                                                                                                                            |

**ВНИМАНИЕ:** Мод написан без использования LFHelper Commands API, по этому прав на команд довольно мало. Более того, базовые права зависят от вашей платформы. Ниже приведена таблица прав в зависимости от используемого ядра:

<table><thead><tr><th width="221">Обозначение права</th><th width="312">Право с модом LuxinfinePermissions</th><th>Право на Bukkit ядрах</th></tr></thead><tbody><tr><td><code>%base_perm_is%</code></td><td><code>command.SwixySkyblock.island</code></td><td><code>com.swixy.swixyskyblock.commands.islandscommand</code></td></tr><tr><td><code>%base_perm_home%</code></td><td><code>command.SwixySkyblock.island_home</code></td><td><code>com.swixy.swixyskyblock.commands.joinislandcommand</code></td></tr><tr><td><code>%base_perm_sethome%</code></td><td><code>command.SwixySkyblock.sethome</code></td><td><code>com.swixy.swixyskyblock.commands.setislandspawncommand</code></td></tr></tbody></table>
