public bool Convert() { try { richTextBox1.Text = "Core loaded! adding references." + Environment.NewLine; reference = new Reference(csproj); reference.RemoveOriginal("fNbt"); reference.RemoveReference("fNbt"); reference.CreateReference("fNbt", ReferencePaths.FnbtPath); reference.RemoveOriginal("System.Threading"); reference.RemoveReference("System.Threading"); reference.CreateReference("System.Threading", ReferencePaths.ThreadingPath); reference.RemoveOriginal("System.Tuples"); reference.RemoveReference("System.Tuples"); reference.CreateReference("System.Tuples", ReferencePaths.TuplePath); reference.RemoveOriginal("Newtonsoft.Json"); reference.RemoveReference("Newtonsoft.Json"); reference.CreateReference("Newtonsoft.Json", ReferencePaths.NewtonsoftPath); reference.ChangeFramework(); richTextBox1.Text += reference.Status; var list = new List<string>(); DirSearch(list, Path.GetDirectoryName(csproj)); foreach (string path in list) { if (path.Contains(".csproj")) { continue; } StringBuilder builder = new StringBuilder(); bool needsTuple = false; foreach (var line in File.ReadAllLines(path)) { builder.AppendLine(line); if (line.Contains("using System.Tuples;")) { break; } else if (line.Contains("Tuple")) { needsTuple = true; } } builder.Replace(".Item1", ".Element1"); builder.Replace(".Item2", ".Element2"); builder.Replace(".Item3", ".Element3"); builder.Replace("Tuple.Create", "Tuple.New"); string val = Environment.ExpandEnvironmentVariables("%USERPROFILE%").Replace("\\", "/"); builder.Replace("Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)", "\"" + val + "\""); builder.Replace("\".truecraft\", \"settings.json\"", "\".truecraft/settings.json\""); if (needsTuple) { File.WriteAllText(path, "using System.Tuples;" + Environment.NewLine + builder.ToString()); builder.Clear(); // clear builder to save memeory } else { File.WriteAllText(path, builder.ToString()); builder.Clear(); // clear builder to save memeory } } return true; } catch (Exception e) { richTextBox1.Text += "Converting Core failed!" + Environment.NewLine + e.Message; return false; } }
public bool Convert() { try { richTextBox1.Text = "API loaded! adding references." + Environment.NewLine; reference = new Reference(csproj); reference.RemoveOriginal("fNbt"); reference.RemoveReference("fNbt"); reference.CreateReference("fNbt", ReferencePaths.FnbtPath); reference.RemoveOriginal("System.Threading"); reference.RemoveReference("System.Threading"); reference.CreateReference("System.Threading", ReferencePaths.ThreadingPath); reference.RemoveOriginal("System.Tuples"); reference.RemoveReference("System.Tuples"); reference.CreateReference("System.Tuples", ReferencePaths.TuplePath); reference.RemoveOriginal("YamlDotNet"); reference.RemoveReference("YamlDotNet"); reference.CreateReference("YamlDotNet", ReferencePaths.YamlPath); reference.ChangeFramework(); richTextBox1.Text += reference.Status; var list = new List<string>(); DirSearch(list, Path.GetDirectoryName(csproj)); foreach (string path in list) { if (path.Contains(".csproj")) { continue; } StringBuilder builder = new StringBuilder(); bool needsTuple = false; foreach (var line in File.ReadAllLines(path)) { builder.AppendLine(line); if (line.Contains("using System.Tuples;")) { break; } else if (line.Contains("Tuple")) { needsTuple = true; } } if (needsTuple) { File.WriteAllText(path, "using System.Tuples;" + Environment.NewLine + builder.ToString()); builder.Clear(); // clear builder to save memeory } bool modifiedAgain = false; /// Pass #2 for fixes. foreach (var line in File.ReadAllLines(path)) { builder.AppendLine(line); if (line.Contains(".Item1")) { builder.Replace(".Item1", ".Element1"); modifiedAgain = true; } else if (line.Contains(".Item2")) { builder.Replace(".Item2", ".Element2"); modifiedAgain = true; } else if (line.Contains(".Item3")) { builder.Replace(".Item3", ".Element3"); modifiedAgain = true; } if (line.Contains("Tuple.Create")) { builder.Replace("Tuple.Create", "Tuple.New"); modifiedAgain = true; } } if (modifiedAgain) { File.WriteAllText(path, builder.ToString()); builder.Clear(); // clear builder to save memeory } } return true; } catch (Exception e) { richTextBox1.Text += "Converting API failed!" + Environment.NewLine + e.Message; return false; } }
public bool Convert() { try { richTextBox1.Text = "Server loaded! adding references." + Environment.NewLine; reference = new Reference(csproj); reference.RemoveOriginal("fNbt"); reference.RemoveReference("fNbt"); reference.CreateReference("fNbt", ReferencePaths.FnbtPath); reference.RemoveOriginal("System.Threading"); reference.RemoveReference("System.Threading"); reference.CreateReference("System.Threading", ReferencePaths.ThreadingPath); reference.RemoveOriginal("System.Tuples"); reference.RemoveReference("System.Tuples"); reference.CreateReference("System.Tuples", ReferencePaths.TuplePath); reference.RemoveReference("YamlDotNet"); reference.CreateReference("YamlDotNet", ReferencePaths.YamlPath); reference.ChangeFramework(); richTextBox1.Text += reference.Status; var list = new List<string>(); DirSearch(list, Path.GetDirectoryName(csproj)); foreach (string path in list) { if (path.Contains(".csproj")) { continue; } StringBuilder builder = new StringBuilder(); bool needsTuple = false; foreach (var line in File.ReadAllLines(path)) { builder.AppendLine(line); if (line.Contains("using System.Tuples;")) { break; } else if (line.Contains("Tuple")) { needsTuple = true; } } builder.Replace(".Item1", ".Element1"); builder.Replace(".Item2", ".Element2"); builder.Replace(".Item3", ".Element3"); builder.Replace("Tuple.Create", "Tuple.New"); builder.Replace("Directory.GetCurrentDirectory(), \"players\"", "(Directory.GetCurrentDirectory() + \"/players\")"); builder.Replace("new NbtList(\"inventory\", Inventory.GetSlots().Select(s => s.ToNbt())),", "new NbtList(\"inventory\", Inventory.GetSlots().Select(s => (NbtTag)s.ToNbt())),"); if (needsTuple) { File.WriteAllText(path, "using System.Tuples;" + Environment.NewLine + builder.ToString()); builder.Clear(); // clear builder to save memeory } else { File.WriteAllText(path, builder.ToString()); builder.Clear(); // clear builder to save memeory } } return true; } catch (Exception e) { richTextBox1.Text += "Converting API failed!" + Environment.NewLine + e.Message; return false; } }