From 3dc544b1204f2b84cc02f46b61bfe4c98c2e1181 Mon Sep 17 00:00:00 2001 From: Leijurv Date: Fri, 10 Aug 2018 10:45:18 -0700 Subject: [PATCH] goal parsing --- .../bot/behavior/impl/PathingBehavior.java | 31 ++++++++++++++++--- .../bot/pathing/path/PathExecutor.java | 2 +- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/main/java/baritone/bot/behavior/impl/PathingBehavior.java b/src/main/java/baritone/bot/behavior/impl/PathingBehavior.java index b150193a3..a26e61d88 100644 --- a/src/main/java/baritone/bot/behavior/impl/PathingBehavior.java +++ b/src/main/java/baritone/bot/behavior/impl/PathingBehavior.java @@ -28,6 +28,7 @@ import baritone.bot.pathing.calc.IPathFinder; import baritone.bot.pathing.goals.Goal; import baritone.bot.pathing.goals.GoalBlock; import baritone.bot.pathing.goals.GoalXZ; +import baritone.bot.pathing.goals.GoalYLevel; import baritone.bot.pathing.path.IPath; import baritone.bot.pathing.path.PathExecutor; import baritone.bot.utils.PathRenderer; @@ -63,10 +64,32 @@ public class PathingBehavior extends Behavior { @Override public void onSendChatMessage(ChatEvent event) { String msg = event.getMessage(); - if (msg.equals("goal")) { - goal = new GoalBlock(playerFeet()); - displayChatMessageRaw("Goal: " + goal); + if (msg.toLowerCase().startsWith("goal")) { event.cancel(); + String[] params = msg.toLowerCase().substring(4).trim().split(" "); + try { + switch (params.length) { + case 0: + goal = new GoalBlock(playerFeet()); + break; + case 1: + goal = new GoalYLevel(Integer.parseInt(params[0])); + break; + case 2: + goal = new GoalXZ(Integer.parseInt(params[0]), Integer.parseInt(params[1])); + break; + case 3: + goal = new GoalBlock(new BlockPos(Integer.parseInt(params[0]), Integer.parseInt(params[1]), Integer.parseInt(params[2]))); + break; + default: + displayChatMessageRaw("unable to understand lol"); + return; + } + } catch (NumberFormatException ex) { + displayChatMessageRaw("unable to parse integer " + ex); + return; + } + displayChatMessageRaw("Goal: " + goal); return; } if (msg.equals("path")) { @@ -127,7 +150,7 @@ public class PathingBehavior extends Behavior { } */ if (talkAboutIt && current != null && current.getPath() != null) { - displayChatMessageRaw("Finished finding a path from " + start + " to " + goal + ". " + current.getPath().getNumNodesConsidered() + " nodes considered"); + displayChatMessageRaw("Finished finding a path from " + start + " towards " + goal + ". " + current.getPath().getNumNodesConsidered() + " nodes considered"); } }).start(); } diff --git a/src/main/java/baritone/bot/pathing/path/PathExecutor.java b/src/main/java/baritone/bot/pathing/path/PathExecutor.java index 0c866840c..ff5abdca7 100644 --- a/src/main/java/baritone/bot/pathing/path/PathExecutor.java +++ b/src/main/java/baritone/bot/pathing/path/PathExecutor.java @@ -174,7 +174,7 @@ public class PathExecutor extends Behavior { } long end = System.currentTimeMillis(); if (end - start > 0) { - displayChatMessageRaw("Recalculating break and place took " + (end - start) + "ms"); + //displayChatMessageRaw("Recalculating break and place took " + (end - start) + "ms"); } Movement movement = path.movements().get(pathPosition); if (movement.recalculateCost() >= ActionCosts.COST_INF) {