Allow AutoRelog to relog on server login failed

- Add some explanations for adding a custom bot in the app
- Remove debug code in ConsoleIO (see previous commit)
This commit is contained in:
ORelio 2014-05-04 11:25:51 +02:00
parent a543620a80
commit 09bff17fc2
4 changed files with 15 additions and 12 deletions

View file

@ -9,7 +9,17 @@ namespace MinecraftClient
/// Welcome to the Bot API file !
/// The virtual class "ChatBot" contains anything you need for creating chat bots
/// Inherit from this class while adding your bot class to the namespace "Bots", below.
/// Once your bot is created, simply edit the switch in Program.cs to add the corresponding command-line argument!
/// Once your bot is created, read the explanations below to start using it in the MinecraftClient app.
///
/// Pieces of code to add in other parts of the program for your bot. Line numbers are approximative.
/// Program.cs:166 | if (Settings.YourBot_Enabled){ handler.BotLoad(new Bots.YourBot()); }
/// Settings.cs:73 | public static bool YourBot_Enabled = false;
/// Settings.cs:74 | private enum ParseMode { /* [...] */, YourBot };
/// Settings.cs:106| case "yourbot": pMode = ParseMode.YourBot; break;
/// Settings.cs:197| case ParseMode.YourBot: switch (argName.ToLower()) { case "enabled": YourBot_Enabled = str2bool(argValue); break; } break;
/// Settings.cs:267| + "[YourBot]\r\n" + "enabled=false\r\n"
/// Here your are. Now you will have a setting in MinecraftClient.ini for enabling your brand new bot.
/// Delete MinecraftClient.ini to re-generate it or add the lines [YourBot] and enabled=true to the existing one.
///
/// <summary>

View file

@ -164,13 +164,6 @@ namespace MinecraftClient
default:
if (k.KeyChar != 0)
AddChar(k.KeyChar);
/*
reading_lock = false;
WriteLine("CHAR: " + ((int)k.KeyChar));
if (!System.IO.File.Exists("debug-chars.txt")) { System.IO.File.Create("debug-chars.txt"); }
System.IO.File.AppendAllText("debug-chars.txt", "'" + k.KeyChar + "' " + ((int)k.KeyChar) + "\r\n");
reading_lock = true;
*/
break;
}
}

View file

@ -119,7 +119,7 @@ namespace MinecraftClient
else
{
Console.WriteLine("Login failed.");
if (!singlecommand) { Program.ReadLineReconnect(); }
if (!singlecommand && !handler.OnConnectionLost(ChatBot.DisconnectReason.LoginRejected, "Login failed.")) { Program.ReadLineReconnect(); }
}
}
catch (SocketException)
@ -235,7 +235,7 @@ namespace MinecraftClient
if (!handler.HasBeenKicked)
{
ConsoleIO.WriteLine("Connection has been lost.");
if (!handler.OnConnectionLost() && !Program.ReadLineReconnect()) { t_sender.Abort(); }
if (!handler.OnConnectionLost(ChatBot.DisconnectReason.ConnectionLost, "Connection has been lost.") && !Program.ReadLineReconnect()) { t_sender.Abort(); }
}
else if (Program.ReadLineReconnect()) { t_sender.Abort(); }
}

View file

@ -183,14 +183,14 @@ namespace MinecraftClient
System.IO.File.WriteAllText("debug.txt", dump);
System.Diagnostics.Process.Start("debug.txt");
}
public bool OnConnectionLost()
public bool OnConnectionLost(ChatBot.DisconnectReason reason, string reason_message)
{
if (!connectionlost)
{
connectionlost = true;
for (int i = 0; i < bots.Count; i++)
{
if (bots[i].OnDisconnect(ChatBot.DisconnectReason.ConnectionLost, "Connection has been lost."))
if (bots[i].OnDisconnect(reason, reason_message))
{
return true; //The client is about to restart
}