Search in sources :

Example 6 with CommandInvalidStateException

use of baritone.api.command.exception.CommandInvalidStateException in project Spark-Client by Spark-Client-Development.

the class ChestsCommand method execute.

@Override
public void execute(String label, IArgConsumer args) throws CommandException {
    args.requireMax(0);
    Set<Map.Entry<BlockPos, IRememberedInventory>> entries = ctx.worldData().getContainerMemory().getRememberedInventories().entrySet();
    if (entries.isEmpty()) {
        throw new CommandInvalidStateException("No remembered inventories");
    }
    for (Map.Entry<BlockPos, IRememberedInventory> entry : entries) {
        // betterblockpos has censoring
        BetterBlockPos pos = new BetterBlockPos(entry.getKey());
        IRememberedInventory inv = entry.getValue();
        logDirect(pos.toString());
        for (ItemStack item : inv.getContents()) {
            ITextComponent component = item.getTextComponent();
            component.appendText(String.format(" x %d", item.getCount()));
            logDirect(component);
        }
    }
}
Also used : IRememberedInventory(baritone.api.cache.IRememberedInventory) BetterBlockPos(baritone.api.utils.BetterBlockPos) ITextComponent(net.minecraft.util.text.ITextComponent) BlockPos(net.minecraft.util.math.BlockPos) BetterBlockPos(baritone.api.utils.BetterBlockPos) CommandInvalidStateException(baritone.api.command.exception.CommandInvalidStateException) ItemStack(net.minecraft.item.ItemStack) Map(java.util.Map)

Example 7 with CommandInvalidStateException

use of baritone.api.command.exception.CommandInvalidStateException in project Spark-Client by Spark-Client-Development.

the class ComeCommand method execute.

@Override
public void execute(String label, IArgConsumer args) throws CommandException {
    args.requireMax(0);
    Entity entity = mc.getRenderViewEntity();
    if (entity == null) {
        throw new CommandInvalidStateException("render view entity is null");
    }
    baritone.getCustomGoalProcess().setGoalAndPath(new GoalBlock(new BlockPos(entity)));
    logDirect("Coming");
}
Also used : Entity(net.minecraft.entity.Entity) GoalBlock(baritone.api.pathing.goals.GoalBlock) BlockPos(net.minecraft.util.math.BlockPos) CommandInvalidStateException(baritone.api.command.exception.CommandInvalidStateException)

Example 8 with CommandInvalidStateException

use of baritone.api.command.exception.CommandInvalidStateException in project Spark-Client by Spark-Client-Development.

the class ExploreFilterCommand method execute.

@Override
public void execute(String label, IArgConsumer args) throws CommandException {
    args.requireMax(2);
    File file = args.getDatatypePost(RelativeFile.INSTANCE, mc.gameDir.getAbsoluteFile().getParentFile());
    boolean invert = false;
    if (args.hasAny()) {
        if (args.getString().equalsIgnoreCase("invert")) {
            invert = true;
        } else {
            throw new CommandInvalidTypeException(args.consumed(), "either \"invert\" or nothing");
        }
    }
    try {
        baritone.getExploreProcess().applyJsonFilter(file.toPath().toAbsolutePath(), invert);
    } catch (NoSuchFileException e) {
        throw new CommandInvalidStateException("File not found");
    } catch (JsonSyntaxException e) {
        throw new CommandInvalidStateException("Invalid JSON syntax");
    } catch (Exception e) {
        throw new IllegalStateException(e);
    }
    logDirect(String.format("Explore filter applied. Inverted: %s", Boolean.toString(invert)));
}
Also used : JsonSyntaxException(com.google.gson.JsonSyntaxException) CommandInvalidTypeException(baritone.api.command.exception.CommandInvalidTypeException) NoSuchFileException(java.nio.file.NoSuchFileException) CommandInvalidStateException(baritone.api.command.exception.CommandInvalidStateException) File(java.io.File) RelativeFile(baritone.api.command.datatypes.RelativeFile) NoSuchFileException(java.nio.file.NoSuchFileException) JsonSyntaxException(com.google.gson.JsonSyntaxException) CommandException(baritone.api.command.exception.CommandException) CommandInvalidTypeException(baritone.api.command.exception.CommandInvalidTypeException) CommandInvalidStateException(baritone.api.command.exception.CommandInvalidStateException)

