113 lines
3.9 KiB
Java
113 lines
3.9 KiB
Java
package ru.lovar.gradientnick;
|
|
|
|
import org.black_ixx.playerpoints.PlayerPoints;
|
|
import org.black_ixx.playerpoints.PlayerPointsAPI;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
import ru.lovar.gradientnick.commands.ColorCommand;
|
|
import ru.lovar.gradientnick.commands.GradientCommand;
|
|
import ru.lovar.gradientnick.commands.PrefixCommand;
|
|
import ru.lovar.gradientnick.config.ConfigManager;
|
|
import ru.lovar.gradientnick.config.MessagesManager;
|
|
import ru.lovar.gradientnick.data.DataManager;
|
|
import ru.lovar.gradientnick.hooks.LuckPermsHook;
|
|
import ru.lovar.gradientnick.hooks.PlaceholderAPIHook;
|
|
import ru.lovar.gradientnick.listeners.GUIListener;
|
|
import ru.lovar.gradientnick.listeners.PlayerListener;
|
|
|
|
public class GradientNick extends JavaPlugin {
|
|
|
|
private static GradientNick instance;
|
|
private PlayerPointsAPI playerPointsAPI;
|
|
private ConfigManager configManager;
|
|
private MessagesManager messagesManager;
|
|
private DataManager dataManager;
|
|
private LuckPermsHook luckPermsHook;
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
instance = this;
|
|
|
|
// Инициализация конфигов
|
|
this.configManager = new ConfigManager(this);
|
|
this.messagesManager = new MessagesManager(this);
|
|
|
|
// Инициализация хранилища данных
|
|
this.dataManager = new DataManager(this);
|
|
|
|
// Подключение PlayerPoints
|
|
if (Bukkit.getPluginManager().isPluginEnabled("PlayerPoints")) {
|
|
this.playerPointsAPI = PlayerPoints.getInstance().getAPI();
|
|
getLogger().info("PlayerPoints подключен!");
|
|
} else {
|
|
getLogger().severe("PlayerPoints не найден! Плагин отключается.");
|
|
Bukkit.getPluginManager().disablePlugin(this);
|
|
return;
|
|
}
|
|
|
|
// Подключение LuckPerms
|
|
this.luckPermsHook = new LuckPermsHook(this);
|
|
|
|
// Подключение PlaceholderAPI
|
|
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
|
new PlaceholderAPIHook(this).register();
|
|
getLogger().info("PlaceholderAPI подключен!");
|
|
}
|
|
|
|
// Регистрация команд
|
|
ColorCommand colorCommand = new ColorCommand(this);
|
|
getCommand("color").setExecutor(colorCommand);
|
|
getCommand("color").setTabCompleter(colorCommand);
|
|
|
|
PrefixCommand prefixCommand = new PrefixCommand(this);
|
|
getCommand("prefix").setExecutor(prefixCommand);
|
|
getCommand("prefix").setTabCompleter(prefixCommand);
|
|
|
|
GradientCommand gradientCommand = new GradientCommand(this);
|
|
getCommand("aprefix").setExecutor(gradientCommand);
|
|
getCommand("aprefix").setTabCompleter(gradientCommand);
|
|
|
|
// Регистрация слушателей
|
|
Bukkit.getPluginManager().registerEvents(new PlayerListener(this), this);
|
|
Bukkit.getPluginManager().registerEvents(new GUIListener(this), this);
|
|
|
|
getLogger().info("LoPreff успешно запущен!");
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
if (dataManager != null) {
|
|
dataManager.saveAll();
|
|
}
|
|
getLogger().info("LoPreff отключен!");
|
|
}
|
|
|
|
public static GradientNick getInstance() {
|
|
return instance;
|
|
}
|
|
|
|
public PlayerPointsAPI getPlayerPointsAPI() {
|
|
return playerPointsAPI;
|
|
}
|
|
|
|
public ConfigManager getConfigManager() {
|
|
return configManager;
|
|
}
|
|
|
|
public MessagesManager getMessagesManager() {
|
|
return messagesManager;
|
|
}
|
|
|
|
public DataManager getDataManager() {
|
|
return dataManager;
|
|
}
|
|
|
|
public LuckPermsHook getLuckPermsHook() {
|
|
return luckPermsHook;
|
|
}
|
|
|
|
public void reload() {
|
|
configManager.reload();
|
|
messagesManager.reload();
|
|
}
|
|
}
|