Minecraft-Console-Client/MinecraftClient/Commands/Sneak.cs
2022-10-29 11:44:54 +08:00

35 lines
No EOL
1.2 KiB
C#

using System.Collections.Generic;
using Brigadier.NET;
namespace MinecraftClient.Commands
{
public class Sneak : Command
{
private bool sneaking = false;
public override string CmdName { get { return "Sneak"; } }
public override string CmdUsage { get { return "Sneak"; } }
public override string CmdDesc { get { return Translations.cmd_sneak_desc; } }
public override void RegisterCommand(McClient handler, CommandDispatcher<CommandSource> dispatcher)
{
}
public override string Run(McClient handler, string command, Dictionary<string, object>? localVars)
{
if (sneaking)
{
var result = handler.SendEntityAction(Protocol.EntityActionType.StopSneaking);
if (result)
sneaking = false;
return result ? Translations.cmd_sneak_off : Translations.general_fail;
}
else
{
var result = handler.SendEntityAction(Protocol.EntityActionType.StartSneaking);
if (result)
sneaking = true;
return result ? Translations.cmd_sneak_on : Translations.general_fail;
}
}
}
}