package me.lethunderhawk.clans; import me.lethunderhawk.bazaarflux.util.MessageSender; import me.lethunderhawk.clans.claim.ClaimListener; import me.lethunderhawk.clans.claim.ClaimManager; import me.lethunderhawk.clans.command.ClanCommand; import me.lethunderhawk.clans.placeholder.ClanPlaceHolder; import me.lethunderhawk.main.Main; import net.kyori.adventure.audience.Audience; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.event.HandlerList; public class ClanModule { private ClanManager clanManager; private ClaimManager claimManager; private ClaimListener claimListener; public String getPrefix(){ return "[Clan]"; } public void onEnable(){ claimManager = new ClaimManager(); clanManager = new ClanManager(Main.getInstance(), claimManager); this.claimListener = new ClaimListener(claimManager, clanManager); Main.getInstance().getCommand("clan").setExecutor(new ClanCommand(clanManager)); Main.getInstance().getCommand("clan").setTabCompleter(new ClanCommand(clanManager)); Main.getInstance().getServer().getPluginManager().registerEvents(claimListener, Main.getInstance()); //Main.getInstance().getServer().getPluginManager().registerEvents(new ToolListener(), Main.getInstance()); if (Main.getInstance().getServer().getPluginManager().isPluginEnabled("PlaceholderAPI")) { new ClanPlaceHolder(clanManager).register(); } } public static void sendText(Audience receiver, String infoText){ MessageSender.sendText(receiver, Component.text(infoText, NamedTextColor.GRAY), "[Clan]"); } public static void sendText(Audience receiver, Component infoText){ MessageSender.sendText(receiver, infoText, "[Clan]"); } public ClanManager getClanManager() { return clanManager; } public ClaimManager getClaimManager() { return claimManager; } public void onDisable(){ HandlerList.unregisterAll(claimListener); clanManager.saveClans(); } }