public void ParseEmptySeedTest() { string pattern = ""; var layers = SuperflatGenerator.ParseSeed(pattern); Assert.AreEqual(0, layers.Count); }
public void ParseAdvancedFlatSeedTest() { Assert.AreEqual("bedrock", "minecraft:bedrock".Substring(10)); string pattern = "3;minecraft:bedrock,3*minecraft:stone,52*minecraft:sandstone,8*minecraft:sand;2;stronghold,biome_1,village,decoration,dungeon,mineshaft"; var layers = SuperflatGenerator.ParseSeed(pattern); Assert.AreEqual(64, layers.Count); }
public void ParseStandardFlatSeedTest() { Assert.AreEqual("bedrock", "minecraft:bedrock".Substring(10)); string pattern = "3;minecraft:bedrock,2*minecraft:dirt,minecraft:grass;1;village"; var layers = SuperflatGenerator.ParseSeed(pattern); Assert.AreEqual(4, layers.Count); }
internal void SetDefaultByConfig() { var missingGenerator = new SuperflatGenerator(Dimension.Overworld); IWorldProvider worldProvider; switch (Config.GetProperty("WorldProvider", "anvil").ToLower().Trim()) { case "leveldb": worldProvider = new LevelDbProvider() { MissingChunkProvider = missingGenerator }; break; case "anvil": default: worldProvider = new AnvilWorldProvider() { MissingChunkProvider = missingGenerator, ReadSkyLight = !Config.GetProperty("CalculateLights", false), ReadBlockLight = !Config.GetProperty("CalculateLights", false) }; break; } var lvl = new OpenLevel(Api, this, Dimension.Overworld.ToString(), worldProvider, EntityManager, _gameMode, _difficulty, _viewDistance) { EnableBlockTicking = Config.GetProperty("EnableBlockTicking", false), EnableChunkTicking = Config.GetProperty("EnableChunkTicking", false), SaveInterval = Config.GetProperty("Save.Interval", 300), UnloadInterval = Config.GetProperty("Unload.Interval", -1), DrowningDamage = Config.GetProperty("GameRule.DrowningDamage", true), CommandblockOutput = Config.GetProperty("GameRule.CommandblockOutput", true), DoTiledrops = Config.GetProperty("GameRule.DoTiledrops", true), DoMobloot = Config.GetProperty("GameRule.DoMobloot", true), KeepInventory = Config.GetProperty("GameRule.KeepInventory", true), DoDaylightcycle = Config.GetProperty("GameRule.DoDaylightcycle", true), DoMobspawning = Config.GetProperty("GameRule.DoMobspawning", true), DoEntitydrops = Config.GetProperty("GameRule.DoEntitydrops", true), DoFiretick = Config.GetProperty("GameRule.DoFiretick", true), DoWeathercycle = Config.GetProperty("GameRule.DoWeathercycle", true), Pvp = Config.GetProperty("GameRule.Pvp", true), Falldamage = Config.GetProperty("GameRule.Falldamage", true), Firedamage = Config.GetProperty("GameRule.Firedamage", true), Mobgriefing = Config.GetProperty("GameRule.Mobgriefing", true), ShowCoordinates = Config.GetProperty("GameRule.ShowCoordinates", true), NaturalRegeneration = Config.GetProperty("GameRule.NaturalRegeneration", true), TntExplodes = Config.GetProperty("GameRule.TntExplodes", true), SendCommandfeedback = Config.GetProperty("GameRule.SendCommandfeedback", true), RandomTickSpeed = Config.GetProperty("GameRule.RandomTickSpeed", 3) }; SetDefaultLevel((OpenLevel)lvl); }
public void RoundtripTest() { var provider = new LevelDbProvider(null); var flatGenerator = new SuperflatGenerator(Dimension.Overworld); flatGenerator.Initialize(null); SubChunk chunk = flatGenerator.GenerateChunkColumn(new ChunkCoordinates())[0]; using var stream = new MemoryStream(); provider.Write(chunk, stream); byte[] output = stream.ToArray(); var parsedChunk = new SubChunk(); provider.ParseSection(parsedChunk, output); // Assert CollectionAssert.AreEqual(chunk.Blocks, parsedChunk.Blocks); CollectionAssert.AreEqual(chunk.LoggedBlocks, parsedChunk.LoggedBlocks); CollectionAssert.AreEqual(chunk.RuntimeIds, parsedChunk.RuntimeIds); }