Встановлення
Репозиторій
- Maven
- Gradle (Groovy DSL)
- Gradle (Kotlin DSL)
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
maven {
name "jitpack.io"
url "https://jitpack.io"
}
maven {
name "jitpack.io"
url "https://jitpack.io"
}
Встановлення та використання
Фрагменти доступні для Maven, Gradle Groovy та Gradle Kotlin DSL.
Залежно від структури вашого проекту, існує два способи використання бібліотеки:
1. Використання як самостійний плагін (модуль api)
- JGuiWrapper встановлюється як окремий плагін на сервері.
- Ваш плагін просто підключається до його API без затінення.
- Maven
- Gradle (Groovy DSL)
- Gradle (Kotlin DSL)
<dependency>
<groupId>com.github.Jodexx.JGuiWrapper</groupId>
<artifactId>api</artifactId>
<version>loading</version>
<scope>provided</scope>
</dependency>
dependencies {
compileOnly("com.github.Jodexx.JGuiWrapper:api:loading")
}
dependencies {
compileOnly("com.github.Jodexx.JGuiWrapper:api:loading")
}
2. Вбудовування у ваш проект (модуль common)
- Ви безпосередньо включаєте бібліотеку і затінюєте її в кінцевий jar-файл за допомогою
shade(абоshadowJar). - Не потрібно встановлювати JGuiWrapper як окремий плагін.
- Maven
- Gradle (Groovy DSL)
- Gradle (Kotlin DSL)
<dependency>
<groupId>com.github.Jodexx.JGuiWrapper</groupId>
<artifactId>common</artifactId>
<version>loading</version>
<scope>compile</scope>
</dependency>
Якщо ви хочете включити логіку nms для управління заголовками
<dependency>
<groupId>com.github.Jodexx.JGuiWrapper</groupId>
<artifactId>nms</artifactId>
<version>loading</version>
<scope>compile</scope>
</dependency>
dependencies {
implementation("com.github.Jodexx.JGuiWrapper:common:loading")
}
Якщо ви хочете включити логіку nms для управління заголовками
dependencies {
implementation("com.github.Jodexx.JGuiWrapper:nms:loading")
}
dependencies {
implementation("com.github.Jodexx.JGuiWrapper:common:loading")
}
Якщо ви хочете включити логіку nms для управління заголовками
dependencies {
implementation("com.github.Jodexx.JGuiWrapper:nms:loading")
}
Загальна ініціалізація
Використання бібліотеки без окремого плагіна JGuiWrapper вимагає ініціалізації слухачів у вашому основному класі плагіна.
@Override
public void onEnable() {
JGuiInitializer.init(this); // реєструє всіх слухачів
}
Після виклику init ви можете створювати та відкривати графічні інтерфейси для будь-якого гравця
API
Загальнодоступні api методи можна знайти в класі GuiApi,
що є батьківським класом JGuiInitializer
GuiApi api = GuiApi.get();
Варто зазначити, що GuiApi#get()
може викидати помилку ініціалізації, так як не було здійснено виклик JGuiInitializer#init(Plugin), що означає, API не було ініціалізовано
Безпечний доступ до API
Інколи трапляється таке, що ініціалізація може викликатись пізніше певної логіки зі взаємодією з GuiApi, тому варто використати GuiApi#getOptional()
GuiApi.getOptional().ifPresent(api -> {
Plugin plugin = api.getPlugin();
});