コード例 #1
0
 public override void HandleLogin(net.minecraft.src.Packet1Login packet1login)
 {
     username = packet1login.username;
     if (packet1login.protocolVersion != 14)
     {
         if (packet1login.protocolVersion > 14)
         {
             KickUser("Outdated server!");
         }
         else
         {
             KickUser("Outdated client!");
         }
         return;
     }
     if (!mcServer.onlineMode)
     {
         DoLogin(packet1login);
     }
     else
     {
         Thread t = new Thread(() => (new net.minecraft.src.ThreadLoginVerifier(this, packet1login)).Run());
         t.Start();
         //(new net.minecraft.src.ThreadLoginVerifier(this, packet1login)).Start();
     }
 }
コード例 #2
0
        public virtual void DoLogin(net.minecraft.src.Packet1Login packet1login)
        {
            net.minecraft.src.EntityPlayerMP entityplayermp = mcServer.serverConfigurationManager.Login(this, packet1login.username);
            if (entityplayermp != null)
            {
                mcServer.serverConfigurationManager.ReadPlayerDataFromFile(entityplayermp);
                entityplayermp.SetWorldHandler(mcServer.GetWorldServer(entityplayermp.dimension));

                //TODO: Cleanup all java.lang.StringBuilder instances
                //logger.Info((new java.lang.StringBuilder()).Append(GetUserAndIPString()).Append(" logged in with entity id ").Append(entityplayermp.entityId).Append(" at (").Append(entityplayermp.posX).Append(", ").Append(entityplayermp.posY).Append(", ").Append(entityplayermp.posZ).Append(")").ToString());
                logger.Info($"{GetUserAndIPString()} logged in with entity id {entityplayermp.entityId} at ({entityplayermp.posX}, {entityplayermp.posY}, {entityplayermp.posZ})");

                net.minecraft.src.WorldServer      worldserver      = mcServer.GetWorldServer(entityplayermp.dimension);
                net.minecraft.src.ChunkCoordinates chunkcoordinates = worldserver.GetSpawnPoint();
                net.minecraft.src.NetServerHandler netserverhandler = new net.minecraft.src.NetServerHandler(mcServer, netManager, entityplayermp);

                netserverhandler.SendPacket(new net.minecraft.src.Packet1Login(string.Empty, entityplayermp.entityId, worldserver.GetSeed(), unchecked ((byte)worldserver.worldProvider.worldType)));
                netserverhandler.SendPacket(new net.minecraft.src.Packet6SpawnPosition(chunkcoordinates.posX, chunkcoordinates.posY, chunkcoordinates.posZ));

                mcServer.serverConfigurationManager.Func_28170_a(entityplayermp, worldserver);

                //TODO: Defer login message to hook
                //mcServer.configManager.SendPacketToAllPlayers(new net.minecraft.src.Packet3Chat((new java.lang.StringBuilder()).Append("\xf7e").Append(entityplayermp.username).Append(" joined the game.").ToString()));
                mcServer.serverConfigurationManager.SendPacketToAllPlayers(new net.minecraft.src.Packet3Chat($"§e{entityplayermp.username} joined the game."));
                mcServer.serverConfigurationManager.PlayerLoggedIn(entityplayermp);

                netserverhandler.TeleportTo(entityplayermp.posX, entityplayermp.posY, entityplayermp.posZ, entityplayermp.rotationYaw, entityplayermp.rotationPitch);
                mcServer.networkServer.AddPlayer(netserverhandler);

                netserverhandler.SendPacket(new net.minecraft.src.Packet4UpdateTime(worldserver.GetWorldTime()));

                entityplayermp.Func_20057_k();
            }
            finishedProcessing = true;
        }
コード例 #3
0
 internal ThreadLoginVerifier(net.minecraft.src.NetLoginHandler netloginhandler, net.minecraft.src.Packet1Login
                              packet1login)
 {
     // Referenced classes of package net.minecraft.src:
     //            NetLoginHandler, Packet1Login
     //        super();
     loginHandler = netloginhandler;
     loginPacket  = packet1login;
 }
コード例 #4
0
ファイル: NetHandler.cs プロジェクト: AlphaDelta/SharpBukkit
 public virtual void HandleLogin(net.minecraft.src.Packet1Login packet1login)
 {
     RegisterPacket(packet1login);
 }
コード例 #5
0
 internal static net.minecraft.src.Packet1Login SetLoginPacket(net.minecraft.src.NetLoginHandler
                                                               netloginhandler, net.minecraft.src.Packet1Login packet1login)
 {
     return(netloginhandler.packet1login = packet1login);
 }