Example 9 with CommandInvalidStateException

use of baritone.api.command.exception.CommandInvalidStateException in project Spark-Client by Spark-Client-Development.

the class BlacklistCommand method execute.

@Override
public void execute(String label, IArgConsumer args) throws CommandException {
    args.requireMax(0);
    IGetToBlockProcess proc = baritone.getGetToBlockProcess();
    if (!proc.isActive()) {
        throw new CommandInvalidStateException("GetToBlockProcess is not currently active");
    }
    if (proc.blacklistClosest()) {
        logDirect("Blacklisted closest instances");
    } else {
        throw new CommandInvalidStateException("No known locations, unable to blacklist");
    }
}
Also used : IGetToBlockProcess(baritone.api.process.IGetToBlockProcess) CommandInvalidStateException(baritone.api.command.exception.CommandInvalidStateException)

Example 10 with CommandInvalidStateException

use of baritone.api.command.exception.CommandInvalidStateException in project Spark-Client by Spark-Client-Development.

the class SelCommand method execute.

@Override
public void execute(String label, IArgConsumer args) throws CommandException {
    Action action = Action.getByName(args.getString());
    if (action == null) {
        throw new CommandInvalidTypeException(args.consumed(), "an action");
    }
    if (action == Action.POS1 || action == Action.POS2) {
        if (action == Action.POS2 && pos1 == null) {
            throw new CommandInvalidStateException("Set pos1 first before using pos2");
        }
        BetterBlockPos playerPos = mc.getRenderViewEntity() != null ? BetterBlockPos.from(new BlockPos(mc.getRenderViewEntity())) : ctx.playerFeet();
        BetterBlockPos pos = args.hasAny() ? args.getDatatypePost(RelativeBlockPos.INSTANCE, playerPos) : playerPos;
        args.requireMax(0);
        if (action == Action.POS1) {
            pos1 = pos;
            logDirect("Position 1 has been set");
        } else {
            manager.addSelection(pos1, pos);
            pos1 = null;
            logDirect("Selection added");
        }
    } else if (action == Action.CLEAR) {
        args.requireMax(0);
        pos1 = null;
        logDirect(String.format("Removed %d selections", manager.removeAllSelections().length));
    } else if (action == Action.UNDO) {
        args.requireMax(0);
        if (pos1 != null) {
            pos1 = null;
            logDirect("Undid pos1");
        } else {
            ISelection[] selections = manager.getSelections();
            if (selections.length < 1) {
                throw new CommandInvalidStateException("Nothing to undo!");
            } else {
                pos1 = manager.removeSelection(selections[selections.length - 1]).pos1();
                logDirect("Undid pos2");
            }
        }
    } else if (action == Action.SET || action == Action.WALLS || action == Action.SHELL || action == Action.CLEARAREA || action == Action.REPLACE) {
        BlockOptionalMeta type = action == Action.CLEARAREA ? new BlockOptionalMeta(Blocks.AIR) : args.getDatatypeFor(ForBlockOptionalMeta.INSTANCE);
        BlockOptionalMetaLookup replaces = null;
        if (action == Action.REPLACE) {
            args.requireMin(1);
            List<BlockOptionalMeta> replacesList = new ArrayList<>();
            replacesList.add(type);
            while (args.has(2)) {
                replacesList.add(args.getDatatypeFor(ForBlockOptionalMeta.INSTANCE));
            }
            type = args.getDatatypeFor(ForBlockOptionalMeta.INSTANCE);
            replaces = new BlockOptionalMetaLookup(replacesList.toArray(new BlockOptionalMeta[0]));
        } else {
            args.requireMax(0);
        }
        ISelection[] selections = manager.getSelections();
        if (selections.length == 0) {
            throw new CommandInvalidStateException("No selections");
        }
        BetterBlockPos origin = selections[0].min();
        CompositeSchematic composite = new CompositeSchematic(0, 0, 0);
        for (ISelection selection : selections) {
            BetterBlockPos min = selection.min();
            origin = new BetterBlockPos(Math.min(origin.x, min.x), Math.min(origin.y, min.y), Math.min(origin.z, min.z));
        }
        for (ISelection selection : selections) {
            Vec3i size = selection.size();
            BetterBlockPos min = selection.min();
            ISchematic schematic = new FillSchematic(size.getX(), size.getY(), size.getZ(), type);
            if (action == Action.WALLS) {
                schematic = new WallsSchematic(schematic);
            } else if (action == Action.SHELL) {
                schematic = new ShellSchematic(schematic);
            } else if (action == Action.REPLACE) {
                schematic = new ReplaceSchematic(schematic, replaces);
            }
            composite.put(schematic, min.x - origin.x, min.y - origin.y, min.z - origin.z);
        }
        baritone.getBuilderProcess().build("Fill", composite, origin);
        logDirect("Filling now");
    } else if (action == Action.EXPAND || action == Action.CONTRACT || action == Action.SHIFT) {
        args.requireExactly(3);
        TransformTarget transformTarget = TransformTarget.getByName(args.getString());
        if (transformTarget == null) {
            throw new CommandInvalidStateException("Invalid transform type");
        }
        EnumFacing direction = args.getDatatypeFor(ForEnumFacing.INSTANCE);
        int blocks = args.getAs(Integer.class);
        ISelection[] selections = manager.getSelections();
        if (selections.length < 1) {
            throw new CommandInvalidStateException("No selections found");
        }
        selections = transformTarget.transform(selections);
        for (ISelection selection : selections) {
            if (action == Action.EXPAND) {
                manager.expand(selection, direction, blocks);
            } else if (action == Action.CONTRACT) {
                manager.contract(selection, direction, blocks);
            } else {
                manager.shift(selection, direction, blocks);
            }
        }
        logDirect(String.format("Transformed %d selections", selections.length));
    }
}
Also used : Vec3i(net.minecraft.util.math.Vec3i) CommandInvalidTypeException(baritone.api.command.exception.CommandInvalidTypeException) EnumFacing(net.minecraft.util.EnumFacing) ForEnumFacing(baritone.api.command.datatypes.ForEnumFacing) BlockOptionalMetaLookup(baritone.api.utils.BlockOptionalMetaLookup) ForBlockOptionalMeta(baritone.api.command.datatypes.ForBlockOptionalMeta) BlockOptionalMeta(baritone.api.utils.BlockOptionalMeta) BetterBlockPos(baritone.api.utils.BetterBlockPos) ISelection(baritone.api.selection.ISelection) BlockPos(net.minecraft.util.math.BlockPos) BetterBlockPos(baritone.api.utils.BetterBlockPos) RelativeBlockPos(baritone.api.command.datatypes.RelativeBlockPos) List(java.util.List) CommandInvalidStateException(baritone.api.command.exception.CommandInvalidStateException)

