mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2025-10-14 21:22:49 +00:00
Add "-f" to the /move command (#1874)
This commit is contained in:
parent
259ef80cf9
commit
dd3fd3c9d2
3 changed files with 26 additions and 17 deletions
|
|
@ -1,7 +1,6 @@
|
|||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using MinecraftClient.Mapping;
|
||||
|
||||
namespace MinecraftClient.Commands
|
||||
|
|
@ -9,30 +8,36 @@ namespace MinecraftClient.Commands
|
|||
public class Move : Command
|
||||
{
|
||||
public override string CmdName { get { return "move"; } }
|
||||
public override string CmdUsage { get { return "move <on|off|get|up|down|east|west|north|south|x y z>"; } }
|
||||
public override string CmdDesc { get { return "walk or start walking."; } }
|
||||
public override string CmdUsage { get { return "move <on|off|get|up|down|east|west|north|south|x y z> [-f]"; } }
|
||||
public override string CmdDesc { get { return "walk or start walking. \"-f\": force unsafe movements like falling or touching fire"; } }
|
||||
|
||||
public override string Run(McClient handler, string command, Dictionary<string, object> localVars)
|
||||
{
|
||||
string[] args = getArgs(command);
|
||||
string argStr = getArg(command).Trim().ToLower();
|
||||
List<string> args = getArgs(command.ToLower()).ToList();
|
||||
bool takeRisk = false;
|
||||
|
||||
if (argStr == "on")
|
||||
if (args.Contains("-f"))
|
||||
{
|
||||
takeRisk = true;
|
||||
args.Remove("-f");
|
||||
}
|
||||
|
||||
if (args[0] == "on")
|
||||
{
|
||||
handler.SetTerrainEnabled(true);
|
||||
return Translations.Get("cmd.move.enable");
|
||||
}
|
||||
else if (argStr == "off")
|
||||
else if (args[0] == "off")
|
||||
{
|
||||
handler.SetTerrainEnabled(false);
|
||||
return Translations.Get("cmd.move.disable");
|
||||
}
|
||||
else if (handler.GetTerrainEnabled())
|
||||
{
|
||||
if (args.Length == 1)
|
||||
if (args.Count == 1)
|
||||
{
|
||||
Direction direction;
|
||||
switch (argStr)
|
||||
switch (args[0])
|
||||
{
|
||||
case "up": direction = Direction.Up; break;
|
||||
case "down": direction = Direction.Down; break;
|
||||
|
|
@ -41,16 +46,17 @@ namespace MinecraftClient.Commands
|
|||
case "north": direction = Direction.North; break;
|
||||
case "south": direction = Direction.South; break;
|
||||
case "get": return handler.GetCurrentLocation().ToString();
|
||||
default: return Translations.Get("cmd.look.unknown", argStr);
|
||||
default: return Translations.Get("cmd.look.unknown", args[0]);
|
||||
}
|
||||
if (Movement.CanMove(handler.GetWorld(), handler.GetCurrentLocation(), direction))
|
||||
{
|
||||
handler.MoveTo(Movement.Move(handler.GetCurrentLocation(), direction));
|
||||
return Translations.Get("cmd.move.moving", argStr);
|
||||
if (handler.MoveTo(Movement.Move(handler.GetCurrentLocation(), direction), allowUnsafe: takeRisk))
|
||||
return Translations.Get("cmd.move.moving", args[0]);
|
||||
else return takeRisk ? Translations.Get("cmd.move.dir_fail") : Translations.Get("cmd.move.suggestforce");
|
||||
}
|
||||
else return Translations.Get("cmd.move.dir_fail");
|
||||
}
|
||||
else if (args.Length == 3)
|
||||
else if (args.Count == 3)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -58,9 +64,10 @@ namespace MinecraftClient.Commands
|
|||
int y = int.Parse(args[1]);
|
||||
int z = int.Parse(args[2]);
|
||||
Location goal = new Location(x, y, z);
|
||||
if (handler.MoveTo(goal))
|
||||
|
||||
if (handler.MoveTo(goal, allowUnsafe: takeRisk))
|
||||
return Translations.Get("cmd.move.walk", goal);
|
||||
return Translations.Get("cmd.move.fail", goal);
|
||||
else return takeRisk ? Translations.Get("cmd.move.fail", goal) : Translations.Get("cmd.move.suggestforce", goal);
|
||||
}
|
||||
catch (FormatException) { return GetCmdDescTranslated(); }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -310,6 +310,7 @@ cmd.move.moving=Laufe {0}
|
|||
cmd.move.dir_fail=Kann nicht in diese Richtung laufen.
|
||||
cmd.move.walk=Gehe nach {0}
|
||||
cmd.move.fail=Konnte Pfad nach {0} nicht berechnen.
|
||||
cmd.move.suggestforce=Weg nach {0} konnte nicht berechnet werden. Benutze den -f Parameter, um unsichere Wege zu aktivieren.
|
||||
|
||||
# Reco
|
||||
cmd.reco.desc=Starte neu und verbinde erneut zum Server.
|
||||
|
|
|
|||
|
|
@ -310,6 +310,7 @@ cmd.move.moving=Moving {0}
|
|||
cmd.move.dir_fail=Cannot move in that direction.
|
||||
cmd.move.walk=Walking to {0}
|
||||
cmd.move.fail=Failed to compute path to {0}
|
||||
cmd.move.suggestforce=Failed to compute a safe path to {0}. Try -f parameter to allow unsafe movements.
|
||||
|
||||
# Reco
|
||||
cmd.reco.desc=restart and reconnect to the server.
|
||||
|
|
@ -503,4 +504,4 @@ bot.scriptScheduler.task=triggeronfirstlogin: {0}\n triggeronlogin: {1}\n trigge
|
|||
|
||||
# TestBot
|
||||
bot.testBot.told=Bot: {0} told me : {1}
|
||||
bot.testBot.said=Bot: {0} said : {1}
|
||||
bot.testBot.said=Bot: {0} said : {1}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue