public static void InitAll() { all.commands.Clear(); core.commands.Clear(); all.AddOtherPerms = true; Type[] types = Assembly.GetExecutingAssembly().GetTypes(); for (int i = 0; i < types.Length; i++) { Type type = types[i]; if (!type.IsSubclassOf(typeof(Command)) || type.IsAbstract) { continue; } Command cmd = (Command)Activator.CreateInstance(type); all.Add(cmd); CommandAlias[] aliases = cmd.Aliases; if (aliases == null) { continue; } foreach (CommandAlias a in aliases) { Alias alias = new Alias(a.Trigger, cmd.name, a.Prefix, a.Suffix); Alias.coreAliases.Add(alias); } } core.commands = new List <Command>(all.commands); Scripting.Autoload(); }