package mineplex.hub; import mineplex.core.INautilusPlugin; import mineplex.core.account.CoreClientManager; import mineplex.core.antihack.AntiHack; import mineplex.core.blockrestore.BlockRestore; import mineplex.core.chat.Chat; import mineplex.core.command.CommandCenter; import mineplex.core.creature.Creature; import mineplex.core.disguise.DisguiseManager; import mineplex.core.donation.DonationManager; import mineplex.core.elo.EloManager; import mineplex.core.energy.Energy; import mineplex.core.itemstack.ItemStackFactory; import mineplex.core.logger.Logger; import mineplex.core.memory.MemoryFix; import mineplex.core.message.MessageManager; import mineplex.core.monitor.LagMeter; import mineplex.core.movement.Movement; import mineplex.core.npc.NpcManager; import mineplex.core.packethandler.PacketHandler; import mineplex.core.pet.PetManager; import mineplex.core.portal.Portal; import mineplex.core.projectile.ProjectileManager; import mineplex.core.punish.Punish; import mineplex.core.recharge.Recharge; import mineplex.core.spawn.Spawn; import mineplex.core.status.ServerStatusManager; import mineplex.core.task.TaskManager; import mineplex.core.teleport.Teleport; import mineplex.core.updater.FileUpdater; import mineplex.core.updater.Updater; import mineplex.hub.modules.StackerManager; import mineplex.hub.party.PartyManager; import mineplex.hub.queue.QueueManager; import mineplex.hub.server.ServerManager; import mineplex.minecraft.game.classcombat.Class.ClassManager; import mineplex.minecraft.game.classcombat.Condition.SkillConditionManager; import mineplex.minecraft.game.classcombat.Skill.SkillFactory; import mineplex.minecraft.game.classcombat.item.ItemFactory; import mineplex.minecraft.game.classcombat.shop.ClassCombatShop; import mineplex.minecraft.game.classcombat.shop.ClassShopManager; import mineplex.minecraft.game.core.IRelation; import mineplex.minecraft.game.core.combat.CombatManager; import mineplex.minecraft.game.core.condition.ConditionManager; import mineplex.minecraft.game.core.damage.DamageManager; import mineplex.minecraft.game.core.fire.Fire; import org.bukkit.Server; import org.bukkit.entity.Player; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; public class Hub extends JavaPlugin implements INautilusPlugin, IRelation { private String WEB_CONFIG = "webServer"; @Override public void onEnable() { getConfig().addDefault(WEB_CONFIG, "http://accounts.mineplex.com/"); getConfig().set(WEB_CONFIG, getConfig().getString(WEB_CONFIG)); saveConfig(); Logger.initialize(this); //Core Modules CoreClientManager clientManager = CoreClientManager.Initialize(this, GetWebServerAddress()); //Static Modules CommandCenter.Initialize(this, clientManager); ItemStackFactory.Initialize(this, false); Recharge.Initialize(this); Punish punish = new Punish(this, GetWebServerAddress(), clientManager); Portal portal = new Portal(this); AntiHack.Initialize(this, punish, portal); DonationManager donationManager = new DonationManager(this, GetWebServerAddress()); //Other Modules Creature creature = new Creature(this); new MessageManager(this, clientManager); NpcManager npcManager = new NpcManager(this, creature); new PetManager(this, clientManager, donationManager, creature, GetWebServerAddress()); //Main Modules PacketHandler packetHandler = new PacketHandler(this); PartyManager partyManager = new PartyManager(this, clientManager); HubManager hubManager = new HubManager(this, new BlockRestore(this), clientManager, donationManager, new ConditionManager(this), new DisguiseManager(this, packetHandler), new TaskManager(this, GetWebServerAddress()), portal, partyManager); ServerStatusManager serverStatusManager = new ServerStatusManager(this, new LagMeter(this, clientManager)); QueueManager queueManager = new QueueManager(this, clientManager, donationManager, new EloManager(this), partyManager); new ServerManager(this, clientManager, donationManager, portal, partyManager, serverStatusManager, hubManager, new StackerManager(hubManager), queueManager); new Chat(this, clientManager, serverStatusManager.getCurrentServerName()); new MemoryFix(this); new FileUpdater(this, portal); CombatManager combatManager = new CombatManager(this); BlockRestore blockRestore = new BlockRestore(this); ProjectileManager throwManager = new ProjectileManager(this); SkillConditionManager conditionManager = new SkillConditionManager(this); DamageManager damage = new DamageManager(this, combatManager, npcManager, new DisguiseManager(this, packetHandler)); Fire fire = new Fire(this, conditionManager, damage); Teleport teleport = new Teleport(this, clientManager, new Spawn(this)); Energy energy = new Energy(this); ItemFactory itemFactory = new ItemFactory(this, blockRestore, conditionManager, damage, energy, fire, throwManager, GetWebServerAddress()); SkillFactory skillManager = new SkillFactory(this, damage, this, combatManager, conditionManager, throwManager, blockRestore, fire, new Movement(this), teleport, energy, GetWebServerAddress()); ClassManager classManager = new ClassManager(this, clientManager, donationManager, skillManager, itemFactory, GetWebServerAddress()); ClassShopManager shopManager = new ClassShopManager(this, classManager, skillManager, itemFactory); new ClassCombatShop(shopManager, clientManager, donationManager, "Brute", classManager.GetClass("Brute")); new ClassCombatShop(shopManager, clientManager, donationManager, "Mage", classManager.GetClass("Mage")); new ClassCombatShop(shopManager, clientManager, donationManager, "Ranger", classManager.GetClass("Ranger")); new ClassCombatShop(shopManager, clientManager, donationManager, "Knight", classManager.GetClass("Knight")); new ClassCombatShop(shopManager, clientManager, donationManager, "Assassin", classManager.GetClass("Assassin")); //Updates getServer().getScheduler().scheduleSyncRepeatingTask(this, new Updater(this), 1, 1); } @Override public void onDisable() { } @Override public JavaPlugin GetPlugin() { return this; } @Override public String GetWebServerAddress() { String webServerAddress = getConfig().getString(WEB_CONFIG); return webServerAddress; } @Override public Server GetRealServer() { return getServer(); } @Override public PluginManager GetPluginManager() { return GetRealServer().getPluginManager(); } @Override public boolean CanHurt(Player a, Player b) { return false; } @Override public boolean CanHurt(String a, String b) { return false; } @Override public boolean IsSafe(Player a) { return true; } }