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