public void Tick()
        {
            lock (MinecraftServer.Worlds)
            {
                foreach (var i in MinecraftServer.Worlds)
                {
                    foreach (var p in i.Players)
                    {
                        if (p.Spawned && !p.SpawnedCunckLoaded)
                        {
                            ChunckData cd = new ChunckData()
                            {
                                Owner = p.OwnerID
                            };
                            cd.Data = i.WorldGenerator.GetChunck(0, 0);

                            NetworkService.EnqueuePacket(cd);

                            p.SpawnedCunckLoaded = true;
                        }
                    }
                }
            }
        }
Beispiel #2
0
        public void Tick()
        {
            lock (MinecraftServer.Worlds)
            {
                foreach (var i in MinecraftServer.Worlds)
                {
                    foreach (var p in i.Players)
                    {
                        var ka = new KeepAlive()
                        {
                            Owner = p.OwnerID
                        };
                        ka.KeepAliveID = new Random().Next();

                        NetworkService.EnqueuePacket(ka);
                    }
                }
            }

            if (NetworkService.IsAvalible(new LoginStart()))
            {
                var p  = NetworkService.GetPacket <LoginStart>() as LoginStart;
                var pl = new Player()
                {
                    OwnerID = p.Owner, Name = p.Name
                };


                var Logins = new LoginSuccess()
                {
                    Owner = p.Owner
                };
                Logins.Username = p.Name;
                Logins.UUID     = GetUuid(p.Name);

                NetworkService.EnqueuePacket(Logins);

                var jg = new JoinGame()
                {
                    Owner = p.Owner
                };
                jg.EntityID         = 0;
                jg.Gamemode         = (byte)pl.GameMode;
                jg.Dimension        = 0;
                jg.Difficulty       = 0;
                jg.MaxPlayers       = 255;
                jg.LevelType        = "default";
                jg.ReducedDebugInfo = 0;

                NetworkService.EnqueuePacket(jg);


                var ppal = new PlayerPositionAndLook()
                {
                    Owner = p.Owner
                };
                ppal.X     = pl.Posistion.X;
                ppal.Y     = pl.Posistion.Y;
                ppal.Z     = pl.Posistion.Z;
                ppal.Yaw   = pl.Look.Yaw;
                ppal.Pitch = pl.Look.Pitch;
                ppal.Flags = 255;

                NetworkService.EnqueuePacket(ppal);

                pl.Spawned = true;

                MinecraftServer.Worlds[0].Players.Add(pl);
            }
        }