FlectonePulse API
FlectonePulse — это мощный плагин для Minecraft, позволяющий настраивать сообщения сервера, чат, команды и интеграции. Поддерживает платформы Bukkit, Spigot, Paper, Purpur, Folia, BungeeCord, Velocity и Fabric. Использует Google Guice для внедрения зависимостей, при этом большинство классов (кроме моделей) помечены аннотацией @Singleton
Подключение зависимости
FlectonePulse доступен в Maven Central. Ниже приведены конфигурации для подключения в проекте через Maven, Gradle (Groovy) или Gradle (Kotlin DSL)
xml
<dependency>
<groupId>net.flectone.pulse</groupId>
<artifactId>core</artifactId>
<version>1.4.0</version> <!-- Замените на актуальную версию -->
<scope>provided</scope>
</dependency>
groovy
repositories {
mavenCentral()
}
dependencies {
compileOnly 'net.flectone.pulse:core:1.4.0' // Замените на актуальную версию
}
kotlin
repositories {
mavenCentral()
}
dependencies {
compileOnly("net.flectone.pulse:core:1.4.0") // Замените на актуальную версию
}
Для snapshot-версий:
xml
<dependency>
<groupId>net.flectone.pulse</groupId>
<artifactId>core</artifactId>
<version>1.4.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
groovy
repositories {
maven { url 'https://central.sonatype.com/repository/maven-snapshots/' }
}
dependencies {
compileOnly 'net.flectone.pulse:core:1.4.1-SNAPSHOT' // Замените на актуальную версию
}
kotlin
repositories {
maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") }
}
dependencies {
compileOnly("net.flectone.pulse:core:1.4.1-SNAPSHOT") // Замените на актуальную версию
}
Пример для Bukkit
Пример плагина для Bukkit, использующего FlectonePulse для вывода сообщения "Hello from FlectonePulse"
plugin.yml
yaml
name: MyPlugin
version: 1.0.0
main: com.example.myplugin.MyPlugin
api-version: 1.13
softdepend:
- FlectonePulse
Пример кода плагина
java
package com.example.myplugin;
import net.flectone.pulse.FlectonePulse;
import net.flectone.pulse.FlectonePulseAPI;
import net.flectone.pulse.util.logging.FLogger;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {
if (Bukkit.getPluginManager().getPlugin("FlectonePulse") != null) {
FlectonePulse flectonePulse = FlectonePulseAPI.getInstance();
FLogger fLogger = flectonePulse.get(FLogger.class);
fLogger.info("Hello from FlectonePulse");
}
}
}
Ключевые методы API
java
FlectonePulse flectonePulse = FlectonePulseAPI.getInstance();
// Получение singleton-экземпляр указанного класса через внедрение зависимостей Guice
// Class<?> clazz = ...
// flectonePulse.get(clazz);
FLogger fLogger = flectonePulse.get(FLogger.class);
// Проверка, готов ли инжектор к работе
flectonePulse.isInitialized();
// Перезагружает плагин, выбрасывая `ReloadException` при ошибках
flectonePulse.reload();
Примечания
- Убедитесь, что FlectonePulse установлен на сервере и указан как softdepend в
plugin.yml
- Используйте
isInitialized()
, чтобы проверить готовность инжектора перед вызовомget()