Esempio n. 1
0
        public void SendMcpeMovePlayer()
        {
            //Log.Debug($"Sending move {EntityId}: {CurrentLocation}");

            McpeMovePlayer movePlayerPacket = McpeMovePlayer.CreateObject();

            movePlayerPacket.runtimeEntityId = EntityId;
            movePlayerPacket.x       = CurrentLocation.X;
            movePlayerPacket.y       = CurrentLocation.Y;
            movePlayerPacket.z       = CurrentLocation.Z;
            movePlayerPacket.yaw     = 91;
            movePlayerPacket.pitch   = 28;
            movePlayerPacket.headYaw = 91;

            _toNodeHandler.WriteBytes(movePlayerPacket.Encode());
            movePlayerPacket.PutPool();
        }
Esempio n. 2
0
        public void StartClient()
        {
            Skin skin = new Skin
            {
                Slim     = false,
                Texture  = Encoding.Default.GetBytes(new string('Z', 8192)),
                SkinType = "Standard_Custom"
            };

            var nodeServer = new NodeServer(_endPoint);

            PlayerInfo playerInfo = new PlayerInfo
            {
                Username      = _username,
                ClientUuid    = new UUID(Guid.NewGuid().ToString()),
                ClientId      = ClientId,
                ServerAddress = "localhost",
                Skin          = skin
            };

            _fromNodeHander = new MockNetworkHandler(this);
            _toNodeHandler  = (BaseMessageHandler)nodeServer.CreatePlayer(_fromNodeHander, playerInfo);

            if (_toNodeHandler == null)
            {
                IsRunning = false;
                return;
            }

            _toNodeHandler.HandleMcpeClientToServerHandshake(null);

            McpeRequestChunkRadius radius = McpeRequestChunkRadius.CreateObject();

            radius.chunkRadius = ChunkRadius;

            _toNodeHandler.WriteBytes(radius.Encode());
            radius.PutPool();

            IsRunning = true;
        }