From 9843e8048de5097e7bae4b3dc7ec53ebb8886f56 Mon Sep 17 00:00:00 2001 From: Joerez Date: Sat, 5 Oct 2019 14:46:19 -0700 Subject: [PATCH] issue-1015 better handling Delete org.eclipse.buildship.core.prefs Delete .project issue-1015 removed unessesary conversion issue-1015 users can use k in their #todo arguments to multiply the goal by 1000 --- .../utils/command/datatypes/RelativeCoordinate.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/api/java/baritone/api/utils/command/datatypes/RelativeCoordinate.java b/src/api/java/baritone/api/utils/command/datatypes/RelativeCoordinate.java index 7ef3532a..e56f4b8c 100644 --- a/src/api/java/baritone/api/utils/command/datatypes/RelativeCoordinate.java +++ b/src/api/java/baritone/api/utils/command/datatypes/RelativeCoordinate.java @@ -26,8 +26,7 @@ import java.util.stream.Stream; public enum RelativeCoordinate implements IDatatypePost { INSTANCE; - - private static Pattern PATTERN = Pattern.compile("^(~?)([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)|)$"); + private static Pattern PATTERN = Pattern.compile("^(~?)([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)([k-k]?)|)$"); @Override public Double apply(IDatatypeContext ctx, Double origin) throws CommandException { @@ -41,7 +40,15 @@ public enum RelativeCoordinate implements IDatatypePost { } boolean isRelative = !matcher.group(1).isEmpty(); - double offset = matcher.group(2).isEmpty() ? 0 : Double.parseDouble(matcher.group(2)); + + double offset = matcher.group(2).isEmpty() ? 0 : Double.parseDouble(matcher.group(2).replaceAll("k", "")); + + if (matcher.group(2).contains("k")) { + String newString = matcher.group(2).replaceAll("k", ""); + double convertedNumber = Double.parseDouble(newString); + convertedNumber = convertedNumber * 1000; + offset = convertedNumber; + } if (isRelative) { return origin + offset;