diff --git a/NBTExplorer/Windows/MainForm.cs b/NBTExplorer/Windows/MainForm.cs index d5e57d5e..c3d43e0d 100644 --- a/NBTExplorer/Windows/MainForm.cs +++ b/NBTExplorer/Windows/MainForm.cs @@ -257,19 +257,24 @@ private void OpenMinecraftDirectory () return; try { - string path = Environment.ExpandEnvironmentVariables("%APPDATA%"); - if (!Directory.Exists(path)) { - path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); - } - - path = Path.Combine(path, ".minecraft"); - path = Path.Combine(path, "saves"); - - if (!Directory.Exists(path)) { - path = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer); + foreach (string basepath in new[] { + Environment.ExpandEnvironmentVariables("%APPDATA%"), + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), + System.Environment.GetEnvironmentVariable("HOME") } // Tries Linux Minecraft location + ) { + if (!Directory.Exists(basepath)) { + continue; + } + + string path = Path.Combine(basepath, ".minecraft"); + path = Path.Combine(path, "saves"); + + if (!Directory.Exists(path)) { + continue; + } + + OpenPaths(new string[] { path }); } - - OpenPaths(new string[] { path }); } catch (Exception e) { MessageBox.Show("Could not open default Minecraft save directory");