using WingsAPI.Plugins; using WingsEmu.Commands.Interfaces; using WingsEmu.Commands.TypeParsers; using WingsEmu.Game.Managers; using WingsEmu.Game.Managers.StaticData; using WingsEmu.Game.Maps; using WingsEmu.Plugins.Essentials.Account; using WingsEmu.Plugins.Essentials.Administrator; using WingsEmu.Plugins.Essentials.Administrator.Items; using WingsEmu.Plugins.Essentials.GameMaster; using WingsEmu.Plugins.Essentials.God; using WingsEmu.Plugins.Essentials.Help; using WingsEmu.Plugins.Essentials.NPC; using WingsEmu.Plugins.Essentials.Skills; using WingsEmu.Plugins.Essentials.Teleport; namespace WingsEmu.Plugins.Essentials; public class EssentialsPlugin : IGamePlugin { private readonly ICommandContainer _commands; private readonly IItemsManager _itemManager; private readonly IMapManager _mapManager; private readonly ISessionManager _sessionManager; public EssentialsPlugin(ICommandContainer commandContainer, IMapManager mapManager, ISessionManager sessionManager, IItemsManager itemManager) { _itemManager = itemManager; _sessionManager = sessionManager; _mapManager = mapManager; _commands = commandContainer; } public string Name => nameof(EssentialsPlugin); public void OnLoad() { _commands.AddTypeParser(new PlayerEntityTypeParser(_sessionManager)); _commands.AddTypeParser(new MapInstanceTypeParser(_mapManager)); _commands.AddTypeParser(new ItemTypeParser(_itemManager)); // admin _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); // item management _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); // bazaar _commands.AddModule(); // inventory // super game master _commands.AddModule(); _commands.AddModule(); // character _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); _commands.AddModule(); } }