package me.unurled.sacredrealms.sr; import com.github.retrooper.packetevents.PacketEvents; import io.github.retrooper.packetevents.factory.spigot.SpigotPacketEventsBuilder; import java.util.List; import me.unurled.sacredrealms.sr.components.block.BlockManager; import me.unurled.sacredrealms.sr.components.clientbuild.ClientBuildManager; import me.unurled.sacredrealms.sr.components.combat.CombatManager; import me.unurled.sacredrealms.sr.components.entity.EntityManager; import me.unurled.sacredrealms.sr.components.item.ItemManager; import me.unurled.sacredrealms.sr.components.npc.NPCManager; import me.unurled.sacredrealms.sr.components.pack.ResourcePackManager; import me.unurled.sacredrealms.sr.components.pack.animatedjava.AnimatedJavaManager; import me.unurled.sacredrealms.sr.components.pack.background.BackgroundManager; import me.unurled.sacredrealms.sr.components.player.PlayerManager; import me.unurled.sacredrealms.sr.components.treasure.TreasureManager; import me.unurled.sacredrealms.sr.config.ConfigManager; import me.unurled.sacredrealms.sr.data.DataManager; import me.unurled.srcore.SRCore; import org.bukkit.plugin.java.JavaPlugin; import xyz.xenondevs.invui.InvUI; public final class SR extends JavaPlugin { private static SR plugin; public static SR getPlugin() { return plugin; } @Override public void onLoad() { PacketEvents.setAPI(SpigotPacketEventsBuilder.build(this)); // On Bukkit, calling this here is essential, hence the name "load" PacketEvents.getAPI().load(); } @Override public void onEnable() { plugin = this; SRCore.getInstance().setPlugin(this); PacketEvents.getAPI().init(); SRCore.getInstance() .getManagers() .register( List.of( ConfigManager.class, DataManager.class, AnimatedJavaManager.class, PlayerManager.class, CombatManager.class, ItemManager.class, EntityManager.class, NPCManager.class, BlockManager.class, ClientBuildManager.class, TreasureManager.class, BackgroundManager.class, ResourcePackManager.class)); InvUI.getInstance().setPlugin(this); } @Override public void onDisable() { SRCore.getInstance().unload(); PacketEvents.getAPI().terminate(); } }