Added BasicIO mode

If "BasicIO" is passed as last argument, Basic IO will be enabled.
- Basic input/output : disable the advanced I/O class from MCC 1.3+
- Do not print colors, output messages directly with §c color tags
This allows an external GUI to manage input/output instead of MCC.
http://www.minecraftforum.net/topic/1314800-/page__st__180#entry23903618
This commit is contained in:
ORelio 2013-08-15 18:04:29 +02:00
parent 0128d5c41a
commit 700d345cef
3 changed files with 11 additions and 0 deletions

View file

@ -14,6 +14,7 @@ namespace MinecraftClient
{
public static void Reset() { if (reading) { reading = false; Console.Write("\b \b"); } }
public static void SetAutoCompleteEngine(IAutoComplete engine) { autocomplete_engine = engine; }
public static bool basicIO = false;
private static IAutoComplete autocomplete_engine;
private static LinkedList<string> previous = new LinkedList<string>();
private static string buffer = "";
@ -25,6 +26,7 @@ namespace MinecraftClient
#region Read User Input
public static string ReadLine()
{
if (basicIO) { return Console.ReadLine(); }
ConsoleKeyInfo k = new ConsoleKeyInfo();
Console.Write('>');
reading = true;
@ -120,6 +122,7 @@ namespace MinecraftClient
#region Console Output
public static void Write(string text)
{
if (basicIO) { Console.Write(text); return; }
while (reading_lock) { }
writing_lock = true;
if (reading)

View file

@ -467,6 +467,7 @@ namespace MinecraftClient
if (!String.IsNullOrEmpty(str))
{
if (!acceptnewlines) { str = str.Replace('\n', ' '); }
if (ConsoleIO.basicIO) { ConsoleIO.WriteLine(str); return; }
string[] subs = str.Split(new char[] { '§' });
if (subs[0].Length > 0) { ConsoleIO.Write(subs[0]); }
for (int i = 1; i < subs.Length; i++)

View file

@ -25,6 +25,13 @@ namespace MinecraftClient
{
Console.WriteLine("Console Client for MC 1.4.6 to 1.6.2 - v" + Version + " - By ORelio (or3L1o@live.fr)");
//Basic Input/Output ?
if (args.Length >= 1 && args[args.Length - 1] == "BasicIO")
{
ConsoleIO.basicIO = true;
args = args.Where(o => !Object.ReferenceEquals(o, args[args.Length - 1])).ToArray();
}
//Processing Command-line arguments or Config File
if (args.Length == 1 && System.IO.File.Exists(args[0]))