0
This repository has been archived on 2022-03-25. You can view files and clone it, but cannot push or open issues or pull requests.
2021-01-04 02:17:44 +03:00
2020-12-24 12:12:04 +03:00
2021-01-03 16:09:24 +03:00
2020-12-24 12:12:04 +03:00
2020-12-24 12:12:04 +03:00
2021-01-03 00:00:29 +03:00
2020-12-31 15:31:50 +03:00
2020-12-24 12:12:04 +03:00
2020-12-24 12:12:04 +03:00
2021-01-04 02:17:44 +03:00
2020-12-24 12:12:04 +03:00

GHAST TOOLS

Набор вспомогательных инструментов для Bukkit API.
Основан на версии Bukkit API 1.12.

Использование

Перед началом использования, необходимо в вашем Bukkit-плагине прописать подобный код:

void onLoad() {
    GhastTools.setPlugin(this);
}

Это необходимо сделать, т.к. весь инструментарий основан на статических (static) методах.

Все методы данного набора инструментов объеденены в классы, выполняющие роль группировщиков.

GhastTools

Методы общего назначения или без определённой группировки.

loadConfig

Загрузка файла настроек плагина - config.yml.

YamlConfiguration config = GhastTools.loadConfig();

По-умолчанию "гаст" пытается файл найти в папке плагина - getDataFolder(). Если файла там нет, то выгружает встроенный (имеющийся в .jar файле плагина) в эту папку и загружает его.

YamlConfiguration config = GhastTools.loadConfig(false);

Если передать параметр false, то при отсутствии файла config.yml в папке плагина, будет загруден исключительно встроенный файл настроек.

AssetsManager

Методы по работе с файлами плагина ("ассетами").

У каждой группы методов один и тот же набор входных параметров:

  • resourceName - наименование и путь к файлу в папке плагина
  • defaultResourceName - наименование и путь к файлу в плагине.
    Опционально. По-умолчанию равнен resourceName
  • saveDefault - необходимость скопировать содержимое файла из defaultResourceName в файл resourceName.
    Опционально. По-умолчанию равен true

Правила поиска файлов так же одинаков для каждой группы:

  • В начале файл ищется в папке плагина
  • Если файл отсутствует в папке плагина, то...
    • если defaultResourceName не равен null...
      • если saveDefault равен true, то файл из плагина будет выгружен в папку плагина и от туда загружен в память.
      • если saveDefault равен false, то данные будут взяты из файлв в плагине.
    • если defaultResourceName равен null, то будет брошено исключение AssetsException с описанием ошибки вида "Файл X не найден".

getAsInputStream

InputStream inputStream = AssetsManager.getAsInputStream("translate.ru.yml", "translate.yml", false);

getAsReader

Reader reader = AssetsManager.getAsReader("translate.ru.yml", "translate.yml", false);

getAsString

String string = AssetsManager.getAsString("readme.txt", "readme.txt", StandardCharsets.UTF_8, false);

У этой группы есть дополнительный опциональный параметр - charset - в котором указывается кодиривка получаемой строки.
По-умолчанию равен StandardCharsets.UTF_8

BuildHelper

Набор методов облегчающих размецение объектов на карте.

placeSkull

Location location = ...;
Skull skull = BuildHelper.placeSkull(location, BlockFace.NORTH)

placeSignWall

Location location = ...;
Sign signWall = BuildHelper.placeSignWall(location, BlockFace.NORTH)

CommandManager

Регистрация комманд.

Имеется два варианта использования: упрощённый

CommandManager.register("start", (sender, args) -> sender.sendMessage("hello!"));

и подробный:

CommandManager.create("start")
        .useOnlyPlayer()
        .executer((sender, args) -> sender.sendMessage("hello!"))
        .register();

TODO добавить описание подробного режима

Подключение

Gradle

repositories {
    maven { url 'https://dmx-mc-project.gitlab.io/maven-repository/' }
}
implementation group: 'ghast', name: 'ghast-tools', version: '1.9'

Maven

<repositories>
    <repository>
        <id>dmx-mc-project</id>
        <url>https://dmx-mc-project.gitlab.io/maven-repository/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>ghast</groupId>
        <artifactId>ghast-tools</artifactId>
        <version>1.9</version>
    </dependency>
</dependencies>
Description
Набор вспомогательных инструментов для Bukkit API.
Readme 293 KiB
Languages
Java 100%