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; } } } } }
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); } }