////////////////////////////////
        // Senders (Client)
        ////////////////////////////////

        public static void RequestSettingsFromServer(DowsingMod mymod, Player player)
        {
            if (Main.netMode != 1)
            {
                return;
            }                                                   // Clients only

            ModPacket packet = mymod.GetPacket();

            packet.Write((byte)DowsingNetProtocolTypes.ModSettingsRequest);
            packet.Write((int)player.whoAmI);
            packet.Send();
        }
        ////////////////////////////////
        // Senders (Server)
        ////////////////////////////////

        public static void SendSettingsFromServer(DowsingMod mymod, Player player)
        {
            if (Main.netMode != 2)
            {
                return;
            }                                               // Server only

            ModPacket packet = mymod.GetPacket();

            packet.Write((byte)DowsingNetProtocolTypes.ModSettings);
            packet.Write((string)mymod.Config.SerializeMe());

            packet.Send((int)player.whoAmI);
        }
        public static void SendRequestedDowsingNpcFromServer(DowsingMod mymod, Player player, int npc_who)
        {
            if (Main.netMode != 2)
            {
                return;
            }                                               // Server only

            ModPacket packet = mymod.GetPacket();

            packet.Write((byte)DowsingNetProtocolTypes.RequestedDowsingNpcWho);
            packet.Write((int)npc_who);

            packet.Send((int)player.whoAmI);
        }
        public static void RequestDowsingNpcFromServer(DowsingMod mymod, Player player, int npc_type, Vector2 position, Action <int> callback)
        {
            if (Main.netMode != 1)
            {
                return;
            }                                               // Clients only

            DowsingNetProtocol.DowsingNpcRequestQueue.Enqueue(callback);

            ModPacket packet = mymod.GetPacket();

            packet.Write((byte)DowsingNetProtocolTypes.DowsingNpcRequest);
            packet.Write((int)player.whoAmI);
            packet.Write((int)npc_type);
            packet.Write((float)position.X);
            packet.Write((float)position.Y);
            packet.Send();
        }