Ejemplo n.º 1
0
        private void AssertLevel(Level level)
        {
            Assert.IsNotNull(level);

            AssertData(level.Data);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Loads a Level from the given level file
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public static Level Load(string filePath)
        {
            var tag = (CompoundTag)NbtFile.Load(filePath);
            var level = new Level(tag);

            return level;
        }
Ejemplo n.º 3
0
        public void SaveLevelTest()
        {
            var level = new Level()
            {
                Data = new Data()
                {
                    Time = 422818L,
                    LastPlayed = 1294594277265L,
                    Player = new Player()
                    {
                        Motion = new Motion()
                        {
                            DX = 3.61053074341395E-07,
                            DY = -0.0784000015258789,
                            DZ = -1.43072612962421E-08,
                        },
                        OnGround = 1,
                        HurtTime = 0,
                        Health = 20,
                        Dimension = 0,
                        Air = 300,
                        Inventory = new Inventory()
                        {
                            Items = new List<InventoryItem>()
                            {
                                new InventoryItem()
                                {
                                    Id = 274,
                                    Damage = 25,
                                    Count = 1,
                                    Slot = 0,
                                },
                                new InventoryItem()
                                {
                                    Id = 273,
                                    Damage = 27,
                                    Count = 1,
                                    Slot = 1,
                                },
                                new InventoryItem()
                                {
                                    Id = 272,
                                    Damage = 26,
                                    Count = 1,
                                    Slot = 3,
                                },
                                new InventoryItem()
                                {
                                    Id = 291,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 4,
                                },
                                new InventoryItem()
                                {
                                    Id = 4,
                                    Damage = 0,
                                    Count = 40,
                                    Slot = 5,
                                },
                                new InventoryItem()
                                {
                                    Id = 326,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 6,
                                },
                                new InventoryItem()
                                {
                                    Id = 320,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 7,
                                },
                                new InventoryItem()
                                {
                                    Id = 3,
                                    Damage = 0,
                                    Count = 4,
                                    Slot = 8,
                                },
                                new InventoryItem()
                                {
                                    Id = 274,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 9,
                                },
                                new InventoryItem()
                                {
                                    Id = 274,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 10,
                                },
                                new InventoryItem()
                                {
                                    Id = 273,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 11,
                                },
                                new InventoryItem()
                                {
                                    Id = 274,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 18,
                                },
                                new InventoryItem()
                                {
                                    Id = 273,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 19,
                                },
                                new InventoryItem()
                                {
                                    Id = 291,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 22,
                                },
                                new InventoryItem()
                                {
                                    Id = 263,
                                    Damage = 0,
                                    Count = 14,
                                    Slot = 26,
                                },
                                new InventoryItem()
                                {
                                    Id = 274,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 27,
                                },
                                new InventoryItem()
                                {
                                    Id = 273,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 28,
                                },
                                new InventoryItem()
                                {
                                    Id = 272,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 30,
                                },
                                new InventoryItem()
                                {
                                    Id = 291,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 31,
                                },
                                new InventoryItem()
                                {
                                    Id = 326,
                                    Damage = 0,
                                    Count = 1,
                                    Slot = 33,
                                },
                            },
                        },
                        Pos = new Pos()
                        {
                            X = 292.952445946266,
                            Y = 78.6200000047684,
                            Z = 364.287147669336
                        },
                        AttackTime = 0,
                        Fire = -20,
                        FallDistance = 0,
                        Rotation = new Rotation()
                        {
                            YawDegrees = -11565.46F,
                            PitchDegrees = 8.249827F,
                        },
                        Score = 0,
                        DeathTime = 0,
                    },
                    SpawnX = 220,
                    SpawnY = 64,
                    SpawnZ = 443,
                    SizeOnDisk = 6658419,
                    RandomSeed = -2451905027594237963,
                },
            };

            var tag = level.SaveToTag();
            NbtFile.Save(tag, @"..\..\TestFiles\level.dat.out", false);

            var loadLevel = new Level((CompoundTag)NbtFile.Load(@"..\..\TestFiles\level.dat.out", false));

            AssertLevel(loadLevel);
        }