private void makeVein(System.Random rnd, CellData oreCell, OreSettings setting, MapAccessor accessor, int i1, int j1) { int chunkX = rnd.Next(0, 16); // Don't start on edge cells. int chunkY = rnd.Next(0, 16); int size = rnd.Next(setting.size.x, setting.size.y + 1); Rotation lastDir = null; for (int i = 0; i < size; i++) { int x = (i1 * 16) + chunkX; int y = (j1 * 16) + chunkY; CellData c = accessor.getCell(x, y); if (c is CellDataMineable) { accessor.setCell(x, y, oreCell); } Rotation r = Rotation.ALL[rnd.Next(0, Rotation.ALL.Length)]; if (lastDir != null && lastDir == r) { r = r.opposite(); } chunkX += r.vector.x; chunkY += r.vector.y; } }
protected ResourceConfiguration() { const string baseDir = "Data/Crafting"; Ores = ZhConfig.DeserializeJsonConfig <OreSettings>($"{baseDir}/ores.json"); Logs = ZhConfig.DeserializeJsonConfig <LogSettings>($"{baseDir}/logs.json"); Hides = ZhConfig.DeserializeJsonConfig <HideSettings>($"{baseDir}/hides.json"); }