Exemplo n.º 1
0
        private Packet CreatePe(byte messageId, ReadOnlyMemory <byte> buffer)
        {
            Packet packet = null;

            try
            {
                switch (messageId)
                {
                case 111:     //Fixes entity delta
                    packet = new EntityDelta();
                    break;

                //The following are only here so we can join.
                case 49:
                    packet = new InventoryContent();
                    break;

                case 31:
                    packet = new MobEquipment();
                    break;

                case 122:
                    packet = new BiomeDefinitionList();
                    break;

                case 119:
                    packet = new AvailableEntityIdentifiers();
                    break;

                case 32:
                    packet = new MobArmorEquipment();
                    break;

                case 50:
                    packet = new InventorySlot();
                    break;

                case 7:
                    packet = new McpeResourcePackStack();
                    break;

                case 39:
                    packet = new McpeSetEntityData();
                    break;
                }

                packet?.Decode(buffer);
            }
            catch (Exception ex)
            {
                if (messageId != 39)
                {
                    //    Log.Error(ex, $"Processing error: {ex.ToString()}");
                }
            }

            return(packet);
        }
Exemplo n.º 2
0
        public override void SendResourcePackStack()
        {
            var info = McpeResourcePackStack.CreateObject();

            if (_serverHaveResources)
            {
                info.mustAccept             = _plugin.ResourcePackProvider.MustAccept;
                info.resourcepackidversions = new ResourcePackIdVersions();
                info.resourcepackidversions.AddRange(_plugin.ResourcePackProvider.GetResourcePackInfos().Select(x => x.PackIdVersion));
            }

            SendPacket(info);
        }
Exemplo n.º 3
0
 public virtual void HandleMcpeResourcePackStack(McpeResourcePackStack message)
 {
     //if (message.resourcepackidversions.Count != 0)
     //{
     //	McpeResourcePackClientResponse response = new McpeResourcePackClientResponse();
     //	response.responseStatus = 2;
     //	response.resourcepackidversions = message.resourcepackidversions;
     //	SendPackage(response);
     //}
     //else
     {
         var response = new McpeResourcePackClientResponse();
         response.responseStatus = 4;
         Client.SendPacket(response);
     }
 }
Exemplo n.º 4
0
        public override void HandleMcpeResourcePackStack(McpeResourcePackStack message)
        {
            //Log.Debug($"HEX: \n{Package.HexDump(message.Bytes)}");

            var sb = new StringBuilder();

            sb.AppendLine();

            sb.AppendLine("Resource pack stacks:");
            foreach (var info in message.resourcepackidversions)
            {
                sb.AppendLine($"ID={info.Id}, Version={info.Version}, Unknown={info.Unknown}");
            }

            sb.AppendLine("Behavior pack stacks:");
            foreach (var info in message.behaviorpackidversions)
            {
                sb.AppendLine($"ID={info.Id}, Version={info.Version}, Unknown={info.Unknown}");
            }

            Log.Debug(sb.ToString());

            base.HandleMcpeResourcePackStack(message);
        }