Merge commit 'ce2fc6f2514245987659b378687f795ab641cf1e' into 1.13.2

This commit is contained in:
Leijurv
2019-10-09 20:44:22 -07:00
71 changed files with 189 additions and 180 deletions
@@ -18,7 +18,7 @@
package baritone.api; package baritone.api;
import baritone.api.cache.IWorldScanner; import baritone.api.cache.IWorldScanner;
import baritone.api.command.Command; import baritone.api.command.ICommand;
import baritone.api.command.ICommandSystem; import baritone.api.command.ICommandSystem;
import net.minecraft.client.entity.EntityPlayerSP; 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} * 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. * @return The {@link ICommandSystem} instance.
*/ */
+14 -32
View File
@@ -18,10 +18,7 @@
package baritone.api.command; package baritone.api.command;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.utils.Helper;
import baritone.api.utils.IPlayerContext; 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.Collections;
import java.util.List; import java.util.List;
@@ -29,7 +26,19 @@ import java.util.Locale;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; 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.
* <p>
* 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 IBaritone baritone;
protected IPlayerContext ctx; protected IPlayerContext ctx;
@@ -52,34 +61,7 @@ public abstract class Command implements Helper {
this.ctx = baritone.getPlayerContext(); this.ctx = baritone.getPlayerContext();
} }
/** @Override
* 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<String> tabComplete(String label, IArgConsumer args) throws CommandException;
/**
* @return A <b>single-line</b> 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<String> getLongDesc();
/**
* @return {@code true} if this command should be hidden from the help menu
*/
public boolean hiddenFromHelp() {
return false;
}
public final List<String> getNames() { public final List<String> getNames() {
return this.names; return this.names;
} }
@@ -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 <https://www.gnu.org/licenses/>.
*/
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<String> tabComplete(String label, IArgConsumer args) throws CommandException;
/**
* @return A <b>single-line</b> 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<String> getLongDesc();
/**
* @return A list of the names that can be accepted to have arguments passed to this command
*/
List<String> getNames();
/**
* @return {@code true} if this command should be hidden from the help menu
*/
default boolean hiddenFromHelp() {
return false;
}
}
@@ -22,6 +22,10 @@ import baritone.api.command.exception.CommandInvalidTypeException;
import baritone.api.command.registry.Registry; 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 * @author Brady
* @since 10/4/2019 * @since 10/4/2019
*/ */
@@ -15,13 +15,12 @@
* along with Baritone. If not, see <https://www.gnu.org/licenses/>. * along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/ */
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.command.exception.CommandTooManyArgumentsException;
import baritone.api.utils.Helper; import baritone.api.utils.Helper;
import baritone.api.command.argparser.IArgParser; import baritone.api.command.argparser.IArgParser;
import baritone.api.command.argument.ICommandArgument;
import baritone.api.command.datatypes.IDatatype; import baritone.api.command.datatypes.IDatatype;
import baritone.api.command.datatypes.IDatatypeFor; import baritone.api.command.datatypes.IDatatypeFor;
import baritone.api.command.datatypes.IDatatypePost; import baritone.api.command.datatypes.IDatatypePost;
@@ -35,7 +34,7 @@ import java.util.LinkedList;
import java.util.stream.Stream; 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:
* *
* <ul> * <ul>
* <li>Mutability. The whole concept of the {@link IArgConsumer}} is to let you gradually consume arguments in any way * <li>Mutability. The whole concept of the {@link IArgConsumer}} is to let you gradually consume arguments in any way
@@ -17,7 +17,6 @@
package baritone.api.command.argument; package baritone.api.command.argument;
import baritone.api.command.helpers.arguments.IArgConsumer;
import baritone.api.command.argparser.IArgParser; import baritone.api.command.argparser.IArgParser;
import baritone.api.command.exception.CommandInvalidTypeException; import baritone.api.command.exception.CommandInvalidTypeException;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes; 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 baritone.api.command.exception.CommandException;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
@@ -18,7 +18,7 @@
package baritone.api.command.datatypes; package baritone.api.command.datatypes;
import baritone.api.command.exception.CommandException; 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.entity.EntityType;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.registry.IRegistry; import net.minecraft.util.registry.IRegistry;
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes; 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 baritone.api.command.exception.CommandException;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
@@ -20,7 +20,7 @@ package baritone.api.command.datatypes;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.cache.IWaypoint; import baritone.api.cache.IWaypoint;
import baritone.api.cache.IWaypointCollection; 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 baritone.api.command.exception.CommandException;
import java.util.Comparator; import java.util.Comparator;
@@ -18,7 +18,7 @@
package baritone.api.command.datatypes; package baritone.api.command.datatypes;
import baritone.api.command.argparser.IArgParser; 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 baritone.api.command.exception.CommandException;
import java.util.stream.Stream; import java.util.stream.Stream;
@@ -18,7 +18,7 @@
package baritone.api.command.datatypes; package baritone.api.command.datatypes;
import baritone.api.IBaritone; 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 * Provides an {@link IDatatype} with contextual information so
@@ -18,7 +18,7 @@
package baritone.api.command.datatypes; package baritone.api.command.datatypes;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.helpers.tabcomplete.TabCompleteHelper; import baritone.api.command.helpers.TabCompleteHelper;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes; 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.utils.BetterBlockPos;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes; 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 baritone.api.command.exception.CommandException;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes; 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 baritone.api.command.exception.CommandException;
import java.io.File; import java.io.File;
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes; 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.Goal;
import baritone.api.pathing.goals.GoalBlock; import baritone.api.pathing.goals.GoalBlock;
import baritone.api.pathing.goals.GoalXZ; import baritone.api.pathing.goals.GoalXZ;
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes; 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.pathing.goals.GoalBlock;
import baritone.api.utils.BetterBlockPos; import baritone.api.utils.BetterBlockPos;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes; 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.pathing.goals.GoalXZ;
import baritone.api.utils.BetterBlockPos; import baritone.api.utils.BetterBlockPos;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
@@ -17,7 +17,7 @@
package baritone.api.command.datatypes; 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.pathing.goals.GoalYLevel;
import baritone.api.utils.BetterBlockPos; import baritone.api.utils.BetterBlockPos;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
@@ -17,7 +17,7 @@
package baritone.api.command.exception; package baritone.api.command.exception;
import baritone.api.command.Command; import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument; import baritone.api.command.argument.ICommandArgument;
import java.util.List; import java.util.List;
@@ -34,7 +34,7 @@ public class CommandNotFoundException extends CommandException {
} }
@Override @Override
public void handle(Command command, List<ICommandArgument> args) { public void handle(ICommand command, List<ICommandArgument> args) {
HELPER.logDirect(getMessage()); HELPER.logDirect(getMessage());
} }
} }
@@ -17,7 +17,7 @@
package baritone.api.command.exception; package baritone.api.command.exception;
import baritone.api.command.Command; import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument; import baritone.api.command.argument.ICommandArgument;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -36,7 +36,7 @@ public class CommandUnhandledException extends RuntimeException implements IComm
} }
@Override @Override
public void handle(Command command, List<ICommandArgument> args) { public void handle(ICommand command, List<ICommandArgument> args) {
HELPER.logDirect("An unhandled exception occurred." + HELPER.logDirect("An unhandled exception occurred." +
"The error is in your game's log, please report this at https://github.com/cabaletta/baritone/issues", "The error is in your game's log, please report this at https://github.com/cabaletta/baritone/issues",
TextFormatting.RED); TextFormatting.RED);
@@ -17,7 +17,7 @@
package baritone.api.command.exception; package baritone.api.command.exception;
import baritone.api.command.Command; import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument; import baritone.api.command.argument.ICommandArgument;
import net.minecraft.util.text.TextFormatting; 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 * 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. * to the user for diagnosing issues that may have occurred during execution.
* <p> * <p>
* Anything implementing this interface should be assignable to {@link Exception}. * 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 command The command that threw it.
* @param args The arguments the command was called with. * @param args The arguments the command was called with.
*/ */
default void handle(Command command, List<ICommandArgument> args) { default void handle(ICommand command, List<ICommandArgument> args) {
HELPER.logDirect(this.getMessage(), TextFormatting.RED); HELPER.logDirect(this.getMessage(), TextFormatting.RED);
} }
} }
@@ -15,12 +15,12 @@
* along with Baritone. If not, see <https://www.gnu.org/licenses/>. * along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/ */
package baritone.api.command.helpers.pagination; package baritone.api.command.helpers;
import baritone.api.utils.Helper; import baritone.api.utils.Helper;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidTypeException; 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.ITextComponent;
import net.minecraft.util.text.TextComponentString; import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -15,13 +15,13 @@
* along with Baritone. If not, see <https://www.gnu.org/licenses/>. * along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/ */
package baritone.api.command.helpers.tabcomplete; package baritone.api.command.helpers;
import baritone.api.BaritoneAPI; import baritone.api.BaritoneAPI;
import baritone.api.Settings; import baritone.api.Settings;
import baritone.api.event.events.TabCompleteEvent; import baritone.api.event.events.TabCompleteEvent;
import baritone.api.utils.SettingsUtil; 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 baritone.api.command.manager.ICommandManager;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
@@ -18,7 +18,7 @@
package baritone.api.command.manager; package baritone.api.command.manager;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument; import baritone.api.command.argument.ICommandArgument;
import baritone.api.command.registry.Registry; import baritone.api.command.registry.Registry;
import net.minecraft.util.Tuple; import net.minecraft.util.Tuple;
@@ -34,13 +34,13 @@ public interface ICommandManager {
IBaritone getBaritone(); IBaritone getBaritone();
Registry<Command> getRegistry(); Registry<ICommand> getRegistry();
/** /**
* @param name The command name to search for. * @param name The command name to search for.
* @return The command, if found. * @return The command, if found.
*/ */
Command getCommand(String name); ICommand getCommand(String name);
boolean execute(String string); boolean execute(String string);
@@ -27,6 +27,9 @@ import java.util.Arrays;
import java.util.stream.Stream; 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 * @author Brady
* @since 8/1/2018 * @since 8/1/2018
*/ */
@@ -43,30 +43,6 @@ public abstract class MixinBitArray implements IBitArray {
@Final @Final
private int arraySize; 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 @Override
@Unique @Unique
public int[] toArray() { public int[] toArray() {
@@ -25,8 +25,6 @@ import net.minecraft.world.chunk.BlockStateContainer;
import net.minecraft.world.chunk.IBlockStatePalette; import net.minecraft.world.chunk.IBlockStatePalette;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(BlockStateContainer.class) @Mixin(BlockStateContainer.class)
public abstract class MixinBlockStateContainer implements IBlockStateContainer { public abstract class MixinBlockStateContainer implements IBlockStateContainer {
@@ -37,20 +35,6 @@ public abstract class MixinBlockStateContainer implements IBlockStateContainer {
@Shadow @Shadow
protected IBlockStatePalette<IBlockState> palette; protected IBlockStatePalette<IBlockState> 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 @Override
public IBlockState getAtPalette(int index) { public IBlockState getAtPalette(int index) {
return palette.get(index); return palette.get(index);
@@ -29,8 +29,8 @@ import baritone.api.utils.SettingsUtil;
import baritone.api.command.argument.ICommandArgument; import baritone.api.command.argument.ICommandArgument;
import baritone.api.command.exception.CommandNotEnoughArgumentsException; import baritone.api.command.exception.CommandNotEnoughArgumentsException;
import baritone.api.command.exception.CommandNotFoundException; import baritone.api.command.exception.CommandNotFoundException;
import baritone.command.helpers.arguments.ArgConsumer; import baritone.command.argument.ArgConsumer;
import baritone.api.command.helpers.tabcomplete.TabCompleteHelper; import baritone.api.command.helpers.TabCompleteHelper;
import baritone.api.command.manager.ICommandManager; import baritone.api.command.manager.ICommandManager;
import baritone.command.argument.CommandArguments; import baritone.command.argument.CommandArguments;
import baritone.command.manager.CommandManager; import baritone.command.manager.CommandManager;
@@ -15,7 +15,7 @@
* along with Baritone. If not, see <https://www.gnu.org/licenses/>. * along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/ */
package baritone.command.helpers.arguments; package baritone.command.argument;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.argument.ICommandArgument; 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.CommandInvalidTypeException;
import baritone.api.command.exception.CommandNotEnoughArgumentsException; import baritone.api.command.exception.CommandNotEnoughArgumentsException;
import baritone.api.command.exception.CommandTooManyArgumentsException; 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.api.command.manager.ICommandManager;
import baritone.command.argument.CommandArguments;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Deque; import java.util.Deque;
@@ -22,7 +22,7 @@ import baritone.api.pathing.goals.Goal;
import baritone.api.pathing.goals.GoalAxis; import baritone.api.pathing.goals.GoalAxis;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -22,7 +22,7 @@ import baritone.api.process.IGetToBlockProcess;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -24,7 +24,7 @@ import baritone.api.command.datatypes.RelativeBlockPos;
import baritone.api.command.datatypes.RelativeFile; import baritone.api.command.datatypes.RelativeFile;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; 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 net.minecraft.client.Minecraft;
import java.io.File; import java.io.File;
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -23,7 +23,7 @@ import baritone.api.utils.BetterBlockPos;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; 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.item.ItemStack;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -22,7 +22,7 @@ import baritone.api.pathing.goals.GoalBlock;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; 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.entity.Entity;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@@ -19,7 +19,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; 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.Collections;
import java.util.List; import java.util.List;
@@ -18,7 +18,7 @@
package baritone.command.defaults; package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.ICommand;
import java.util.*; import java.util.*;
@@ -26,9 +26,9 @@ public final class DefaultCommands {
private DefaultCommands() {} private DefaultCommands() {}
public static List<Command> createAll(IBaritone baritone) { public static List<ICommand> createAll(IBaritone baritone) {
Objects.requireNonNull(baritone); Objects.requireNonNull(baritone);
List<Command> commands = new ArrayList<>(Arrays.asList( List<ICommand> commands = new ArrayList<>(Arrays.asList(
new HelpCommand(baritone), new HelpCommand(baritone),
new SetCommand(baritone), new SetCommand(baritone),
new CommandAlias(baritone, Arrays.asList("modified", "mod", "baritone", "modifiedsettings"), "List modified settings", "set modified"), new CommandAlias(baritone, Arrays.asList("modified", "mod", "baritone", "modifiedsettings"), "List modified settings", "set modified"),
@@ -22,7 +22,7 @@ import baritone.api.pathing.goals.GoalXZ;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.datatypes.RelativeGoalXZ; import baritone.api.command.datatypes.RelativeGoalXZ;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -23,7 +23,7 @@ import baritone.api.command.datatypes.RelativeFile;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; import baritone.api.command.exception.CommandInvalidStateException;
import baritone.api.command.exception.CommandInvalidTypeException; 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 com.google.gson.JsonSyntaxException;
import java.io.File; import java.io.File;
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -22,7 +22,7 @@ import baritone.api.utils.BetterBlockPos;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.datatypes.BlockById; import baritone.api.command.datatypes.BlockById;
import baritone.api.command.exception.CommandException; 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.block.Block;
import net.minecraft.util.registry.IRegistry; import net.minecraft.util.registry.IRegistry;
@@ -23,8 +23,8 @@ import baritone.api.command.datatypes.EntityClassById;
import baritone.api.command.datatypes.IDatatypeFor; import baritone.api.command.datatypes.IDatatypeFor;
import baritone.api.command.datatypes.NearbyPlayer; import baritone.api.command.datatypes.NearbyPlayer;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.helpers.arguments.IArgConsumer; import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.helpers.tabcomplete.TabCompleteHelper; import baritone.api.command.helpers.TabCompleteHelper;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityType; import net.minecraft.entity.EntityType;
@@ -21,7 +21,7 @@ import baritone.api.IBaritone;
import baritone.api.behavior.IPathingBehavior; import baritone.api.behavior.IPathingBehavior;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -25,8 +25,8 @@ import baritone.api.command.Command;
import baritone.api.command.datatypes.RelativeCoordinate; import baritone.api.command.datatypes.RelativeCoordinate;
import baritone.api.command.datatypes.RelativeGoal; import baritone.api.command.datatypes.RelativeGoal;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.helpers.arguments.IArgConsumer; import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.helpers.tabcomplete.TabCompleteHelper; import baritone.api.command.helpers.TabCompleteHelper;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -24,7 +24,7 @@ import baritone.api.command.datatypes.ForBlockOptionalMeta;
import baritone.api.command.datatypes.RelativeCoordinate; import baritone.api.command.datatypes.RelativeCoordinate;
import baritone.api.command.datatypes.RelativeGoal; import baritone.api.command.datatypes.RelativeGoal;
import baritone.api.command.exception.CommandException; 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.pathing.goals.Goal;
import baritone.api.utils.BetterBlockPos; import baritone.api.utils.BetterBlockPos;
import baritone.api.utils.BlockOptionalMeta; import baritone.api.utils.BlockOptionalMeta;
@@ -19,11 +19,12 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.ICommand;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandNotFoundException; import baritone.api.command.exception.CommandNotFoundException;
import baritone.api.command.helpers.arguments.IArgConsumer; import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.helpers.pagination.Paginator; import baritone.api.command.helpers.Paginator;
import baritone.api.command.helpers.tabcomplete.TabCompleteHelper; import baritone.api.command.helpers.TabCompleteHelper;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentString; import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -79,7 +80,7 @@ public class HelpCommand extends Command {
); );
} else { } else {
String commandName = args.getString().toLowerCase(); String commandName = args.getString().toLowerCase();
Command command = this.baritone.getCommandManager().getCommand(commandName); ICommand command = this.baritone.getCommandManager().getCommand(commandName);
if (command == null) { if (command == null) {
throw new CommandNotFoundException(commandName); throw new CommandNotFoundException(commandName);
} }
@@ -24,7 +24,7 @@ import baritone.api.process.ICustomGoalProcess;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -23,7 +23,7 @@ import baritone.api.command.Command;
import baritone.api.command.datatypes.BlockById; import baritone.api.command.datatypes.BlockById;
import baritone.api.command.datatypes.ForBlockOptionalMeta; import baritone.api.command.datatypes.ForBlockOptionalMeta;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.helpers.arguments.IArgConsumer; import baritone.api.command.argument.IArgConsumer;
import baritone.cache.WorldScanner; import baritone.cache.WorldScanner;
import java.util.ArrayList; import java.util.ArrayList;
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.api.process.ICustomGoalProcess;
import baritone.cache.WorldScanner; import baritone.cache.WorldScanner;
@@ -24,7 +24,7 @@ import baritone.api.process.PathingCommandType;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -24,7 +24,7 @@ import baritone.api.process.PathingCommand;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -21,7 +21,7 @@ import baritone.api.IBaritone;
import baritone.api.utils.BetterBlockPos; import baritone.api.utils.BetterBlockPos;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.helpers.arguments.IArgConsumer; import baritone.api.command.argument.IArgConsumer;
import baritone.cache.WorldScanner; import baritone.cache.WorldScanner;
import java.util.Arrays; import java.util.Arrays;
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -20,7 +20,7 @@ package baritone.command.defaults;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -35,8 +35,8 @@ import baritone.api.command.datatypes.RelativeBlockPos;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; import baritone.api.command.exception.CommandInvalidStateException;
import baritone.api.command.exception.CommandInvalidTypeException; import baritone.api.command.exception.CommandInvalidTypeException;
import baritone.api.command.helpers.arguments.IArgConsumer; import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.helpers.tabcomplete.TabCompleteHelper; import baritone.api.command.helpers.TabCompleteHelper;
import baritone.utils.IRenderer; import baritone.utils.IRenderer;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
@@ -24,9 +24,9 @@ import baritone.api.utils.SettingsUtil;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidTypeException; import baritone.api.command.exception.CommandInvalidTypeException;
import baritone.api.command.helpers.arguments.IArgConsumer; import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.helpers.pagination.Paginator; import baritone.api.command.helpers.Paginator;
import baritone.api.command.helpers.tabcomplete.TabCompleteHelper; import baritone.api.command.helpers.TabCompleteHelper;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentString; import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -21,7 +21,7 @@ import baritone.api.IBaritone;
import baritone.api.pathing.goals.GoalXZ; import baritone.api.pathing.goals.GoalXZ;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -22,7 +22,7 @@ import baritone.api.pathing.goals.Goal;
import baritone.api.pathing.goals.GoalStrictDirection; import baritone.api.pathing.goals.GoalStrictDirection;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -21,7 +21,7 @@ import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.Command;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; 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.Arrays;
import java.util.List; import java.util.List;
@@ -29,9 +29,9 @@ import baritone.api.command.datatypes.RelativeBlockPos;
import baritone.api.command.exception.CommandException; import baritone.api.command.exception.CommandException;
import baritone.api.command.exception.CommandInvalidStateException; import baritone.api.command.exception.CommandInvalidStateException;
import baritone.api.command.exception.CommandInvalidTypeException; import baritone.api.command.exception.CommandInvalidTypeException;
import baritone.api.command.helpers.arguments.IArgConsumer; import baritone.api.command.argument.IArgConsumer;
import baritone.api.command.helpers.pagination.Paginator; import baritone.api.command.helpers.Paginator;
import baritone.api.command.helpers.tabcomplete.TabCompleteHelper; import baritone.api.command.helpers.TabCompleteHelper;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TextComponentString; import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
@@ -19,22 +19,23 @@ package baritone.command.manager;
import baritone.Baritone; import baritone.Baritone;
import baritone.api.IBaritone; import baritone.api.IBaritone;
import baritone.api.command.Command; import baritone.api.command.ICommand;
import baritone.api.command.argument.ICommandArgument; import baritone.api.command.argument.ICommandArgument;
import baritone.api.command.exception.CommandUnhandledException; import baritone.api.command.exception.CommandUnhandledException;
import baritone.api.command.exception.ICommandException; 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.manager.ICommandManager;
import baritone.api.command.registry.Registry; import baritone.api.command.registry.Registry;
import baritone.command.argument.ArgConsumer;
import baritone.command.argument.CommandArguments; import baritone.command.argument.CommandArguments;
import baritone.command.defaults.DefaultCommands; import baritone.command.defaults.DefaultCommands;
import baritone.command.helpers.arguments.ArgConsumer;
import net.minecraft.util.Tuple; import net.minecraft.util.Tuple;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.stream.Stream; import java.util.stream.Stream;
/** /**
* The default, internal implementation of {@link ICommandManager} * The default, internal implementation of {@link ICommandManager}
* *
@@ -43,7 +44,7 @@ import java.util.stream.Stream;
*/ */
public class CommandManager implements ICommandManager { public class CommandManager implements ICommandManager {
private final Registry<Command> registry = new Registry<>(); private final Registry<ICommand> registry = new Registry<>();
private final Baritone baritone; private final Baritone baritone;
public CommandManager(Baritone baritone) { public CommandManager(Baritone baritone) {
@@ -57,13 +58,13 @@ public class CommandManager implements ICommandManager {
} }
@Override @Override
public Registry<Command> getRegistry() { public Registry<ICommand> getRegistry() {
return this.registry; return this.registry;
} }
@Override @Override
public Command getCommand(String name) { public ICommand getCommand(String name) {
for (Command command : this.registry.entries) { for (ICommand command : this.registry.entries) {
if (command.getNames().contains(name.toLowerCase(Locale.US))) { if (command.getNames().contains(name.toLowerCase(Locale.US))) {
return command; return command;
} }
@@ -110,7 +111,7 @@ public class CommandManager implements ICommandManager {
String label = expanded.getA(); String label = expanded.getA();
ArgConsumer args = new ArgConsumer(this, expanded.getB()); 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); return command == null ? null : new ExecutionWrapper(command, label, args);
} }
@@ -126,11 +127,11 @@ public class CommandManager implements ICommandManager {
private static final class ExecutionWrapper { private static final class ExecutionWrapper {
private Command command; private ICommand command;
private String label; private String label;
private ArgConsumer args; private ArgConsumer args;
private ExecutionWrapper(Command command, String label, ArgConsumer args) { private ExecutionWrapper(ICommand command, String label, ArgConsumer args) {
this.command = command; this.command = command;
this.label = label; this.label = label;
this.args = args; this.args = args;
@@ -195,7 +195,7 @@ public class MovementPillar extends Movement {
if (ladder) { if (ladder) {
BlockPos against = vine ? getAgainst(new CalculationContext(baritone), src) : src.offset(fromDown.get(BlockLadder.FACING).getOpposite()); BlockPos against = vine ? getAgainst(new CalculationContext(baritone), src) : src.offset(fromDown.get(BlockLadder.FACING).getOpposite());
if (against == null) { if (against == null) {
logDebug("Unable to climb vines"); logDirect("Unable to climb vines. Consider disabling allowVines.");
return state.setStatus(MovementStatus.UNREACHABLE); return state.setStatus(MovementStatus.UNREACHABLE);
} }
@@ -264,6 +264,10 @@ public class MovementTraverse extends Movement {
BlockPos against = positionsToBreak[0]; BlockPos against = positionsToBreak[0];
if (feet.getY() != dest.getY() && ladder && (destDown.getBlock() == Blocks.VINE || destDown.getBlock() == Blocks.LADDER)) { 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()); 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); MovementHelper.moveTowards(ctx, state, against);
return state; return state;
@@ -2,7 +2,5 @@ package baritone.utils.accessor;
public interface IBitArray { public interface IBitArray {
int getAtFast(int index);
int[] toArray(); int[] toArray();
} }
@@ -1,17 +1,9 @@
package baritone.utils.accessor; package baritone.utils.accessor;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.util.BitArray;
import net.minecraft.world.chunk.IBlockStatePalette;
public interface IBlockStateContainer { public interface IBlockStateContainer {
IBlockStatePalette getPalette();
BitArray getStorage();
IBlockState getFast(int index);
IBlockState getAtPalette(int index); IBlockState getAtPalette(int index);
int[] storageArray(); int[] storageArray();