static void LoadPackets()
{
if (Loaded) return;
#region LENGTHS
PacketTypeLengths[(int)PacketTypes.Transaction] = 4;
PacketTypeLengths[(int)PacketTypes.UpdateProgBar] = 5;
PacketTypeLengths[(int)PacketTypes.PreChunk] = 9;
PacketTypeLengths[(int)PacketTypes.AttachEntity] = 8;
PacketTypeLengths[(int)PacketTypes.EntStatus] = 5;
PacketTypeLengths[(int)PacketTypes.EntTeleport] = 18;
PacketTypeLengths[(int)PacketTypes.EntLookRelMove] = 9;
PacketTypeLengths[(int)PacketTypes.EntLook] = 6;
PacketTypeLengths[(int)PacketTypes.EntRelMove] = 7;
PacketTypeLengths[(int)PacketTypes.Entity] = 4;
PacketTypeLengths[(int)PacketTypes.DestroyEnt] = 4;
PacketTypeLengths[(int)PacketTypes.EntVel] = 10;
PacketTypeLengths[(int)PacketTypes.MobSpawn] = 19;
PacketTypeLengths[(int)PacketTypes.AddObject] = 17;
PacketTypeLengths[(int)PacketTypes.CollectItem] = 8;
PacketTypeLengths[(int)PacketTypes.PickupSpawn] = 24;
PacketTypeLengths[(int)PacketTypes.Animation] = 5;
PacketTypeLengths[(int)PacketTypes.TimeUpdate] = 8;
PacketTypeLengths[(int)PacketTypes.EntityEquipment] = 10;
PacketTypeLengths[(int)PacketTypes.UseEntity] = 9;
PacketTypeLengths[(int)PacketTypes.UpdateHealth] = 2;
PacketTypeLengths[(int)PacketTypes.Respawn] = 0;
PacketTypeLengths[(int)PacketTypes.Player] = 1;
PacketTypeLengths[(int)PacketTypes.PlayerPosition] = 33;
PacketTypeLengths[(int)PacketTypes.PlayerLook] = 9;
PacketTypeLengths[(int)PacketTypes.PlayerPosLook] = 41;
PacketTypeLengths[(int)PacketTypes.PlayerDigging] = 11;
PacketTypeLengths[(int)PacketTypes.PlayerBlockPlace] = 12;
PacketTypeLengths[(int)PacketTypes.HoldingChange] = 6;
PacketTypeLengths[(int)PacketTypes.EntityAction] = 5;
PacketTypeLengths[(int)PacketTypes.Unknown36] = sizeof(int) + sizeof(short) + sizeof(int) + sizeof(byte) + sizeof(byte);
#endregion
Assembly asm = Assembly.GetExecutingAssembly();
foreach (Type type in asm.GetTypes())
{
if (type.Namespace == "MineViewer.SMPPackets")
{
MethodInfo info = type.GetMethod("Init");
info.Invoke(null, null);
}
}
Loaded = true;
}