diff --git a/src/api/java/baritone/api/IBaritoneProvider.java b/src/api/java/baritone/api/IBaritoneProvider.java
index e31ef0f8e..b7228e33b 100644
--- a/src/api/java/baritone/api/IBaritoneProvider.java
+++ b/src/api/java/baritone/api/IBaritoneProvider.java
@@ -18,7 +18,7 @@
package baritone.api;
import baritone.api.cache.IWorldScanner;
-import baritone.api.command.Command;
+import baritone.api.command.ICommand;
import baritone.api.command.ICommandSystem;
import net.minecraft.client.entity.EntityPlayerSP;
@@ -77,7 +77,7 @@ public interface IBaritoneProvider {
/**
* Returns the {@link ICommandSystem} instance. This is not bound to a specific {@link IBaritone}
- * instance because {@link ICommandSystem} itself controls global behavior for {@link Command}s.
+ * instance because {@link ICommandSystem} itself controls global behavior for {@link ICommand}s.
*
* @return The {@link ICommandSystem} instance.
*/
diff --git a/src/api/java/baritone/api/command/Command.java b/src/api/java/baritone/api/command/Command.java
index cd8fa5de3..4db5c0f3f 100644
--- a/src/api/java/baritone/api/command/Command.java
+++ b/src/api/java/baritone/api/command/Command.java
@@ -18,10 +18,7 @@
package baritone.api.command;
import baritone.api.IBaritone;
-import baritone.api.utils.Helper;
import baritone.api.utils.IPlayerContext;
-import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
import java.util.Collections;
import java.util.List;
@@ -29,7 +26,19 @@ import java.util.Locale;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-public abstract class Command implements Helper {
+/**
+ * A default implementation of {@link ICommand} which provides easy access to the
+ * command's bound {@link IBaritone} instance, {@link IPlayerContext} and an easy
+ * way to provide multiple valid command execution names through the default constructor.
+ *
+ * So basically, you should use it because it provides a small amount of boilerplate,
+ * but you're not forced to use it.
+ *
+ * @see ICommand
+ *
+ * @author LoganDark
+ */
+public abstract class Command implements ICommand {
protected IBaritone baritone;
protected IPlayerContext ctx;
@@ -52,34 +61,7 @@ public abstract class Command implements Helper {
this.ctx = baritone.getPlayerContext();
}
- /**
- * Called when this command is executed.
- */
- public abstract void execute(String label, IArgConsumer args) throws CommandException;
-
- /**
- * Called when the command needs to tab complete. Return a Stream representing the entries to put in the completions
- * list.
- */
- public abstract Stream tabComplete(String label, IArgConsumer args) throws CommandException;
-
- /**
- * @return A single-line string containing a short description of this command's purpose.
- */
- public abstract String getShortDesc();
-
- /**
- * @return A list of lines that will be printed by the help command when the user wishes to view them.
- */
- public abstract List getLongDesc();
-
- /**
- * @return {@code true} if this command should be hidden from the help menu
- */
- public boolean hiddenFromHelp() {
- return false;
- }
-
+ @Override
public final List getNames() {
return this.names;
}
diff --git a/src/api/java/baritone/api/command/ICommand.java b/src/api/java/baritone/api/command/ICommand.java
new file mode 100644
index 000000000..792de7c73
--- /dev/null
+++ b/src/api/java/baritone/api/command/ICommand.java
@@ -0,0 +1,67 @@
+/*
+ * This file is part of Baritone.
+ *
+ * Baritone is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Baritone is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Baritone. If not, see .
+ */
+
+package baritone.api.command;
+
+import baritone.api.command.argument.IArgConsumer;
+import baritone.api.command.exception.CommandException;
+import baritone.api.utils.Helper;
+
+import java.util.List;
+import java.util.stream.Stream;
+
+/**
+ * The base for a command.
+ *
+ * @author Brady
+ * @since 10/7/2019
+ */
+public interface ICommand extends Helper {
+
+ /**
+ * Called when this command is executed.
+ */
+ void execute(String label, IArgConsumer args) throws CommandException;
+
+ /**
+ * Called when the command needs to tab complete. Return a Stream representing the entries to put in the completions
+ * list.
+ */
+ Stream tabComplete(String label, IArgConsumer args) throws CommandException;
+
+ /**
+ * @return A single-line string containing a short description of this command's purpose.
+ */
+ String getShortDesc();
+
+ /**
+ * @return A list of lines that will be printed by the help command when the user wishes to view them.
+ */
+ List getLongDesc();
+
+ /**
+ * @return A list of the names that can be accepted to have arguments passed to this command
+ */
+ List getNames();
+
+ /**
+ * @return {@code true} if this command should be hidden from the help menu
+ */
+ default boolean hiddenFromHelp() {
+ return false;
+ }
+}
diff --git a/src/api/java/baritone/api/command/argparser/IArgParserManager.java b/src/api/java/baritone/api/command/argparser/IArgParserManager.java
index fe819150a..f38b4624d 100644
--- a/src/api/java/baritone/api/command/argparser/IArgParserManager.java
+++ b/src/api/java/baritone/api/command/argparser/IArgParserManager.java
@@ -22,6 +22,10 @@ import baritone.api.command.exception.CommandInvalidTypeException;
import baritone.api.command.registry.Registry;
/**
+ * Used to retrieve {@link IArgParser} instances from the registry, by their target class.
+ * It can be assumed that a {@link IArgParser} exists for {@link Integer}, {@link Long},
+ * {@link Float}, {@link Double} and {@link Boolean}.
+ *
* @author Brady
* @since 10/4/2019
*/
diff --git a/src/api/java/baritone/api/command/helpers/arguments/IArgConsumer.java b/src/api/java/baritone/api/command/argument/IArgConsumer.java
similarity index 99%
rename from src/api/java/baritone/api/command/helpers/arguments/IArgConsumer.java
rename to src/api/java/baritone/api/command/argument/IArgConsumer.java
index c185c1f7f..c9212fa41 100644
--- a/src/api/java/baritone/api/command/helpers/arguments/IArgConsumer.java
+++ b/src/api/java/baritone/api/command/argument/IArgConsumer.java
@@ -15,13 +15,12 @@
* along with Baritone. If not, see .
*/
-package baritone.api.command.helpers.arguments;
+package baritone.api.command.argument;
-import baritone.api.command.Command;
+import baritone.api.command.ICommand;
import baritone.api.command.exception.CommandTooManyArgumentsException;
import baritone.api.utils.Helper;
import baritone.api.command.argparser.IArgParser;
-import baritone.api.command.argument.ICommandArgument;
import baritone.api.command.datatypes.IDatatype;
import baritone.api.command.datatypes.IDatatypeFor;
import baritone.api.command.datatypes.IDatatypePost;
@@ -35,7 +34,7 @@ import java.util.LinkedList;
import java.util.stream.Stream;
/**
- * The {@link IArgConsumer} is how {@link Command}s read the arguments passed to them. This class has many benefits:
+ * The {@link IArgConsumer} is how {@link ICommand}s read the arguments passed to them. This class has many benefits:
*
*
* - Mutability. The whole concept of the {@link IArgConsumer}} is to let you gradually consume arguments in any way
diff --git a/src/api/java/baritone/api/command/argument/ICommandArgument.java b/src/api/java/baritone/api/command/argument/ICommandArgument.java
index ab912d00c..9f3ff613c 100644
--- a/src/api/java/baritone/api/command/argument/ICommandArgument.java
+++ b/src/api/java/baritone/api/command/argument/ICommandArgument.java
@@ -17,7 +17,6 @@
package baritone.api.command.argument;
-import baritone.api.command.helpers.arguments.IArgConsumer;
import baritone.api.command.argparser.IArgParser;
import baritone.api.command.exception.CommandInvalidTypeException;
import net.minecraft.util.EnumFacing;
diff --git a/src/api/java/baritone/api/command/datatypes/BlockById.java b/src/api/java/baritone/api/command/datatypes/BlockById.java
index 8f14380e2..93917dd10 100644
--- a/src/api/java/baritone/api/command/datatypes/BlockById.java
+++ b/src/api/java/baritone/api/command/datatypes/BlockById.java
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.helpers.TabCompleteHelper;
import baritone.api.command.exception.CommandException;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
diff --git a/src/api/java/baritone/api/command/datatypes/EntityClassById.java b/src/api/java/baritone/api/command/datatypes/EntityClassById.java
index 5bf7379ce..bf89232ff 100644
--- a/src/api/java/baritone/api/command/datatypes/EntityClassById.java
+++ b/src/api/java/baritone/api/command/datatypes/EntityClassById.java
@@ -18,7 +18,7 @@
package baritone.api.command.datatypes;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.helpers.TabCompleteHelper;
import net.minecraft.entity.EntityType;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.registry.IRegistry;
diff --git a/src/api/java/baritone/api/command/datatypes/ForEnumFacing.java b/src/api/java/baritone/api/command/datatypes/ForEnumFacing.java
index 23f8617c1..f88b372ae 100644
--- a/src/api/java/baritone/api/command/datatypes/ForEnumFacing.java
+++ b/src/api/java/baritone/api/command/datatypes/ForEnumFacing.java
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.helpers.TabCompleteHelper;
import baritone.api.command.exception.CommandException;
import net.minecraft.util.EnumFacing;
diff --git a/src/api/java/baritone/api/command/datatypes/ForWaypoints.java b/src/api/java/baritone/api/command/datatypes/ForWaypoints.java
index db5068392..208786987 100644
--- a/src/api/java/baritone/api/command/datatypes/ForWaypoints.java
+++ b/src/api/java/baritone/api/command/datatypes/ForWaypoints.java
@@ -20,7 +20,7 @@ package baritone.api.command.datatypes;
import baritone.api.IBaritone;
import baritone.api.cache.IWaypoint;
import baritone.api.cache.IWaypointCollection;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.helpers.TabCompleteHelper;
import baritone.api.command.exception.CommandException;
import java.util.Comparator;
diff --git a/src/api/java/baritone/api/command/datatypes/IDatatype.java b/src/api/java/baritone/api/command/datatypes/IDatatype.java
index 385154bc4..60bf0c383 100644
--- a/src/api/java/baritone/api/command/datatypes/IDatatype.java
+++ b/src/api/java/baritone/api/command/datatypes/IDatatype.java
@@ -18,7 +18,7 @@
package baritone.api.command.datatypes;
import baritone.api.command.argparser.IArgParser;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.exception.CommandException;
import java.util.stream.Stream;
diff --git a/src/api/java/baritone/api/command/datatypes/IDatatypeContext.java b/src/api/java/baritone/api/command/datatypes/IDatatypeContext.java
index 4b8269c3c..78358a262 100644
--- a/src/api/java/baritone/api/command/datatypes/IDatatypeContext.java
+++ b/src/api/java/baritone/api/command/datatypes/IDatatypeContext.java
@@ -18,7 +18,7 @@
package baritone.api.command.datatypes;
import baritone.api.IBaritone;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
/**
* Provides an {@link IDatatype} with contextual information so
diff --git a/src/api/java/baritone/api/command/datatypes/NearbyPlayer.java b/src/api/java/baritone/api/command/datatypes/NearbyPlayer.java
index 8fcb6354b..9d9473f58 100644
--- a/src/api/java/baritone/api/command/datatypes/NearbyPlayer.java
+++ b/src/api/java/baritone/api/command/datatypes/NearbyPlayer.java
@@ -18,7 +18,7 @@
package baritone.api.command.datatypes;
import baritone.api.IBaritone;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.helpers.TabCompleteHelper;
import baritone.api.command.exception.CommandException;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.text.ITextComponent;
diff --git a/src/api/java/baritone/api/command/datatypes/RelativeBlockPos.java b/src/api/java/baritone/api/command/datatypes/RelativeBlockPos.java
index 513ef41f3..082b649eb 100644
--- a/src/api/java/baritone/api/command/datatypes/RelativeBlockPos.java
+++ b/src/api/java/baritone/api/command/datatypes/RelativeBlockPos.java
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.utils.BetterBlockPos;
import baritone.api.command.exception.CommandException;
diff --git a/src/api/java/baritone/api/command/datatypes/RelativeCoordinate.java b/src/api/java/baritone/api/command/datatypes/RelativeCoordinate.java
index dc4d56304..7d77a96c7 100644
--- a/src/api/java/baritone/api/command/datatypes/RelativeCoordinate.java
+++ b/src/api/java/baritone/api/command/datatypes/RelativeCoordinate.java
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.exception.CommandException;
import java.util.regex.Matcher;
diff --git a/src/api/java/baritone/api/command/datatypes/RelativeFile.java b/src/api/java/baritone/api/command/datatypes/RelativeFile.java
index f886a1c65..2c7adf98f 100644
--- a/src/api/java/baritone/api/command/datatypes/RelativeFile.java
+++ b/src/api/java/baritone/api/command/datatypes/RelativeFile.java
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.exception.CommandException;
import java.io.File;
diff --git a/src/api/java/baritone/api/command/datatypes/RelativeGoal.java b/src/api/java/baritone/api/command/datatypes/RelativeGoal.java
index 73bc6e0d3..cda0ad665 100644
--- a/src/api/java/baritone/api/command/datatypes/RelativeGoal.java
+++ b/src/api/java/baritone/api/command/datatypes/RelativeGoal.java
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.pathing.goals.Goal;
import baritone.api.pathing.goals.GoalBlock;
import baritone.api.pathing.goals.GoalXZ;
diff --git a/src/api/java/baritone/api/command/datatypes/RelativeGoalBlock.java b/src/api/java/baritone/api/command/datatypes/RelativeGoalBlock.java
index 19621b952..ae05c6ade 100644
--- a/src/api/java/baritone/api/command/datatypes/RelativeGoalBlock.java
+++ b/src/api/java/baritone/api/command/datatypes/RelativeGoalBlock.java
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.pathing.goals.GoalBlock;
import baritone.api.utils.BetterBlockPos;
import baritone.api.command.exception.CommandException;
diff --git a/src/api/java/baritone/api/command/datatypes/RelativeGoalXZ.java b/src/api/java/baritone/api/command/datatypes/RelativeGoalXZ.java
index 83d52de86..cd3977b6f 100644
--- a/src/api/java/baritone/api/command/datatypes/RelativeGoalXZ.java
+++ b/src/api/java/baritone/api/command/datatypes/RelativeGoalXZ.java
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.pathing.goals.GoalXZ;
import baritone.api.utils.BetterBlockPos;
import baritone.api.command.exception.CommandException;
diff --git a/src/api/java/baritone/api/command/datatypes/RelativeGoalYLevel.java b/src/api/java/baritone/api/command/datatypes/RelativeGoalYLevel.java
index 4dd195a4d..58d093f1b 100644
--- a/src/api/java/baritone/api/command/datatypes/RelativeGoalYLevel.java
+++ b/src/api/java/baritone/api/command/datatypes/RelativeGoalYLevel.java
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.pathing.goals.GoalYLevel;
import baritone.api.utils.BetterBlockPos;
import baritone.api.command.exception.CommandException;
diff --git a/src/api/java/baritone/api/command/exception/CommandNotFoundException.java b/src/api/java/baritone/api/command/exception/CommandNotFoundException.java
index 123661c83..49ac69777 100644
--- a/src/api/java/baritone/api/command/exception/CommandNotFoundException.java
+++ b/src/api/java/baritone/api/command/exception/CommandNotFoundException.java
@@ -17,7 +17,7 @@
package baritone.api.command.exception;
-import baritone.api.command.Command;
+import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument;
import java.util.List;
@@ -34,7 +34,7 @@ public class CommandNotFoundException extends CommandException {
}
@Override
- public void handle(Command command, List args) {
+ public void handle(ICommand command, List args) {
HELPER.logDirect(getMessage());
}
}
diff --git a/src/api/java/baritone/api/command/exception/CommandUnhandledException.java b/src/api/java/baritone/api/command/exception/CommandUnhandledException.java
index 394dd65e9..fe0b09fad 100644
--- a/src/api/java/baritone/api/command/exception/CommandUnhandledException.java
+++ b/src/api/java/baritone/api/command/exception/CommandUnhandledException.java
@@ -17,7 +17,7 @@
package baritone.api.command.exception;
-import baritone.api.command.Command;
+import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument;
import net.minecraft.util.text.TextFormatting;
@@ -36,7 +36,7 @@ public class CommandUnhandledException extends RuntimeException implements IComm
}
@Override
- public void handle(Command command, List args) {
+ public void handle(ICommand command, List args) {
HELPER.logDirect("An unhandled exception occurred." +
"The error is in your game's log, please report this at https://github.com/cabaletta/baritone/issues",
TextFormatting.RED);
diff --git a/src/api/java/baritone/api/command/exception/ICommandException.java b/src/api/java/baritone/api/command/exception/ICommandException.java
index 3c96cb520..58d130496 100644
--- a/src/api/java/baritone/api/command/exception/ICommandException.java
+++ b/src/api/java/baritone/api/command/exception/ICommandException.java
@@ -17,7 +17,7 @@
package baritone.api.command.exception;
-import baritone.api.command.Command;
+import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument;
import net.minecraft.util.text.TextFormatting;
@@ -27,7 +27,7 @@ import static baritone.api.utils.Helper.HELPER;
/**
* The base for a Baritone Command Exception, checked or unchecked. Provides a
- * {@link #handle(Command, List)} method that is used to provide useful output
+ * {@link #handle(ICommand, List)} method that is used to provide useful output
* to the user for diagnosing issues that may have occurred during execution.
*
* Anything implementing this interface should be assignable to {@link Exception}.
@@ -49,7 +49,7 @@ public interface ICommandException {
* @param command The command that threw it.
* @param args The arguments the command was called with.
*/
- default void handle(Command command, List args) {
+ default void handle(ICommand command, List args) {
HELPER.logDirect(this.getMessage(), TextFormatting.RED);
}
}
diff --git a/src/api/java/baritone/api/command/helpers/pagination/Paginator.java b/src/api/java/baritone/api/command/helpers/Paginator.java
similarity index 98%
rename from src/api/java/baritone/api/command/helpers/pagination/Paginator.java
rename to src/api/java/baritone/api/command/helpers/Paginator.java
index e5bf9d55f..29ddca2f9 100644
--- a/src/api/java/baritone/api/command/helpers/pagination/Paginator.java
+++ b/src/api/java/baritone/api/command/helpers/Paginator.java
@@ -15,12 +15,12 @@
* along with Baritone. If not, see .
*/
-package baritone.api.command.helpers.pagination;
+package baritone.api.command.helpers;
import baritone.api.utils.Helper;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidTypeException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting;
diff --git a/src/api/java/baritone/api/command/helpers/tabcomplete/TabCompleteHelper.java b/src/api/java/baritone/api/command/helpers/TabCompleteHelper.java
similarity index 98%
rename from src/api/java/baritone/api/command/helpers/tabcomplete/TabCompleteHelper.java
rename to src/api/java/baritone/api/command/helpers/TabCompleteHelper.java
index 57192f0c2..6274c6836 100644
--- a/src/api/java/baritone/api/command/helpers/tabcomplete/TabCompleteHelper.java
+++ b/src/api/java/baritone/api/command/helpers/TabCompleteHelper.java
@@ -15,13 +15,13 @@
* along with Baritone. If not, see .
*/
-package baritone.api.command.helpers.tabcomplete;
+package baritone.api.command.helpers;
import baritone.api.BaritoneAPI;
import baritone.api.Settings;
import baritone.api.event.events.TabCompleteEvent;
import baritone.api.utils.SettingsUtil;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.manager.ICommandManager;
import net.minecraft.util.ResourceLocation;
diff --git a/src/api/java/baritone/api/command/manager/ICommandManager.java b/src/api/java/baritone/api/command/manager/ICommandManager.java
index f74a3c268..3f2d81f24 100644
--- a/src/api/java/baritone/api/command/manager/ICommandManager.java
+++ b/src/api/java/baritone/api/command/manager/ICommandManager.java
@@ -18,7 +18,7 @@
package baritone.api.command.manager;
import baritone.api.IBaritone;
-import baritone.api.command.Command;
+import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument;
import baritone.api.command.registry.Registry;
import net.minecraft.util.Tuple;
@@ -34,13 +34,13 @@ public interface ICommandManager {
IBaritone getBaritone();
- Registry getRegistry();
+ Registry getRegistry();
/**
* @param name The command name to search for.
* @return The command, if found.
*/
- Command getCommand(String name);
+ ICommand getCommand(String name);
boolean execute(String string);
diff --git a/src/api/java/baritone/api/utils/Helper.java b/src/api/java/baritone/api/utils/Helper.java
index 7feb2ba50..3fb63fbf4 100755
--- a/src/api/java/baritone/api/utils/Helper.java
+++ b/src/api/java/baritone/api/utils/Helper.java
@@ -27,6 +27,9 @@ import java.util.Arrays;
import java.util.stream.Stream;
/**
+ * An ease-of-access interface to provide the {@link Minecraft} game instance,
+ * chat and console logging mechanisms, and the Baritone chat prefix.
+ *
* @author Brady
* @since 8/1/2018
*/
diff --git a/src/launch/java/baritone/launch/mixins/MixinBitArray.java b/src/launch/java/baritone/launch/mixins/MixinBitArray.java
index 9383c9aa5..bece3e3bf 100644
--- a/src/launch/java/baritone/launch/mixins/MixinBitArray.java
+++ b/src/launch/java/baritone/launch/mixins/MixinBitArray.java
@@ -43,30 +43,6 @@ public abstract class MixinBitArray implements IBitArray {
@Final
private int arraySize;
- /**
- * why did mojang divide by 64 instead of shifting right by 6 (2^6=64)?
- * why did mojang modulo by 64 instead of ANDing with 63?
- * also removed validation check
- *
- * @author LoganDark
- */
- @Override
- @Unique
- public int getAtFast(int index) {
- final int b = bitsPerEntry;
- final long mev = maxEntryValue;
- final int i = index * b;
- final int j = i >> 6;
- final int l = i & 63;
- final int k = ((index + 1) * b - 1) >> 6;
-
- if (j == k) {
- return (int) (this.longArray[j] >>> l & mev);
- } else {
- return (int) ((this.longArray[j] >>> l | longArray[k] << (64 - l)) & mev);
- }
- }
-
@Override
@Unique
public int[] toArray() {
diff --git a/src/launch/java/baritone/launch/mixins/MixinBlockStateContainer.java b/src/launch/java/baritone/launch/mixins/MixinBlockStateContainer.java
index fb79c6f47..fdaf3ea87 100644
--- a/src/launch/java/baritone/launch/mixins/MixinBlockStateContainer.java
+++ b/src/launch/java/baritone/launch/mixins/MixinBlockStateContainer.java
@@ -25,8 +25,6 @@ import net.minecraft.world.chunk.BlockStateContainer;
import net.minecraft.world.chunk.IBlockStatePalette;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.Unique;
-import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(BlockStateContainer.class)
public abstract class MixinBlockStateContainer implements IBlockStateContainer {
@@ -37,20 +35,6 @@ public abstract class MixinBlockStateContainer implements IBlockStateContainer {
@Shadow
protected IBlockStatePalette palette;
- @Override
- @Accessor
- public abstract BitArray getStorage();
-
- @Override
- @Accessor
- public abstract IBlockStatePalette getPalette();
-
- @Override
- @Unique
- public IBlockState getFast(int index) {
- return palette.get(((IBitArray) storage).getAtFast(index));
- }
-
@Override
public IBlockState getAtPalette(int index) {
return palette.get(index);
diff --git a/src/main/java/baritone/command/BaritoneChatControl.java b/src/main/java/baritone/command/BaritoneChatControl.java
index d5fba9645..d428d6f89 100644
--- a/src/main/java/baritone/command/BaritoneChatControl.java
+++ b/src/main/java/baritone/command/BaritoneChatControl.java
@@ -29,8 +29,8 @@ import baritone.api.utils.SettingsUtil;
import baritone.api.command.argument.ICommandArgument;
import baritone.api.command.exception.CommandNotEnoughArgumentsException;
import baritone.api.command.exception.CommandNotFoundException;
-import baritone.command.helpers.arguments.ArgConsumer;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.command.argument.ArgConsumer;
+import baritone.api.command.helpers.TabCompleteHelper;
import baritone.api.command.manager.ICommandManager;
import baritone.command.argument.CommandArguments;
import baritone.command.manager.CommandManager;
diff --git a/src/main/java/baritone/command/helpers/arguments/ArgConsumer.java b/src/main/java/baritone/command/argument/ArgConsumer.java
similarity index 98%
rename from src/main/java/baritone/command/helpers/arguments/ArgConsumer.java
rename to src/main/java/baritone/command/argument/ArgConsumer.java
index c6a4fb0c7..651ca50bc 100644
--- a/src/main/java/baritone/command/helpers/arguments/ArgConsumer.java
+++ b/src/main/java/baritone/command/argument/ArgConsumer.java
@@ -15,7 +15,7 @@
* along with Baritone. If not, see .
*/
-package baritone.command.helpers.arguments;
+package baritone.command.argument;
import baritone.api.IBaritone;
import baritone.api.command.argument.ICommandArgument;
@@ -27,9 +27,8 @@ import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidTypeException;
import baritone.api.command.exception.CommandNotEnoughArgumentsException;
import baritone.api.command.exception.CommandTooManyArgumentsException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.manager.ICommandManager;
-import baritone.command.argument.CommandArguments;
import java.util.ArrayList;
import java.util.Deque;
diff --git a/src/main/java/baritone/command/defaults/AxisCommand.java b/src/main/java/baritone/command/defaults/AxisCommand.java
index 09d00ae79..0a92ac6e7 100644
--- a/src/main/java/baritone/command/defaults/AxisCommand.java
+++ b/src/main/java/baritone/command/defaults/AxisCommand.java
@@ -22,7 +22,7 @@ import baritone.api.pathing.goals.Goal;
import baritone.api.pathing.goals.GoalAxis;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/BlacklistCommand.java b/src/main/java/baritone/command/defaults/BlacklistCommand.java
index 5069f4348..a383e0a79 100644
--- a/src/main/java/baritone/command/defaults/BlacklistCommand.java
+++ b/src/main/java/baritone/command/defaults/BlacklistCommand.java
@@ -22,7 +22,7 @@ import baritone.api.process.IGetToBlockProcess;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/BuildCommand.java b/src/main/java/baritone/command/defaults/BuildCommand.java
index 01f6fd82a..6ff90e1db 100644
--- a/src/main/java/baritone/command/defaults/BuildCommand.java
+++ b/src/main/java/baritone/command/defaults/BuildCommand.java
@@ -24,7 +24,7 @@ import baritone.api.command.datatypes.RelativeBlockPos;
import baritone.api.command.datatypes.RelativeFile;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import net.minecraft.client.Minecraft;
import java.io.File;
diff --git a/src/main/java/baritone/command/defaults/CancelCommand.java b/src/main/java/baritone/command/defaults/CancelCommand.java
index aff839ae8..3b4c63670 100644
--- a/src/main/java/baritone/command/defaults/CancelCommand.java
+++ b/src/main/java/baritone/command/defaults/CancelCommand.java
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/ChestsCommand.java b/src/main/java/baritone/command/defaults/ChestsCommand.java
index c3755b5a2..fd084ad17 100644
--- a/src/main/java/baritone/command/defaults/ChestsCommand.java
+++ b/src/main/java/baritone/command/defaults/ChestsCommand.java
@@ -23,7 +23,7 @@ import baritone.api.utils.BetterBlockPos;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
diff --git a/src/main/java/baritone/command/defaults/ClickCommand.java b/src/main/java/baritone/command/defaults/ClickCommand.java
index 95b04f52c..b882c5879 100644
--- a/src/main/java/baritone/command/defaults/ClickCommand.java
+++ b/src/main/java/baritone/command/defaults/ClickCommand.java
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/ComeCommand.java b/src/main/java/baritone/command/defaults/ComeCommand.java
index 9b336a252..b8033c3fb 100644
--- a/src/main/java/baritone/command/defaults/ComeCommand.java
+++ b/src/main/java/baritone/command/defaults/ComeCommand.java
@@ -22,7 +22,7 @@ import baritone.api.pathing.goals.GoalBlock;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import net.minecraft.entity.Entity;
import net.minecraft.util.math.BlockPos;
diff --git a/src/main/java/baritone/command/defaults/CommandAlias.java b/src/main/java/baritone/command/defaults/CommandAlias.java
index 08b1ca05d..71c322fe3 100644
--- a/src/main/java/baritone/command/defaults/CommandAlias.java
+++ b/src/main/java/baritone/command/defaults/CommandAlias.java
@@ -19,7 +19,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Collections;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/DefaultCommands.java b/src/main/java/baritone/command/defaults/DefaultCommands.java
index dd1a3004e..c48644e3b 100644
--- a/src/main/java/baritone/command/defaults/DefaultCommands.java
+++ b/src/main/java/baritone/command/defaults/DefaultCommands.java
@@ -18,7 +18,7 @@
package baritone.command.defaults;
import baritone.api.IBaritone;
-import baritone.api.command.Command;
+import baritone.api.command.ICommand;
import java.util.*;
@@ -26,9 +26,9 @@ public final class DefaultCommands {
private DefaultCommands() {}
- public static List createAll(IBaritone baritone) {
+ public static List createAll(IBaritone baritone) {
Objects.requireNonNull(baritone);
- List commands = new ArrayList<>(Arrays.asList(
+ List commands = new ArrayList<>(Arrays.asList(
new HelpCommand(baritone),
new SetCommand(baritone),
new CommandAlias(baritone, Arrays.asList("modified", "mod", "baritone", "modifiedsettings"), "List modified settings", "set modified"),
diff --git a/src/main/java/baritone/command/defaults/ExploreCommand.java b/src/main/java/baritone/command/defaults/ExploreCommand.java
index a2054cc78..9d27bbbe9 100644
--- a/src/main/java/baritone/command/defaults/ExploreCommand.java
+++ b/src/main/java/baritone/command/defaults/ExploreCommand.java
@@ -22,7 +22,7 @@ import baritone.api.pathing.goals.GoalXZ;
import baritone.api.command.Command;
import baritone.api.command.datatypes.RelativeGoalXZ;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/ExploreFilterCommand.java b/src/main/java/baritone/command/defaults/ExploreFilterCommand.java
index a1c5074a3..b4ee393a9 100644
--- a/src/main/java/baritone/command/defaults/ExploreFilterCommand.java
+++ b/src/main/java/baritone/command/defaults/ExploreFilterCommand.java
@@ -23,7 +23,7 @@ import baritone.api.command.datatypes.RelativeFile;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
import baritone.api.command.exception.CommandInvalidTypeException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import com.google.gson.JsonSyntaxException;
import java.io.File;
diff --git a/src/main/java/baritone/command/defaults/FarmCommand.java b/src/main/java/baritone/command/defaults/FarmCommand.java
index 9151852c1..786d01249 100644
--- a/src/main/java/baritone/command/defaults/FarmCommand.java
+++ b/src/main/java/baritone/command/defaults/FarmCommand.java
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/FindCommand.java b/src/main/java/baritone/command/defaults/FindCommand.java
index 0e5ada850..d894066a7 100644
--- a/src/main/java/baritone/command/defaults/FindCommand.java
+++ b/src/main/java/baritone/command/defaults/FindCommand.java
@@ -22,7 +22,7 @@ import baritone.api.utils.BetterBlockPos;
import baritone.api.command.Command;
import baritone.api.command.datatypes.BlockById;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import net.minecraft.block.Block;
import net.minecraft.util.registry.IRegistry;
diff --git a/src/main/java/baritone/command/defaults/FollowCommand.java b/src/main/java/baritone/command/defaults/FollowCommand.java
index 53bd0b6d5..9309b6d44 100644
--- a/src/main/java/baritone/command/defaults/FollowCommand.java
+++ b/src/main/java/baritone/command/defaults/FollowCommand.java
@@ -23,8 +23,8 @@ import baritone.api.command.datatypes.EntityClassById;
import baritone.api.command.datatypes.IDatatypeFor;
import baritone.api.command.datatypes.NearbyPlayer;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.argument.IArgConsumer;
+import baritone.api.command.helpers.TabCompleteHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityType;
diff --git a/src/main/java/baritone/command/defaults/ForceCancelCommand.java b/src/main/java/baritone/command/defaults/ForceCancelCommand.java
index f92134822..8344f4f9f 100644
--- a/src/main/java/baritone/command/defaults/ForceCancelCommand.java
+++ b/src/main/java/baritone/command/defaults/ForceCancelCommand.java
@@ -21,7 +21,7 @@ import baritone.api.IBaritone;
import baritone.api.behavior.IPathingBehavior;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/GcCommand.java b/src/main/java/baritone/command/defaults/GcCommand.java
index c64703e91..143da5792 100644
--- a/src/main/java/baritone/command/defaults/GcCommand.java
+++ b/src/main/java/baritone/command/defaults/GcCommand.java
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/GoalCommand.java b/src/main/java/baritone/command/defaults/GoalCommand.java
index 46b506959..a75af077b 100644
--- a/src/main/java/baritone/command/defaults/GoalCommand.java
+++ b/src/main/java/baritone/command/defaults/GoalCommand.java
@@ -25,8 +25,8 @@ import baritone.api.command.Command;
import baritone.api.command.datatypes.RelativeCoordinate;
import baritone.api.command.datatypes.RelativeGoal;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.argument.IArgConsumer;
+import baritone.api.command.helpers.TabCompleteHelper;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/GotoCommand.java b/src/main/java/baritone/command/defaults/GotoCommand.java
index 9659fff87..427e67b2a 100644
--- a/src/main/java/baritone/command/defaults/GotoCommand.java
+++ b/src/main/java/baritone/command/defaults/GotoCommand.java
@@ -24,7 +24,7 @@ import baritone.api.command.datatypes.ForBlockOptionalMeta;
import baritone.api.command.datatypes.RelativeCoordinate;
import baritone.api.command.datatypes.RelativeGoal;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.pathing.goals.Goal;
import baritone.api.utils.BetterBlockPos;
import baritone.api.utils.BlockOptionalMeta;
diff --git a/src/main/java/baritone/command/defaults/HelpCommand.java b/src/main/java/baritone/command/defaults/HelpCommand.java
index fe3c48082..4cb5f420c 100644
--- a/src/main/java/baritone/command/defaults/HelpCommand.java
+++ b/src/main/java/baritone/command/defaults/HelpCommand.java
@@ -19,11 +19,12 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
+import baritone.api.command.ICommand;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandNotFoundException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
-import baritone.api.command.helpers.pagination.Paginator;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.argument.IArgConsumer;
+import baritone.api.command.helpers.Paginator;
+import baritone.api.command.helpers.TabCompleteHelper;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting;
@@ -79,7 +80,7 @@ public class HelpCommand extends Command {
);
} else {
String commandName = args.getString().toLowerCase();
- Command command = this.baritone.getCommandManager().getCommand(commandName);
+ ICommand command = this.baritone.getCommandManager().getCommand(commandName);
if (command == null) {
throw new CommandNotFoundException(commandName);
}
diff --git a/src/main/java/baritone/command/defaults/InvertCommand.java b/src/main/java/baritone/command/defaults/InvertCommand.java
index ba79a4a94..9e3e859eb 100644
--- a/src/main/java/baritone/command/defaults/InvertCommand.java
+++ b/src/main/java/baritone/command/defaults/InvertCommand.java
@@ -24,7 +24,7 @@ import baritone.api.process.ICustomGoalProcess;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/MineCommand.java b/src/main/java/baritone/command/defaults/MineCommand.java
index d2846e0ae..2baf982af 100644
--- a/src/main/java/baritone/command/defaults/MineCommand.java
+++ b/src/main/java/baritone/command/defaults/MineCommand.java
@@ -23,7 +23,7 @@ import baritone.api.command.Command;
import baritone.api.command.datatypes.BlockById;
import baritone.api.command.datatypes.ForBlockOptionalMeta;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.cache.WorldScanner;
import java.util.ArrayList;
diff --git a/src/main/java/baritone/command/defaults/PathCommand.java b/src/main/java/baritone/command/defaults/PathCommand.java
index fff61a70a..0add64080 100644
--- a/src/main/java/baritone/command/defaults/PathCommand.java
+++ b/src/main/java/baritone/command/defaults/PathCommand.java
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.api.process.ICustomGoalProcess;
import baritone.cache.WorldScanner;
diff --git a/src/main/java/baritone/command/defaults/PauseResumeCommands.java b/src/main/java/baritone/command/defaults/PauseResumeCommands.java
index 11e678820..54718e9b7 100644
--- a/src/main/java/baritone/command/defaults/PauseResumeCommands.java
+++ b/src/main/java/baritone/command/defaults/PauseResumeCommands.java
@@ -24,7 +24,7 @@ import baritone.api.process.PathingCommandType;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/ProcCommand.java b/src/main/java/baritone/command/defaults/ProcCommand.java
index 794a44802..cf9371bc8 100644
--- a/src/main/java/baritone/command/defaults/ProcCommand.java
+++ b/src/main/java/baritone/command/defaults/ProcCommand.java
@@ -24,7 +24,7 @@ import baritone.api.process.PathingCommand;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/ReloadAllCommand.java b/src/main/java/baritone/command/defaults/ReloadAllCommand.java
index 9f4ddd83d..fa8d51175 100644
--- a/src/main/java/baritone/command/defaults/ReloadAllCommand.java
+++ b/src/main/java/baritone/command/defaults/ReloadAllCommand.java
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/RenderCommand.java b/src/main/java/baritone/command/defaults/RenderCommand.java
index d872228a0..64c9e4fb3 100644
--- a/src/main/java/baritone/command/defaults/RenderCommand.java
+++ b/src/main/java/baritone/command/defaults/RenderCommand.java
@@ -21,7 +21,7 @@ import baritone.api.IBaritone;
import baritone.api.utils.BetterBlockPos;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/RepackCommand.java b/src/main/java/baritone/command/defaults/RepackCommand.java
index d42bd95ae..6366fbc92 100644
--- a/src/main/java/baritone/command/defaults/RepackCommand.java
+++ b/src/main/java/baritone/command/defaults/RepackCommand.java
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import baritone.cache.WorldScanner;
import java.util.Arrays;
diff --git a/src/main/java/baritone/command/defaults/SaveAllCommand.java b/src/main/java/baritone/command/defaults/SaveAllCommand.java
index 7df2e320c..5f064a72f 100644
--- a/src/main/java/baritone/command/defaults/SaveAllCommand.java
+++ b/src/main/java/baritone/command/defaults/SaveAllCommand.java
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/SchematicaCommand.java b/src/main/java/baritone/command/defaults/SchematicaCommand.java
index 5f659d1fd..8279b1dc5 100644
--- a/src/main/java/baritone/command/defaults/SchematicaCommand.java
+++ b/src/main/java/baritone/command/defaults/SchematicaCommand.java
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/SelCommand.java b/src/main/java/baritone/command/defaults/SelCommand.java
index 342d0a314..97cae9a61 100644
--- a/src/main/java/baritone/command/defaults/SelCommand.java
+++ b/src/main/java/baritone/command/defaults/SelCommand.java
@@ -35,8 +35,8 @@ import baritone.api.command.datatypes.RelativeBlockPos;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
import baritone.api.command.exception.CommandInvalidTypeException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.argument.IArgConsumer;
+import baritone.api.command.helpers.TabCompleteHelper;
import baritone.utils.IRenderer;
import net.minecraft.init.Blocks;
import net.minecraft.util.EnumFacing;
diff --git a/src/main/java/baritone/command/defaults/SetCommand.java b/src/main/java/baritone/command/defaults/SetCommand.java
index 280f56eac..d5b4f5bfc 100644
--- a/src/main/java/baritone/command/defaults/SetCommand.java
+++ b/src/main/java/baritone/command/defaults/SetCommand.java
@@ -24,9 +24,9 @@ import baritone.api.utils.SettingsUtil;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidTypeException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
-import baritone.api.command.helpers.pagination.Paginator;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.argument.IArgConsumer;
+import baritone.api.command.helpers.Paginator;
+import baritone.api.command.helpers.TabCompleteHelper;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting;
diff --git a/src/main/java/baritone/command/defaults/ThisWayCommand.java b/src/main/java/baritone/command/defaults/ThisWayCommand.java
index 9ff42f42e..6073d82be 100644
--- a/src/main/java/baritone/command/defaults/ThisWayCommand.java
+++ b/src/main/java/baritone/command/defaults/ThisWayCommand.java
@@ -21,7 +21,7 @@ import baritone.api.IBaritone;
import baritone.api.pathing.goals.GoalXZ;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/TunnelCommand.java b/src/main/java/baritone/command/defaults/TunnelCommand.java
index e7830c05d..991a7ff81 100644
--- a/src/main/java/baritone/command/defaults/TunnelCommand.java
+++ b/src/main/java/baritone/command/defaults/TunnelCommand.java
@@ -22,7 +22,7 @@ import baritone.api.pathing.goals.Goal;
import baritone.api.pathing.goals.GoalStrictDirection;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/VersionCommand.java b/src/main/java/baritone/command/defaults/VersionCommand.java
index 6e063b0f2..b7882d7d7 100644
--- a/src/main/java/baritone/command/defaults/VersionCommand.java
+++ b/src/main/java/baritone/command/defaults/VersionCommand.java
@@ -21,7 +21,7 @@ import baritone.api.IBaritone;
import baritone.api.command.Command;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
+import baritone.api.command.argument.IArgConsumer;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/baritone/command/defaults/WaypointsCommand.java b/src/main/java/baritone/command/defaults/WaypointsCommand.java
index c61f6557e..62c74212c 100644
--- a/src/main/java/baritone/command/defaults/WaypointsCommand.java
+++ b/src/main/java/baritone/command/defaults/WaypointsCommand.java
@@ -29,9 +29,9 @@ import baritone.api.command.datatypes.RelativeBlockPos;
import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException;
import baritone.api.command.exception.CommandInvalidTypeException;
-import baritone.api.command.helpers.arguments.IArgConsumer;
-import baritone.api.command.helpers.pagination.Paginator;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.argument.IArgConsumer;
+import baritone.api.command.helpers.Paginator;
+import baritone.api.command.helpers.TabCompleteHelper;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting;
diff --git a/src/main/java/baritone/command/manager/CommandManager.java b/src/main/java/baritone/command/manager/CommandManager.java
index 78fc2c9ff..4c33226d3 100644
--- a/src/main/java/baritone/command/manager/CommandManager.java
+++ b/src/main/java/baritone/command/manager/CommandManager.java
@@ -19,22 +19,23 @@ package baritone.command.manager;
import baritone.Baritone;
import baritone.api.IBaritone;
-import baritone.api.command.Command;
+import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument;
import baritone.api.command.exception.CommandUnhandledException;
import baritone.api.command.exception.ICommandException;
-import baritone.api.command.helpers.tabcomplete.TabCompleteHelper;
+import baritone.api.command.helpers.TabCompleteHelper;
import baritone.api.command.manager.ICommandManager;
import baritone.api.command.registry.Registry;
+import baritone.command.argument.ArgConsumer;
import baritone.command.argument.CommandArguments;
import baritone.command.defaults.DefaultCommands;
-import baritone.command.helpers.arguments.ArgConsumer;
import net.minecraft.util.Tuple;
import java.util.List;
import java.util.Locale;
import java.util.stream.Stream;
+
/**
* The default, internal implementation of {@link ICommandManager}
*
@@ -43,7 +44,7 @@ import java.util.stream.Stream;
*/
public class CommandManager implements ICommandManager {
- private final Registry registry = new Registry<>();
+ private final Registry registry = new Registry<>();
private final Baritone baritone;
public CommandManager(Baritone baritone) {
@@ -57,13 +58,13 @@ public class CommandManager implements ICommandManager {
}
@Override
- public Registry getRegistry() {
+ public Registry getRegistry() {
return this.registry;
}
@Override
- public Command getCommand(String name) {
- for (Command command : this.registry.entries) {
+ public ICommand getCommand(String name) {
+ for (ICommand command : this.registry.entries) {
if (command.getNames().contains(name.toLowerCase(Locale.US))) {
return command;
}
@@ -110,7 +111,7 @@ public class CommandManager implements ICommandManager {
String label = expanded.getA();
ArgConsumer args = new ArgConsumer(this, expanded.getB());
- Command command = this.getCommand(label);
+ ICommand command = this.getCommand(label);
return command == null ? null : new ExecutionWrapper(command, label, args);
}
@@ -126,11 +127,11 @@ public class CommandManager implements ICommandManager {
private static final class ExecutionWrapper {
- private Command command;
+ private ICommand command;
private String label;
private ArgConsumer args;
- private ExecutionWrapper(Command command, String label, ArgConsumer args) {
+ private ExecutionWrapper(ICommand command, String label, ArgConsumer args) {
this.command = command;
this.label = label;
this.args = args;
diff --git a/src/main/java/baritone/pathing/movement/movements/MovementPillar.java b/src/main/java/baritone/pathing/movement/movements/MovementPillar.java
index 8a3122d4d..0a3ddde09 100644
--- a/src/main/java/baritone/pathing/movement/movements/MovementPillar.java
+++ b/src/main/java/baritone/pathing/movement/movements/MovementPillar.java
@@ -195,7 +195,7 @@ public class MovementPillar extends Movement {
if (ladder) {
BlockPos against = vine ? getAgainst(new CalculationContext(baritone), src) : src.offset(fromDown.get(BlockLadder.FACING).getOpposite());
if (against == null) {
- logDebug("Unable to climb vines");
+ logDirect("Unable to climb vines. Consider disabling allowVines.");
return state.setStatus(MovementStatus.UNREACHABLE);
}
diff --git a/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java b/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java
index 0660d9036..2c1effc0c 100644
--- a/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java
+++ b/src/main/java/baritone/pathing/movement/movements/MovementTraverse.java
@@ -264,6 +264,10 @@ public class MovementTraverse extends Movement {
BlockPos against = positionsToBreak[0];
if (feet.getY() != dest.getY() && ladder && (destDown.getBlock() == Blocks.VINE || destDown.getBlock() == Blocks.LADDER)) {
against = destDown.getBlock() == Blocks.VINE ? MovementPillar.getAgainst(new CalculationContext(baritone), dest.down()) : dest.offset(destDown.get(BlockLadder.FACING).getOpposite());
+ if (against == null) {
+ logDirect("Unable to climb vines. Consider disabling allowVines.");
+ return state.setStatus(MovementStatus.UNREACHABLE);
+ }
}
MovementHelper.moveTowards(ctx, state, against);
return state;
diff --git a/src/main/java/baritone/utils/accessor/IBitArray.java b/src/main/java/baritone/utils/accessor/IBitArray.java
index 81501036b..baea5c1da 100644
--- a/src/main/java/baritone/utils/accessor/IBitArray.java
+++ b/src/main/java/baritone/utils/accessor/IBitArray.java
@@ -2,7 +2,5 @@ package baritone.utils.accessor;
public interface IBitArray {
- int getAtFast(int index);
-
int[] toArray();
}
diff --git a/src/main/java/baritone/utils/accessor/IBlockStateContainer.java b/src/main/java/baritone/utils/accessor/IBlockStateContainer.java
index 7c47a9b80..39572fc5d 100644
--- a/src/main/java/baritone/utils/accessor/IBlockStateContainer.java
+++ b/src/main/java/baritone/utils/accessor/IBlockStateContainer.java
@@ -1,17 +1,9 @@
package baritone.utils.accessor;
import net.minecraft.block.state.IBlockState;
-import net.minecraft.util.BitArray;
-import net.minecraft.world.chunk.IBlockStatePalette;
public interface IBlockStateContainer {
- IBlockStatePalette getPalette();
-
- BitArray getStorage();
-
- IBlockState getFast(int index);
-
IBlockState getAtPalette(int index);
int[] storageArray();