private static void TestCalculate() { WorldParser world = new WorldParser(@"Jsons\World.json"); LoginResultParser loginResult = new LoginResultParser(@"Jsons\LoginResult.json", false); LocalizationParser dict = new LocalizationParser(@"Jsons\Runes.json"); DropRateCalculator calc = new DropRateCalculator(); var result = calc.Calculate(loginResult.pChests, world, dict); List <dynamic> output = new List <dynamic>(); foreach (var r in result) { var key = r.Key.Split('|'); int chestNumber = int.Parse(key[0]); string type = key[1]; string name = key[2]; var value = r.Value; dynamic e = new ExpandoObject(); e.ChestNumber = chestNumber; e.Name = name; e.Type = type; e.Expectation = value.ExpectationInAll; e.Chance = value.ChanceInAll; e.Stars = value.Stars; output.Add(e); } var arr = output.Select(e => $"{e.ChestNumber},{e.Name},{e.Type},{e.Chance},{e.Expectation},{e.Stars}").ToArray(); var text = string.Join(Environment.NewLine, arr); text = "ChestNumber,Name,Type,Chance,Expectation,Stars" + Environment.NewLine + text; File.WriteAllText(@"c:\temp\output.csv", text); }
// Call start to locate the world parser. private void Start() { // Locate the world parser in the scene. world = FindObjectOfType <WorldParser>(); // Add this instance to the world so other magnets can see it. world.magneticObjects.Add(this); }
public void GenerateNewWorld() { var parser = new WorldParser(@"../../../../Testfiles/world-1.14"); var textureProvider = new MapTools.TextureProvider(new MapTools.Models.TextureOptions { BlockColorsFilePath = "../../../../Mineman.WorldParsing/Resources/blockcolors.json", BiomeColorsFilePath = "../../../../Mineman.WorldParsing/Resources/biomecolors.json" }); var factory = new MapTools.MapRendererFactory(textureProvider); var renderer = factory.Create2DRender(parser, null); var x = renderer.GenerateBlockBitmap(RegionType.Overworld); x.Bitmap.SaveAsJpeg(System.IO.File.OpenWrite("C:/users/nojan/Desktop/test.jpg")); }
private void Load() { try { var body = GetLoginBody("QqZ5d1kWkz1D", "GQWLAycpxwFo"); if (_worldFilePath == null) { _worldFilePath = HttpContext.Current.Server.MapPath(@"~\Jsons\World.json"); } if (_runeFilePath == null) { _runeFilePath = HttpContext.Current.Server.MapPath(@"~\Jsons\Runes.json"); } WorldParser world = new WorldParser(_worldFilePath); LoginResultParser loginResult = new LoginResultParser(body, true); LocalizationParser dict = new LocalizationParser(_runeFilePath); DropRateCalculator calc = new DropRateCalculator(); var result = calc.Calculate(loginResult.pChests, world, dict); List <dynamic> output = new List <dynamic>(); foreach (var r in result) { var key = r.Key.Split('|'); int chestNumber = int.Parse(key[0]); string type = key[1]; string name = key[2]; var value = r.Value; dynamic e = new ExpandoObject(); e.ChestNumber = chestNumber; e.Chest = Enum.GetName(typeof(ChestType), chestNumber); e.Name = name; e.Type = type; e.Expectation = value.ExpectationInAll; e.Chance = value.ChanceInAll; e.Stars = value.Stars; output.Add(e); } CalculationResult = output; LastUpdated = DateTime.Now; } catch (Exception ex) { Trace.WriteLine(ex); CalculationResult = null; } }
public void Test() { var parser = new WorldParser(@"../../../../Testfiles/world-1.14"); foreach (var region in parser.GetRegions(RegionType.Overworld)) { foreach (var column in region.Columns) { if (!column.TerrainPopulated) { continue; } foreach (var chunk in column.Chunks) { foreach (var block in chunk.Blocks) { Console.WriteLine($"X: {block.WorldX} Z: {block.WorldZ} Y: {block.WorldY} - {block.Code}"); } } } } }
// Use this for initialization void Start() { world = FindObjectOfType <WorldParser>(); }
public void lsdgj() { //var databaseOptions = new DbContextOptionsBuilder<DatabaseContext>() // .UseInMemoryDatabase() // .Options; //var context = new DatabaseContext(databaseOptions); //var serviceCollection = new ServiceCollection(); //serviceCollection.AddTransient<DatabaseContext>(services => context); //var scopeFactory = new Mock<IServiceScopeFactory>(); //scopeFactory.Setup(x => x.CreateScope()) // .Returns(() => // { // var scope = new Mock<IServiceScope>(); // scope.SetupGet(s => s.ServiceProvider) // .Returns(new DefaultServiceProviderFactory().CreateServiceProvider(serviceCollection)); // return scope.Object; // }); //var hostingEnvironment = new Mock<IHostingEnvironment>(); //var options = new Mock<IOptions<Configuration>>(); //options.SetupGet(x => x.Value) // .Returns(new Configuration // { // WorldDirectory = @"C:\Users\hedlundn\Desktop\worlds\" // }); //var logger = new Mock<ILogger<WorldInfoService>>(); //context.Servers.Add(new Common.Database.Models.Server //{ // World = new Common.Database.Models.World // { // Path = "604b2298e89a4733ad54f607ab83948e" // } //}); //context.SaveChanges(); //var worldInfoService = new WorldInfoService(scopeFactory.Object, // new WorldParserFactory(), // hostingEnvironment.Object, // options.Object, // logger.Object); //worldInfoService.GenerateForAllWorlds().Wait(); //var region = parser.GetRegions(RegionType.Overworld).First(); //var column = region.Columns.First(); //var blockEnties = region.Columns.SelectMany(c => c.BlockEntities).ToList(); //var chunk = column.Chunks.First(); //var blocks = chunk.Blocks.ToList(); //var blocks = parser.GetRegions(RegionType.Overworld).SelectMany(r => r.Columns) // .SelectMany(c => c.Entities) // .ToList(); var worldPath = @"../../../../Testfiles/world"; var parser = new WorldParser(worldPath); var fileBasedRegionCache = new FileBasedRegionCache(worldPath); var renderer = new MapRenderer2D(parser, new TextureProvider(new WorldParsing.MapTools.Models.TextureOptions { BlockColorsFilePath = "../../../../Mineman.WorldParsing/Resources/blockcolors.json", BiomeColorsFilePath = "../../../../Mineman.WorldParsing/Resources/biomecolors.json" }), fileBasedRegionCache); var result = renderer.GenerateBlockBitmap(RegionType.Overworld); result.Bitmap.Save(@"C:\Users\hedlundn\Desktop\map-overworld.png"); renderer.GenerateBiomeBitmap(RegionType.Overworld).Bitmap.Save(@"C:\Users\hedlundn\Desktop\map-overworld-biome.png"); }