add README.MD
This commit is contained in:
156
README.MD
Normal file
156
README.MD
Normal file
@@ -0,0 +1,156 @@
|
||||
# GHAST TOOLS
|
||||
|
||||
Набор вспомогательных инструментов для Bukkit API.
|
||||
_Основан на версии Bukkit API 1.12._
|
||||
|
||||
## Использование
|
||||
|
||||
Перед началом использования, необходимо в вашем Bukkit-плагине прописать подобный код:
|
||||
|
||||
```java
|
||||
void onLoad() {
|
||||
GhastTools.setPlugin(this);
|
||||
}
|
||||
```
|
||||
|
||||
Это необходимо сделать, т.к. весь инструментарий основан на статических (static) методах.
|
||||
|
||||
Все методы данного набора инструментов объеденены в классы, выполняющие роль группировщиков.
|
||||
|
||||
### GhastTools
|
||||
|
||||
Методы общего назначения или без определённой группировки.
|
||||
|
||||
#### loadConfig
|
||||
|
||||
Загрузка файла настроек плагина - `config.yml`.
|
||||
|
||||
```java
|
||||
YamlConfiguration config = GhastTools.loadConfig();
|
||||
```
|
||||
|
||||
По-умолчанию "гаст" пытается файл найти в папке плагина - `getDataFolder()`.
|
||||
Если файла там нет, то выгружает встроенный (имеющийся в `.jar` файле плагина) в эту папку и загружает его.
|
||||
|
||||
```java
|
||||
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
|
||||
|
||||
```java
|
||||
InputStream inputStream = AssetsManager.getAsInputStream("translate.ru.yml", "translate.yml", false);
|
||||
```
|
||||
|
||||
#### getAsReader
|
||||
|
||||
```java
|
||||
Reader reader = AssetsManager.getAsReader("translate.ru.yml", "translate.yml", false);
|
||||
```
|
||||
|
||||
#### getAsString
|
||||
|
||||
```java
|
||||
String string = AssetsManager.getAsString("readme.txt", "readme.txt", StandardCharsets.UTF_8, false);
|
||||
```
|
||||
|
||||
У этой группы есть дополнительный _опциональный_ параметр - `charset` - в котором указывается кодиривка получаемой строки.
|
||||
_По-умолчанию равен `StandardCharsets.UTF_8`_
|
||||
|
||||
### BuildHelper
|
||||
|
||||
Набор методов облегчающих размецение объектов на карте.
|
||||
|
||||
#### placeSkull
|
||||
|
||||
```java
|
||||
Location location = ...;
|
||||
Skull skull = BuildHelper.placeSkull(location, BlockFace.NORTH)
|
||||
```
|
||||
|
||||
#### placeSignWall
|
||||
|
||||
```java
|
||||
Location location = ...;
|
||||
Sign signWall = BuildHelper.placeSignWall(location, BlockFace.NORTH)
|
||||
```
|
||||
|
||||
### CommandManager
|
||||
|
||||
Регистрация комманд.
|
||||
|
||||
Имеется два варианта использования: упрощённый
|
||||
|
||||
```java
|
||||
CommandManager.register("start", (sender, args) -> sender.sendMessage("hello!"));
|
||||
```
|
||||
|
||||
и подробный:
|
||||
|
||||
```java
|
||||
CommandManager.create("start")
|
||||
.useOnlyPlayer()
|
||||
.executer((sender, args) -> sender.sendMessage("hello!"))
|
||||
.register();
|
||||
```
|
||||
|
||||
_TODO добавить описание подробного режима_
|
||||
|
||||
## Подключение
|
||||
|
||||
### Gradle
|
||||
|
||||
```groovy
|
||||
repositories {
|
||||
maven { url 'https://dmx-mc-project.gitlab.io/maven-repository/' }
|
||||
}
|
||||
```
|
||||
|
||||
```groovy
|
||||
implementation group: 'ghast', name: 'ghast-tools', version: '1.9'
|
||||
```
|
||||
|
||||
### Maven
|
||||
|
||||
```xml
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>dmx-mc-project</id>
|
||||
<url>https://dmx-mc-project.gitlab.io/maven-repository/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
```
|
||||
|
||||
```xml
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>ghast</groupId>
|
||||
<artifactId>ghast-tools</artifactId>
|
||||
<version>1.9</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
```
|
||||
Reference in New Issue
Block a user