Minecraft-Console-Client/MinecraftClient/Commands/Sneak.cs

35 lines
1.2 KiB
C#
Raw Normal View History

using System.Collections.Generic;
2022-10-26 08:54:54 +08:00
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; } }
2022-10-26 08:54:54 +08:00
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);
2020-05-23 21:20:33 +08:00
if (result)
sneaking = false;
return result ? Translations.cmd_sneak_off : Translations.general_fail;
}
else
{
var result = handler.SendEntityAction(Protocol.EntityActionType.StartSneaking);
2020-05-23 21:20:33 +08:00
if (result)
sneaking = true;
return result ? Translations.cmd_sneak_on : Translations.general_fail;
}
}
}
}