public ModernMCP(string mc_version, string series, string tsrg_file, string[] csv_zips) { ClientVersion = mc_version; Series = series; using (var reader = File.OpenText(tsrg_file)) MappingsIO.ParseTsrg(LocalMappings.Client, reader); using (var reader = File.OpenText(tsrg_file)) MappingsIO.ParseTsrg(LocalMappings.Server, reader); foreach (var csv in csv_zips) { using var zip = ZipFile.OpenRead(csv); StreamReader?read(string path) { var entry = zip.GetEntry(path); if (entry == null) { return(null); } return(new(entry.Open())); } ParseCSVs( classes: read("classes.csv"), methods: read("methods.csv"), fields: read("fields.csv") ); } }
private Sided <Mappings> ParseTsrgs(string version) { var sided = new Sided <Mappings>(); using var client_file = File.OpenText(Path.Combine(Folder, version, "client.tsrg")); using var server_file = File.OpenText(Path.Combine(Folder, version, "server.tsrg")); MappingsIO.ParseTsrg(sided.Client, client_file); MappingsIO.ParseTsrg(sided.Server, server_file); return(sided); }
public RetroMCP(string folder, string matched_version) { Folder = folder; var mcp = ParseTsrgs(matched_version); MatchedMCP = new(mcp.Client.Reversed(), mcp.Server.Reversed()); MatchedMojang = new(); using var client_file = File.OpenText(Path.Combine(Folder, "matched_client.txt")); using var server_file = File.OpenText(Path.Combine(Folder, "matched_server.txt")); MappingsIO.ParseProguard(MatchedMojang.Client, client_file); MappingsIO.ParseProguard(MatchedMojang.Server, server_file); FoundRenames = new((YamlMappingNode)YamlHelper.ParseFile(Path.Combine(folder, "mappings_found.yaml"))); CustomRenames = new((YamlMappingNode)YamlHelper.ParseFile(Path.Combine(folder, "mappings_custom.yaml"))); var found_equivs = Equivalencies.Parse((YamlMappingNode)YamlHelper.ParseFile(Path.Combine(folder, "equivalencies_custom.yaml"))); var custom_equivs = Equivalencies.Parse((YamlMappingNode)YamlHelper.ParseFile(Path.Combine(folder, "equivalencies_custom.yaml"))); var client_equivs = new Equivalencies(found_equivs.Client, custom_equivs.Client); var server_equivs = new Equivalencies(found_equivs.Server, custom_equivs.Server); MergedEquivalencies = new(client_equivs, server_equivs); }