Beispiel #1
0
        public void Install(string name, string version)
        {
            IModLoaderHandler schema = compatibleSchemata.FirstOrDefault(s => s.IsCompatible(name));

            if (schema == null)
            {
                throw new InvalidOperationException($"No modloader installation schema compatible with modloader with name '{name}' for minecraft instance type '{mcInstance.GetType().FullName}' found!");
            }

            schema.Install(mcInstance, name, version);
            modLoaders.Add(new ModLoaderInfo(name, version));
        }
Beispiel #2
0
        public void Uninstall(string name)
        {
            ModLoaderInfo modLoaderInfo = ModLoaders.FirstOrDefault(ml => ml.Name == name);

            if (modLoaderInfo == null)
            {
                throw new KeyNotFoundException($"This instance does not have any modloader with name '{name}'.");
            }

            IModLoaderHandler schema = compatibleSchemata.FirstOrDefault(s => s.IsCompatible(name));

            if (schema == null)
            {
                throw new InvalidOperationException($"No modloader installation schema compatible with modloader with name '{name}' for minecraft instance type '{mcInstance.GetType().FullName}' found!");
            }

            schema.Uninstall(mcInstance, name);
            modLoaders.Remove(modLoaderInfo);
        }