Aggregations

CommandInvalidStateException (baritone.api.command.exception.CommandInvalidStateException)22 BetterBlockPos (baritone.api.utils.BetterBlockPos)9 CommandInvalidTypeException (baritone.api.command.exception.CommandInvalidTypeException)7 CommandException (baritone.api.command.exception.CommandException)5 BlockPos (net.minecraft.util.math.BlockPos)5 IWaypoint (baritone.api.cache.IWaypoint)4 RelativeBlockPos (baritone.api.command.datatypes.RelativeBlockPos)4 RelativeFile (baritone.api.command.datatypes.RelativeFile)4 IPathingControlManager (baritone.api.pathing.calc.IPathingControlManager)4 Goal (baritone.api.pathing.goals.Goal)4 GoalBlock (baritone.api.pathing.goals.GoalBlock)4 IBaritoneProcess (baritone.api.process.IBaritoneProcess)4 File (java.io.File)4 ITextComponent (net.minecraft.util.text.ITextComponent)4 IBaritone (baritone.api.IBaritone)3 Command (baritone.api.command.Command)3 FORCE_COMMAND_PREFIX (baritone.api.command.IBaritoneChatControl.FORCE_COMMAND_PREFIX)3 IArgConsumer (baritone.api.command.argument.IArgConsumer)3 Paginator (baritone.api.command.helpers.Paginator)3 TabCompleteHelper (baritone.api.command.helpers.TabCompleteHelper)3