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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }