Add config setting for AutoCraft

This commit is contained in:
ReinforceZwei 2020-07-20 19:33:57 +08:00 committed by ORelio
parent d71fb88d93
commit 6967f6928b
3 changed files with 27 additions and 6 deletions

View file

@ -158,7 +158,13 @@ namespace MinecraftClient.ChatBots
public override void Initialize()
{
if (!GetInventoryEnabled())
{
ConsoleIO.WriteLogLine("Inventory handling is disabled. AutoCraft will be unloaded");
UnloadBot();
}
RegisterChatBotCommand("autocraft", "auto craft", CommandHandler);
LoadConfig();
}
public string CommandHandler(string cmd, string[] args)
@ -244,16 +250,16 @@ namespace MinecraftClient.ChatBots
Directory.CreateDirectory(@"autocraft");
}
WriteDefaultConfig();
ConsoleIO.WriteLogLine("No config found. Writing a new one.");
ConsoleIO.WriteLogLine("[AutoCraft] No config found. Writing a new one.");
}
try
{
ParseConfig();
ConsoleIO.WriteLogLine("Successfully loaded");
ConsoleIO.WriteLogLine("[AutoCraft] Successfully loaded");
}
catch (Exception e)
{
ConsoleIO.WriteLogLine("Error while parsing config: \n" + e.Message);
ConsoleIO.WriteLogLine("[AutoCraft] Error while parsing config: \n" + e.Message);
}
}

View file

@ -175,8 +175,7 @@ namespace MinecraftClient
if (Settings.AutoAttack_Enabled) { BotLoad(new ChatBots.AutoAttack()); }
if (Settings.AutoFishing_Enabled) { BotLoad(new ChatBots.AutoFishing()); }
if (Settings.AutoEat_Enabled) { BotLoad(new ChatBots.AutoEat(Settings.AutoEat_hungerThreshold)); }
BotLoad(new AutoCarft());
if (Settings.AutoCraft_Enabled) { BotLoad(new AutoCarft()); }
//Add your ChatBot here by uncommenting and adapting
//BotLoad(new ChatBots.YourBot());

View file

@ -164,12 +164,15 @@ namespace MinecraftClient
public static bool AutoEat_Enabled = false;
public static int AutoEat_hungerThreshold = 6;
//AutoCraft
public static bool AutoCraft_Enabled = false;
//Custom app variables and Minecraft accounts
private static readonly Dictionary<string, object> AppVars = new Dictionary<string, object>();
private static readonly Dictionary<string, KeyValuePair<string, string>> Accounts = new Dictionary<string, KeyValuePair<string, string>>();
private static readonly Dictionary<string, KeyValuePair<string, ushort>> Servers = new Dictionary<string, KeyValuePair<string, ushort>>();
private enum ParseMode { Default, Main, AppVars, Proxy, MCSettings, AntiAFK, Hangman, Alerts, ChatLog, AutoRelog, ScriptScheduler, RemoteControl, ChatFormat, AutoRespond, AutoAttack, AutoFishing, AutoEat };
private enum ParseMode { Default, Main, AppVars, Proxy, MCSettings, AntiAFK, Hangman, Alerts, ChatLog, AutoRelog, ScriptScheduler, RemoteControl, ChatFormat, AutoRespond, AutoAttack, AutoFishing, AutoEat, AutoCraft };
/// <summary>
/// Load settings from the give INI file
@ -213,6 +216,7 @@ namespace MinecraftClient
case "autoattack": pMode = ParseMode.AutoAttack; break;
case "autofishing": pMode = ParseMode.AutoFishing; break;
case "autoeat": pMode = ParseMode.AutoEat; break;
case "autocraft": pMode = ParseMode.AutoCraft; break;
default: pMode = ParseMode.Default; break;
}
}
@ -492,6 +496,13 @@ namespace MinecraftClient
}
break;
case ParseMode.AutoCraft:
switch (argName.ToLower())
{
case "enabled": AutoCraft_Enabled = str2bool(argValue); break;
}
break;
case ParseMode.MCSettings:
switch (argName.ToLower())
{
@ -700,6 +711,11 @@ namespace MinecraftClient
+ "# Inventory Handling NEED to be enabled first\r\n"
+ "enabled=false\r\n"
+ "threshold=6\r\n"
+ "\r\n"
+ "[AutoCraft]"
+ "# Inventory Handling NEED to be enabled first\r\n"
+ "# Enable terrainandmovements if you need to use crafting table\r\n"
+ "enabled=false\r\n"
+ "\r\n", Encoding.UTF8);
}