Встановлення
Репозиторій
- Maven
- Gradle (Groovy DSL)
- Gradle (Kotlin DSL)
<repository>
<id>JodexIndustries</id>
<name>JodexIndustries Repo</name>
<url>https://repo.jodex.xyz/releases</url>
</repository>
repositories {
maven { url = 'https://repo.jodex.xyz/releases' }
}
repositories {
maven("https://repo.jodex.xyz/releases")
}
Встановлення та використання
Фрагменти доступні для Maven, Gradle Groovy та Gradle Kotlin DSL.
Залежно від структури вашого проекту, існує два способи використання бібліотеки:
1. Використання як самостійний плагін (модуль api
)
- JGuiWrapper встановлюється як окремий плагін на сервері.
- Ваш плагін просто підключається до його API без затінення.
- Maven
- Gradle (Groovy DSL)
- Gradle (Kotlin DSL)
<dependency>
<groupId>com.jodexindustries.jguiwrapper</groupId>
<artifactId>api</artifactId>
<version>loading</version>
<scope>provided</scope>
</dependency>
dependencies {
compileOnly("com.jodexindustries.jguiwrapper:api:loading")
}
dependencies {
compileOnly("com.jodexindustries.jguiwrapper:api:loading")
}
2. Вбудовування у ваш проект (модуль common
)
- Ви безпосередньо включаєте бібліотеку і затінюєте її в кінцевий jar-файл за допомогою
shade
(абоshadowJar
). - Не потрібно встановлювати JGuiWrapper як окремий плагін.
- Maven
- Gradle (Groovy DSL)
- Gradle (Kotlin DSL)
<dependency>
<groupId>com.jodexindustries.jguiwrapper</groupId>
<artifactId>common</artifactId>
<version>loading</version>
<scope>compile</scope>
</dependency>
Якщо ви хочете включити логіку nms для управління заголовками
<dependency>
<groupId>com.jodexindustries.jguiwrapper</groupId>
<artifactId>nms</artifactId>
<version>loading</version>
<scope>compile</scope>
</dependency>
dependencies {
implementation("com.jodexindustries.jguiwrapper:common:loading")
}
Якщо ви хочете включити логіку nms для управління заголовками
dependencies {
implementation("com.jodexindustries.jguiwrapper:nms:loading")
}
dependencies {
implementation("com.jodexindustries.jguiwrapper:common:loading")
}
Якщо ви хочете включити логіку nms для управління заголовками
dependencies {
implementation("com.jodexindustries.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();
});