package com.alttd.hunger_games; import com.alttd.hunger_games.commands.BaseCommand; import com.alttd.hunger_games.config.Config; import com.alttd.hunger_games.config.Messages; import com.alttd.hunger_games.event_listeners.PlayerDisconnectListener; import com.alttd.hunger_games.event_listeners.PlayerJoinListener; import com.alttd.hunger_games.services.PlayerService; import com.alttd.hunger_games.services.Round; import com.alttd.hunger_games.services.RoundService; import lombok.extern.slf4j.Slf4j; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; @Slf4j public final class Main extends JavaPlugin { private RoundService roundService; private PlayerService playerService; @Override public void onEnable() { log.info("Starting HungerGames"); reloadConfigs(); registerServices(); registerCommands(); registerEvents(); registerSchedulers(); } private void registerServices() { Round round = Round.createSingletonInstance(); roundService = RoundService.createSingletonInstance(round); playerService = new PlayerService(roundService); } @Override public void onDisable() { log.info("Disabling HungerGames"); } private void registerCommands() { BaseCommand command = new BaseCommand(this, roundService, playerService); } private void registerEvents() { PluginManager pluginManager = getServer().getPluginManager(); pluginManager.registerEvents(new PlayerDisconnectListener(playerService), this); pluginManager.registerEvents(new PlayerJoinListener(playerService), this); } public void reloadConfigs() { Config.reload(); Messages.reload(); } private void registerSchedulers() { } }