Files
Event/src/main/java/dev/trixinity/eventmanager/TrixinityEventManager.java
T
2025-07-05 01:07:57 +02:00

66 lines
2.2 KiB
Java

package dev.trixinity.eventmanager;
import com.sk89q.worldguard.WorldGuard;
import com.sk89q.worldguard.protection.flags.Flag;
import com.sk89q.worldguard.protection.flags.StateFlag;
import com.sk89q.worldguard.protection.flags.registry.FlagRegistry;
import dev.trixinity.eventmanager.commands.ClearEventerCommand;
import dev.trixinity.eventmanager.commands.EventCommand;
import dev.trixinity.eventmanager.commands.EventerCommand;
import dev.trixinity.eventmanager.commands.TrixinityCommand;
import dev.trixinity.eventmanager.placeholders.TrixinityPlaceholderExpansion;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
/**
* Hlavní třída pluginu pro správu eventů na Minecraft serveru.
*/
public class TrixinityEventManager extends JavaPlugin {
private static volatile TrixinityEventManager instance;
@Override
public void onEnable() {
instance = this;
// Vytvoření výchozí konfigurace
saveDefaultConfig();
// Registrace příkazů
getCommand("trixinity").setExecutor(new TrixinityCommand());
EventCommand eventCommand = new EventCommand();
getCommand("event").setExecutor(eventCommand);
getCommand("event").setTabCompleter(eventCommand); // Přidání TabCompleter
getCommand("eventer").setExecutor(new EventerCommand());
getCommand("cleareventer").setExecutor(new ClearEventerCommand());
// Registrace PlaceholderAPI expansion
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
new TrixinityPlaceholderExpansion(this).register();
getLogger().info("PlaceholderAPI expansion byla úspěšně zaregistrována!");
} else {
getLogger().warning("PlaceholderAPI není nainstalováno! Placeholders nebudou fungovat.");
}
getLogger().info("TrixinityEventManager byl úspěšně spuštěn!");
}
@Override
public void onDisable() {
getLogger().info("TrixinityEventManager byl vypnut!");
}
/**
* Získá instanci pluginu.
*
* @return Instance pluginu
* @throws IllegalStateException pokud plugin není inicializován
*/
public static TrixinityEventManager getInstance() {
if (instance == null) {
throw new IllegalStateException("Plugin není inicializován!");
}
return instance;
}
}