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- наименование и путь к файлу в плагине.
Опционально. По-умолчанию равненresourceNamesaveDefault- необходимость скопировать содержимое файла из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>