mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
init
This commit is contained in:
parent
a1259edcae
commit
f8aefaf129
39 changed files with 353 additions and 66 deletions
|
|
@ -1,6 +1,9 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Brigadier.NET;
|
||||||
|
using Microsoft.Extensions.Logging;
|
||||||
|
using MinecraftClient.Commands;
|
||||||
|
|
||||||
namespace MinecraftClient
|
namespace MinecraftClient
|
||||||
{
|
{
|
||||||
|
|
@ -22,6 +25,8 @@ namespace MinecraftClient
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public abstract string CmdDesc { get; }
|
public abstract string CmdDesc { get; }
|
||||||
|
|
||||||
|
public abstract void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get the translated version of command description.
|
/// Get the translated version of command description.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -32,6 +37,24 @@ namespace MinecraftClient
|
||||||
return CmdUsage + s + Translations.TryGet(CmdDesc);
|
return CmdUsage + s + Translations.TryGet(CmdDesc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void LogUsage(Logger.ILogger logger)
|
||||||
|
{
|
||||||
|
logger.Info($"{Translations.Get("error.usage")}: {Settings.Config.Main.Advanced.InternalCmdChar.ToChar()}{CmdUsage}");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static int LogExecuteResult(Logger.ILogger logger, bool result)
|
||||||
|
{
|
||||||
|
logger.Info(Translations.Get(result ? "general.done" : "general.fail"));
|
||||||
|
return result ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int LogExecuteResult(Logger.ILogger logger, int result)
|
||||||
|
{
|
||||||
|
logger.Info(Translations.Get(result > 0 ? "general.done" : "general.fail"));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Usage message, eg: 'name [args]'
|
/// Usage message, eg: 'name [args]'
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
using Brigadier.NET.Builder;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +11,48 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "animation <mainhand|offhand>"; } }
|
public override string CmdUsage { get { return "animation <mainhand|offhand>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.animation.desc"; } }
|
public override string CmdDesc { get { return "cmd.animation.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
dispatcher.Register(l =>
|
||||||
|
l.Literal("help").Then(l =>
|
||||||
|
l.Literal(CmdName).Executes(c => {
|
||||||
|
LogUsage(handler.Log);
|
||||||
|
return 1;
|
||||||
|
})
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
dispatcher.Register(l =>
|
||||||
|
l.Literal(CmdName).Then(l =>
|
||||||
|
l.Literal("mainhand")
|
||||||
|
.Executes(c => {
|
||||||
|
return LogExecuteResult(handler.Log, handler.DoAnimation(0));
|
||||||
|
})
|
||||||
|
)
|
||||||
|
);
|
||||||
|
dispatcher.Register(l =>
|
||||||
|
l.Literal(CmdName).Then(l =>
|
||||||
|
l.Literal("0")
|
||||||
|
.Redirect(dispatcher.GetRoot().GetChild(CmdName).GetChild("mainhand"))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
dispatcher.Register(l =>
|
||||||
|
l.Literal(CmdName).Then(l =>
|
||||||
|
l.Literal("offhand")
|
||||||
|
.Executes(c => {
|
||||||
|
return LogExecuteResult(handler.Log, handler.DoAnimation(1));
|
||||||
|
})
|
||||||
|
)
|
||||||
|
);
|
||||||
|
dispatcher.Register(l =>
|
||||||
|
l.Literal(CmdName).Then(l =>
|
||||||
|
l.Literal("1")
|
||||||
|
.Redirect(dispatcher.GetRoot().GetChild(CmdName).GetChild("offhand"))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -13,6 +14,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "bed leave|sleep <x> <y> <z>|sleep <radius>"; } }
|
public override string CmdUsage { get { return "bed leave|sleep <x> <y> <z>|sleep <radius>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.bed.desc"; } }
|
public override string CmdDesc { get { return "cmd.bed.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
string[] args = GetArgs(command);
|
string[] args = GetArgs(command);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -10,6 +11,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "blockinfo <x> <y> <z> [-s]"; } }
|
public override string CmdUsage { get { return "blockinfo <x> <y> <z> [-s]"; } }
|
||||||
public override string CmdDesc { get { return "cmd.blockinfo.desc"; } }
|
public override string CmdDesc { get { return "cmd.blockinfo.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (!handler.GetTerrainEnabled())
|
if (!handler.GetTerrainEnabled())
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -10,6 +11,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "bots [list|unload <bot name|all>]"; } }
|
public override string CmdUsage { get { return "bots [list|unload <bot name|all>]"; } }
|
||||||
public override string CmdDesc { get { return "cmd.bots.desc"; } }
|
public override string CmdDesc { get { return "cmd.bots.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -9,6 +10,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "changeslot <1-9>"; } }
|
public override string CmdUsage { get { return "changeslot <1-9>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.changeSlot.desc"; } }
|
public override string CmdDesc { get { return "cmd.changeSlot.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (!handler.GetInventoryEnabled())
|
if (!handler.GetInventoryEnabled())
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -12,6 +13,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "chunk status [chunkX chunkZ|locationX locationY locationZ]"; } }
|
public override string CmdUsage { get { return "chunk status [chunkX chunkZ|locationX locationY locationZ]"; } }
|
||||||
public override string CmdDesc { get { return "cmd.chunk.desc"; } }
|
public override string CmdDesc { get { return "cmd.chunk.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
13
MinecraftClient/Commands/CommandSource.cs
Normal file
13
MinecraftClient/Commands/CommandSource.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace MinecraftClient.Commands
|
||||||
|
{
|
||||||
|
public class CommandSource
|
||||||
|
{
|
||||||
|
public string UserName { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "connect <server> [account]"; } }
|
public override string CmdUsage { get { return "connect <server> [account]"; } }
|
||||||
public override string CmdDesc { get { return "cmd.connect.desc"; } }
|
public override string CmdDesc { get { return "cmd.connect.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient? handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient? handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "debug [on|off]"; } }
|
public override string CmdUsage { get { return "debug [on|off]"; } }
|
||||||
public override string CmdDesc { get { return "cmd.debug.desc"; } }
|
public override string CmdDesc { get { return "cmd.debug.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -10,6 +11,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "dig <x> <y> <z>"; } }
|
public override string CmdUsage { get { return "dig <x> <y> <z>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.dig.desc"; } }
|
public override string CmdDesc { get { return "cmd.dig.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (!handler.GetTerrainEnabled())
|
if (!handler.GetTerrainEnabled())
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Inventory;
|
using MinecraftClient.Inventory;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -13,6 +14,10 @@ namespace MinecraftClient.Commands
|
||||||
|
|
||||||
public override string CmdUsage { get { return "/dropitem <itemtype>"; } }
|
public override string CmdUsage { get { return "/dropitem <itemtype>"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (!handler.GetInventoryEnabled())
|
if (!handler.GetInventoryEnabled())
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Inventory;
|
using MinecraftClient.Inventory;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -10,6 +11,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "enchant <top|middle|bottom>"; } }
|
public override string CmdUsage { get { return "enchant <top|middle|bottom>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.enchant.desc"; } }
|
public override string CmdDesc { get { return "cmd.enchant.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (!handler.GetInventoryEnabled())
|
if (!handler.GetInventoryEnabled())
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Inventory;
|
using MinecraftClient.Inventory;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
|
|
||||||
|
|
@ -13,6 +14,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "entity <id|entitytype> <attack|use>"; } }
|
public override string CmdUsage { get { return "entity <id|entitytype> <attack|use>"; } }
|
||||||
public override string CmdDesc { get { return ""; } }
|
public override string CmdDesc { get { return ""; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (handler.GetEntityHandlingEnabled())
|
if (handler.GetEntityHandlingEnabled())
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Brigadier.NET;
|
||||||
using DynamicExpresso;
|
using DynamicExpresso;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -11,6 +12,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "execif <condition/expression> ---> <command>"; } }
|
public override string CmdUsage { get { return "execif <condition/expression> ---> <command>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.execif.desc"; } }
|
public override string CmdDesc { get { return "cmd.execif.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -10,6 +11,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "execmulti <command 1> -> <command2> -> <command 3> -> ..."; } }
|
public override string CmdUsage { get { return "execmulti <command 1> -> <command2> -> <command 3> -> ..."; } }
|
||||||
public override string CmdDesc { get { return "cmd.execmulti.desc"; } }
|
public override string CmdDesc { get { return "cmd.execmulti.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "exit"; } }
|
public override string CmdUsage { get { return "exit"; } }
|
||||||
public override string CmdDesc { get { return "cmd.exit.desc"; } }
|
public override string CmdDesc { get { return "cmd.exit.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient? handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient? handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
Program.Exit();
|
Program.Exit();
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "health"; } }
|
public override string CmdUsage { get { return "health"; } }
|
||||||
public override string CmdDesc { get { return "cmd.health.desc"; } }
|
public override string CmdDesc { get { return "cmd.health.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
return Translations.Get("cmd.health.response", handler.GetHealth(), handler.GetSaturation(), handler.GetLevel(), handler.GetTotalExperience());
|
return Translations.Get("cmd.health.response", handler.GetHealth(), handler.GetSaturation(), handler.GetLevel(), handler.GetTotalExperience());
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Inventory;
|
using MinecraftClient.Inventory;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -13,6 +14,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return GetBasicUsage(); } }
|
public override string CmdUsage { get { return GetBasicUsage(); } }
|
||||||
public override string CmdDesc { get { return "cmd.inventory.desc"; } }
|
public override string CmdDesc { get { return "cmd.inventory.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (handler.GetInventoryEnabled())
|
if (handler.GetInventoryEnabled())
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -9,6 +10,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "list"; } }
|
public override string CmdUsage { get { return "list"; } }
|
||||||
public override string CmdDesc { get { return "cmd.list.desc"; } }
|
public override string CmdDesc { get { return "cmd.list.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
return Translations.Get("cmd.list.players", String.Join(", ", handler.GetOnlinePlayers()));
|
return Translations.Get("cmd.list.players", String.Join(", ", handler.GetOnlinePlayers()));
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "log <text>"; } }
|
public override string CmdUsage { get { return "log <text>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.log.desc"; } }
|
public override string CmdDesc { get { return "cmd.log.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -11,6 +12,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "look <x y z|yaw pitch|up|down|east|west|north|south>"; } }
|
public override string CmdUsage { get { return "look <x y z|yaw pitch|up|down|east|west|north|south>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.look.desc"; } }
|
public override string CmdDesc { get { return "cmd.look.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (handler.GetTerrainEnabled())
|
if (handler.GetTerrainEnabled())
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -11,6 +12,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "move <on|off|get|up|down|east|west|north|south|center|x y z|gravity [on|off]> [-f]"; } }
|
public override string CmdUsage { get { return "move <on|off|get|up|down|east|west|north|south|center|x y z|gravity [on|off]> [-f]"; } }
|
||||||
public override string CmdDesc { get { return "walk or start walking. \"-f\": force unsafe movements like falling or touching fire"; } }
|
public override string CmdDesc { get { return "walk or start walking. \"-f\": force unsafe movements like falling or touching fire"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
List<string> args = GetArgs(command.ToLower()).ToList();
|
List<string> args = GetArgs(command.ToLower()).ToList();
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "reco [account]"; } }
|
public override string CmdUsage { get { return "reco [account]"; } }
|
||||||
public override string CmdDesc { get { return "cmd.reco.desc"; } }
|
public override string CmdDesc { get { return "cmd.reco.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient? handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient? handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
string[] args = GetArgs(command);
|
string[] args = GetArgs(command);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "reload"; } }
|
public override string CmdUsage { get { return "reload"; } }
|
||||||
public override string CmdDesc { get { return "cmd.reload.desc"; } }
|
public override string CmdDesc { get { return "cmd.reload.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
handler.Log.Info(Translations.TryGet("cmd.reload.started"));
|
handler.Log.Info(Translations.TryGet("cmd.reload.started"));
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "respawn"; } }
|
public override string CmdUsage { get { return "respawn"; } }
|
||||||
public override string CmdDesc { get { return "cmd.respawn.desc"; } }
|
public override string CmdDesc { get { return "cmd.respawn.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
handler.SendRespawnPacket();
|
handler.SendRespawnPacket();
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "script <scriptname>"; } }
|
public override string CmdUsage { get { return "script <scriptname>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.script.desc"; } }
|
public override string CmdDesc { get { return "cmd.script.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "send <text>"; } }
|
public override string CmdUsage { get { return "send <text>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.send.desc"; } }
|
public override string CmdDesc { get { return "cmd.send.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "set varname=value"; } }
|
public override string CmdUsage { get { return "set varname=value"; } }
|
||||||
public override string CmdDesc { get { return "cmd.set.desc"; } }
|
public override string CmdDesc { get { return "cmd.set.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -10,6 +11,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdDesc { get { return "cmd.setrnd.desc"; } }
|
public override string CmdDesc { get { return "cmd.setrnd.desc"; } }
|
||||||
private static readonly Random rand = new();
|
private static readonly Random rand = new();
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (HasArg(command))
|
if (HasArg(command))
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -9,6 +10,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "Sneak"; } }
|
public override string CmdUsage { get { return "Sneak"; } }
|
||||||
public override string CmdDesc { get { return "cmd.sneak.desc"; } }
|
public override string CmdDesc { get { return "cmd.sneak.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (sneaking)
|
if (sneaking)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -9,6 +10,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "tps"; } }
|
public override string CmdUsage { get { return "tps"; } }
|
||||||
public override string CmdDesc { get { return "cmd.tps.desc"; } }
|
public override string CmdDesc { get { return "cmd.tps.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
var tps = Math.Round(handler.GetServerTPS(), 2);
|
var tps = Math.Round(handler.GetServerTPS(), 2);
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
{
|
{
|
||||||
|
|
@ -8,6 +9,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "useitem"; } }
|
public override string CmdUsage { get { return "useitem"; } }
|
||||||
public override string CmdDesc { get { return "cmd.useitem.desc"; } }
|
public override string CmdDesc { get { return "cmd.useitem.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (handler.GetInventoryEnabled())
|
if (handler.GetInventoryEnabled())
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Brigadier.NET;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
|
|
||||||
namespace MinecraftClient.Commands
|
namespace MinecraftClient.Commands
|
||||||
|
|
@ -9,6 +10,10 @@ namespace MinecraftClient.Commands
|
||||||
public override string CmdUsage { get { return "useblock <x> <y> <z>"; } }
|
public override string CmdUsage { get { return "useblock <x> <y> <z>"; } }
|
||||||
public override string CmdDesc { get { return "cmd.useblock.desc"; } }
|
public override string CmdDesc { get { return "cmd.useblock.desc"; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
if (!handler.GetTerrainEnabled())
|
if (!handler.GetTerrainEnabled())
|
||||||
|
|
|
||||||
|
|
@ -183,6 +183,7 @@ namespace MinecraftClient
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var buffer = ConsoleInteractive.ConsoleReader.GetBufferContent();
|
var buffer = ConsoleInteractive.ConsoleReader.GetBufferContent();
|
||||||
|
ConsoleIO.WriteLine("AutoComplete " + buffer);
|
||||||
autocomplete_engine.AutoComplete(buffer.Text[..buffer.CursorPosition]);
|
autocomplete_engine.AutoComplete(buffer.Text[..buffer.CursorPosition]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,13 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net.Sockets;
|
using System.Net.Sockets;
|
||||||
|
using System.Security.Cryptography.Pkcs;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
using Brigadier.NET;
|
||||||
|
using Brigadier.NET.Exceptions;
|
||||||
using MinecraftClient.ChatBots;
|
using MinecraftClient.ChatBots;
|
||||||
|
using MinecraftClient.Commands;
|
||||||
using MinecraftClient.Inventory;
|
using MinecraftClient.Inventory;
|
||||||
using MinecraftClient.Logger;
|
using MinecraftClient.Logger;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
|
|
@ -25,8 +29,10 @@ namespace MinecraftClient
|
||||||
{
|
{
|
||||||
public static int ReconnectionAttemptsLeft = 0;
|
public static int ReconnectionAttemptsLeft = 0;
|
||||||
|
|
||||||
private static readonly List<string> cmd_names = new();
|
public static readonly CommandSource cmd_source = new();
|
||||||
private static readonly Dictionary<string, Command> cmds = new();
|
public static readonly CommandDispatcher<CommandSource> dispatcher = new();
|
||||||
|
//private static readonly List<string> cmd_names = new();
|
||||||
|
//private static readonly Dictionary<string, Command> cmds = new();
|
||||||
private readonly Dictionary<Guid, PlayerInfo> onlinePlayers = new();
|
private readonly Dictionary<Guid, PlayerInfo> onlinePlayers = new();
|
||||||
|
|
||||||
private static bool commandsLoaded = false;
|
private static bool commandsLoaded = false;
|
||||||
|
|
@ -584,17 +590,18 @@ namespace MinecraftClient
|
||||||
/// <returns>True if successfully registered</returns>
|
/// <returns>True if successfully registered</returns>
|
||||||
public bool RegisterCommand(string cmdName, string cmdDesc, string cmdUsage, ChatBot.CommandRunner callback)
|
public bool RegisterCommand(string cmdName, string cmdDesc, string cmdUsage, ChatBot.CommandRunner callback)
|
||||||
{
|
{
|
||||||
if (cmds.ContainsKey(cmdName.ToLower()))
|
// if (cmds.ContainsKey(cmdName.ToLower()))
|
||||||
{
|
// {
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
Command cmd = new ChatBot.ChatBotCommand(cmdName, cmdDesc, cmdUsage, callback);
|
// Command cmd = new ChatBot.ChatBotCommand(cmdName, cmdDesc, cmdUsage, callback);
|
||||||
cmds.Add(cmdName.ToLower(), cmd);
|
// cmds.Add(cmdName.ToLower(), cmd);
|
||||||
cmd_names.Add(cmdName.ToLower());
|
// cmd_names.Add(cmdName.ToLower());
|
||||||
return true;
|
// return true;
|
||||||
}
|
// }
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -608,13 +615,14 @@ namespace MinecraftClient
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public bool UnregisterCommand(string cmdName)
|
public bool UnregisterCommand(string cmdName)
|
||||||
{
|
{
|
||||||
if (cmds.ContainsKey(cmdName.ToLower()))
|
// if (cmds.ContainsKey(cmdName.ToLower()))
|
||||||
{
|
// {
|
||||||
cmds.Remove(cmdName.ToLower());
|
// cmds.Remove(cmdName.ToLower());
|
||||||
cmd_names.Remove(cmdName.ToLower());
|
// cmd_names.Remove(cmdName.ToLower());
|
||||||
return true;
|
// return true;
|
||||||
}
|
// }
|
||||||
else return false;
|
// else return false;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -627,52 +635,79 @@ namespace MinecraftClient
|
||||||
public bool PerformInternalCommand(string command, ref string? response_msg, Dictionary<string, object>? localVars = null)
|
public bool PerformInternalCommand(string command, ref string? response_msg, Dictionary<string, object>? localVars = null)
|
||||||
{
|
{
|
||||||
/* Process the provided command */
|
/* Process the provided command */
|
||||||
|
ParseResults<CommandSource> parse;
|
||||||
string command_name = command.Split(' ')[0].ToLower();
|
try
|
||||||
if (command_name == "help")
|
|
||||||
{
|
{
|
||||||
if (Command.HasArg(command))
|
parse = dispatcher.Parse(command, cmd_source);
|
||||||
{
|
|
||||||
string help_cmdname = Command.GetArgs(command)[0].ToLower();
|
|
||||||
if (help_cmdname == "help")
|
|
||||||
{
|
|
||||||
response_msg = Translations.Get("icmd.help");
|
|
||||||
}
|
|
||||||
else if (cmds.ContainsKey(help_cmdname))
|
|
||||||
{
|
|
||||||
response_msg = cmds[help_cmdname].GetCmdDescTranslated();
|
|
||||||
}
|
|
||||||
else response_msg = Translations.Get("icmd.unknown", command_name);
|
|
||||||
}
|
|
||||||
else response_msg = Translations.Get("icmd.list", String.Join(", ", cmd_names.ToArray()), Config.Main.Advanced.InternalCmdChar.ToChar());
|
|
||||||
}
|
}
|
||||||
else if (cmds.ContainsKey(command_name))
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
response_msg = cmds[command_name].Run(this, command, localVars);
|
Log.Error(e.GetFullMessage());
|
||||||
|
return true;
|
||||||
foreach (ChatBot bot in bots.ToArray())
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
bot.OnInternalCommand(command_name, string.Join(" ", Command.GetArgs(command)), response_msg);
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
if (e is not ThreadAbortException)
|
|
||||||
{
|
|
||||||
Log.Warn(Translations.Get("icmd.error", bot.ToString() ?? string.Empty, e.ToString()));
|
|
||||||
}
|
|
||||||
else throw; //ThreadAbortException should not be caught
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
response_msg = Translations.Get("icmd.unknown", command_name);
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
try
|
||||||
|
{
|
||||||
|
int res = dispatcher.Execute(parse);
|
||||||
|
Log.Info("res = " + res);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (CommandSyntaxException e)
|
||||||
|
{
|
||||||
|
Log.Warn(e.GetFullMessage());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Log.Error(e.GetFullMessage());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//string command_name = command.Split(' ')[0].ToLower();
|
||||||
|
//if (command_name == "help")
|
||||||
|
//{
|
||||||
|
// if (Command.HasArg(command))
|
||||||
|
// {
|
||||||
|
// string help_cmdname = Command.GetArgs(command)[0].ToLower();
|
||||||
|
// if (help_cmdname == "help")
|
||||||
|
// {
|
||||||
|
// response_msg = Translations.Get("icmd.help");
|
||||||
|
// }
|
||||||
|
// else if (cmds.ContainsKey(help_cmdname))
|
||||||
|
// {
|
||||||
|
// response_msg = cmds[help_cmdname].GetCmdDescTranslated();
|
||||||
|
// }
|
||||||
|
// else response_msg = Translations.Get("icmd.unknown", command_name);
|
||||||
|
// }
|
||||||
|
// else response_msg = Translations.Get("icmd.list", String.Join(", ", cmd_names.ToArray()), Config.Main.Advanced.InternalCmdChar.ToChar());
|
||||||
|
//}
|
||||||
|
//else if (cmds.ContainsKey(command_name))
|
||||||
|
//{
|
||||||
|
// response_msg = cmds[command_name].Run(this, command, localVars);
|
||||||
|
|
||||||
|
// foreach (ChatBot bot in bots.ToArray())
|
||||||
|
// {
|
||||||
|
// try
|
||||||
|
// {
|
||||||
|
// bot.OnInternalCommand(command_name, string.Join(" ", Command.GetArgs(command)), response_msg);
|
||||||
|
// }
|
||||||
|
// catch (Exception e)
|
||||||
|
// {
|
||||||
|
// if (e is not ThreadAbortException)
|
||||||
|
// {
|
||||||
|
// Log.Warn(Translations.Get("icmd.error", bot.ToString() ?? string.Empty, e.ToString()));
|
||||||
|
// }
|
||||||
|
// else throw; //ThreadAbortException should not be caught
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// response_msg = Translations.Get("icmd.unknown", command_name);
|
||||||
|
// return false;
|
||||||
|
//}
|
||||||
|
|
||||||
|
//return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadCommands()
|
public void LoadCommands()
|
||||||
|
|
@ -689,10 +724,11 @@ namespace MinecraftClient
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Command cmd = (Command)Activator.CreateInstance(type)!;
|
Command cmd = (Command)Activator.CreateInstance(type)!;
|
||||||
cmds[Settings.ToLowerIfNeed(cmd.CmdName)] = cmd;
|
cmd.RegisterCommand(this, dispatcher);
|
||||||
cmd_names.Add(Settings.ToLowerIfNeed(cmd.CmdName));
|
// cmds[Settings.ToLowerIfNeed(cmd.CmdName)] = cmd;
|
||||||
foreach (string alias in cmd.GetCMDAliases())
|
// cmd_names.Add(Settings.ToLowerIfNeed(cmd.CmdName));
|
||||||
cmds[Settings.ToLowerIfNeed(alias)] = cmd;
|
// foreach (string alias in cmd.GetCMDAliases())
|
||||||
|
// cmds[Settings.ToLowerIfNeed(alias)] = cmd;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
<Content Include="Resources\containers\ContainerType.PlayerInventory.txt" />
|
<Content Include="Resources\containers\ContainerType.PlayerInventory.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Brigadier.NET" Version="1.2.13" />
|
||||||
<PackageReference Include="DnsClient" Version="1.6.1" />
|
<PackageReference Include="DnsClient" Version="1.6.1" />
|
||||||
<PackageReference Include="DotNetZip" Version="1.16.0" />
|
<PackageReference Include="DotNetZip" Version="1.16.0" />
|
||||||
<PackageReference Include="DSharpPlus" Version="4.2.0" />
|
<PackageReference Include="DSharpPlus" Version="4.2.0" />
|
||||||
|
|
|
||||||
|
|
@ -2082,6 +2082,13 @@ namespace MinecraftClient.Protocol.Handlers
|
||||||
/// <returns>Completed text</returns>
|
/// <returns>Completed text</returns>
|
||||||
IEnumerable<string> IAutoComplete.AutoComplete(string BehindCursor)
|
IEnumerable<string> IAutoComplete.AutoComplete(string BehindCursor)
|
||||||
{
|
{
|
||||||
|
var sug = McClient.dispatcher.GetCompletionSuggestions(McClient.dispatcher.Parse(BehindCursor[1..], McClient.cmd_source));
|
||||||
|
sug.Wait();
|
||||||
|
foreach (var hint in sug.Result.List)
|
||||||
|
{
|
||||||
|
log.Info(hint);
|
||||||
|
}
|
||||||
|
//log.Info(McClient.dispatcher.GetSmartUsage(McClient.dispatcher.Parse(BehindCursor, McClient.cmd_source), McClient.cmd_source));
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(BehindCursor))
|
if (String.IsNullOrEmpty(BehindCursor))
|
||||||
return Array.Empty<string>();
|
return Array.Empty<string>();
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Brigadier.NET;
|
||||||
|
using MinecraftClient.Commands;
|
||||||
using MinecraftClient.Inventory;
|
using MinecraftClient.Inventory;
|
||||||
using MinecraftClient.Mapping;
|
using MinecraftClient.Mapping;
|
||||||
using static MinecraftClient.Settings;
|
using static MinecraftClient.Settings;
|
||||||
|
|
@ -1676,6 +1678,10 @@ namespace MinecraftClient
|
||||||
public override string CmdUsage { get { return _cmdUsage; } }
|
public override string CmdUsage { get { return _cmdUsage; } }
|
||||||
public override string CmdDesc { get { return _cmdDesc; } }
|
public override string CmdDesc { get { return _cmdDesc; } }
|
||||||
|
|
||||||
|
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
|
||||||
{
|
{
|
||||||
return Runner(command, GetArgs(command));
|
return Runner(command, GetArgs(command));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue