internal Instance(Context context, string gameFolder, InstanceDescription description) { Context = context; GameFolder = gameFolder; AssetsFolder = context.AssetsFolder; VersionsFolder = context.VersionsFolder; LibraryFolder = context.LibraryFolder; Description = description; MinecraftVersion = description.Version; ModsStoreFolder = context.ModsStoreFolder; string descriptionFile = Path.Combine (gameFolder, "craftalyst-instance.json"); if (File.Exists (descriptionFile)) { using (var sr = new StreamReader(descriptionFile)) Description = InstanceDescription.Parse (sr.ReadToEnd ()); } else { Description = new InstanceDescription() { Name = "Minecraft", Description = "A game about blocks", SyncUrl = "", Version = MinecraftVersion, Mods = new List<ModDescription>() }; } }
public DedicatedLauncher(string instanceName, InstanceDescription defaultInstanceDescription) : this() { var instance = Craft.GetInstance (instanceName); if (instance == null) instance = Craft.CreateInstance(instanceName, defaultInstanceDescription); }
public Instance GetOrCreateInstance(string name, InstanceDescription description) { var instance = GetInstance(name); if (instance == null) instance = CreateInstance(name, description); else instance.Sync(); return instance; }
public Instance CreateInstance(string name, InstanceDescription description) { var instance = new Instance(this, Path.Combine (InstancesFolder, name), description); instance.Description = description; instance.IsNewInstance = true; return instance; }