Пример #1
0
        static void ReloadHandler(Player player, CommandReader cmd)
        {
            string whatToReload = cmd.Next();

            if (whatToReload == null)
            {
                CdReload.PrintUsage(player);
                return;
            }

            whatToReload = whatToReload.ToLower();

            using (LogRecorder rec = new LogRecorder()) {
                bool success;

                switch (whatToReload)
                {
                case "config":
                    try {
                        Config.Reload(false);
                        success = true;
                    } catch (Exception ex) {
                        Logger.Log(LogType.Error, "Error reloading config: {0}", ex);
                        player.Message("An error occurred while trying to reload config: {0}: {1}", ex.GetType().Name, ex.Message);
                        success = false;
                    }
                    break;

                case "salt":
                    Heartbeat.Salt = Server.GetRandomString(32);
                    player.Message("&WNote: Until server synchronizes with Minecraft.net, " +
                                   "connecting players may have trouble verifying names.");
                    success = true;
                    break;

                default:
                    CdReload.PrintUsage(player);
                    return;
                }

                if (rec.HasMessages)
                {
                    foreach (string msg in rec.MessageList)
                    {
                        player.Message(msg);
                    }
                }

                if (success)
                {
                    player.Message("Reload: reloaded {0}.", whatToReload);
                }
                else
                {
                    player.Message("&WReload: Error(s) occurred while reloading {0}.", whatToReload);
                }
            }
        }