Search in sources :

Example 1 with Paginator

use of baritone.api.command.helpers.Paginator in project baritone by cabaletta.

the class HelpCommand method execute.

@Override
public void execute(String label, IArgConsumer args) throws CommandException {
    args.requireMax(1);
    if (!args.hasAny() || args.is(Integer.class)) {
        Paginator.paginate(args, new Paginator<>(this.baritone.getCommandManager().getRegistry().descendingStream().filter(command -> !command.hiddenFromHelp()).collect(Collectors.toList())), () -> logDirect("All Baritone commands (clickable):"), command -> {
            String names = String.join("/", command.getNames());
            String name = command.getNames().get(0);
            ITextComponent shortDescComponent = new TextComponentString(" - " + command.getShortDesc());
            shortDescComponent.getStyle().setColor(TextFormatting.DARK_GRAY);
            ITextComponent namesComponent = new TextComponentString(names);
            namesComponent.getStyle().setColor(TextFormatting.WHITE);
            ITextComponent hoverComponent = new TextComponentString("");
            hoverComponent.getStyle().setColor(TextFormatting.GRAY);
            hoverComponent.appendSibling(namesComponent);
            hoverComponent.appendText("\n" + command.getShortDesc());
            hoverComponent.appendText("\n\nClick to view full help");
            String clickCommand = FORCE_COMMAND_PREFIX + String.format("%s %s", label, command.getNames().get(0));
            ITextComponent component = new TextComponentString(name);
            component.getStyle().setColor(TextFormatting.GRAY);
            component.appendSibling(shortDescComponent);
            component.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverComponent)).setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, clickCommand));
            return component;
        }, FORCE_COMMAND_PREFIX + label);
    } else {
        String commandName = args.getString().toLowerCase();
        ICommand command = this.baritone.getCommandManager().getCommand(commandName);
        if (command == null) {
            throw new CommandNotFoundException(commandName);
        }
        logDirect(String.format("%s - %s", String.join(" / ", command.getNames()), command.getShortDesc()));
        logDirect("");
        command.getLongDesc().forEach(this::logDirect);
        logDirect("");
        ITextComponent returnComponent = new TextComponentString("Click to return to the help menu");
        returnComponent.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, FORCE_COMMAND_PREFIX + label));
        logDirect(returnComponent);
    }
}
Also used : Arrays(java.util.Arrays) CommandNotFoundException(baritone.api.command.exception.CommandNotFoundException) TabCompleteHelper(baritone.api.command.helpers.TabCompleteHelper) Command(baritone.api.command.Command) CommandException(baritone.api.command.exception.CommandException) TextFormatting(net.minecraft.util.text.TextFormatting) Paginator(baritone.api.command.helpers.Paginator) ClickEvent(net.minecraft.util.text.event.ClickEvent) IArgConsumer(baritone.api.command.argument.IArgConsumer) Collectors(java.util.stream.Collectors) FORCE_COMMAND_PREFIX(baritone.api.command.IBaritoneChatControl.FORCE_COMMAND_PREFIX) ITextComponent(net.minecraft.util.text.ITextComponent) TextComponentString(net.minecraft.util.text.TextComponentString) IBaritone(baritone.api.IBaritone) List(java.util.List) Stream(java.util.stream.Stream) HoverEvent(net.minecraft.util.text.event.HoverEvent) ICommand(baritone.api.command.ICommand) HoverEvent(net.minecraft.util.text.event.HoverEvent) ICommand(baritone.api.command.ICommand) ClickEvent(net.minecraft.util.text.event.ClickEvent) ITextComponent(net.minecraft.util.text.ITextComponent) TextComponentString(net.minecraft.util.text.TextComponentString) CommandNotFoundException(baritone.api.command.exception.CommandNotFoundException) TextComponentString(net.minecraft.util.text.TextComponentString)

Example 2 with Paginator

use of baritone.api.command.helpers.Paginator in project Spark-Client by Spark-Client-Development.

the class HelpCommand method execute.

@Override
public void execute(String label, IArgConsumer args) throws CommandException {
    args.requireMax(1);
    if (!args.hasAny() || args.is(Integer.class)) {
        Paginator.paginate(args, new Paginator<>(this.baritone.getCommandManager().getRegistry().descendingStream().filter(command -> !command.hiddenFromHelp()).collect(Collectors.toList())), () -> logDirect("All Baritone commands (clickable):"), command -> {
            String names = String.join("/", command.getNames());
            String name = command.getNames().get(0);
            ITextComponent shortDescComponent = new TextComponentString(" - " + command.getShortDesc());
            shortDescComponent.getStyle().setColor(TextFormatting.DARK_GRAY);
            ITextComponent namesComponent = new TextComponentString(names);
            namesComponent.getStyle().setColor(TextFormatting.WHITE);
            ITextComponent hoverComponent = new TextComponentString("");
            hoverComponent.getStyle().setColor(TextFormatting.GRAY);
            hoverComponent.appendSibling(namesComponent);
            hoverComponent.appendText("\n" + command.getShortDesc());
            hoverComponent.appendText("\n\nClick to view full help");
            String clickCommand = FORCE_COMMAND_PREFIX + String.format("%s %s", label, command.getNames().get(0));
            ITextComponent component = new TextComponentString(name);
            component.getStyle().setColor(TextFormatting.GRAY);
            component.appendSibling(shortDescComponent);
            component.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverComponent)).setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, clickCommand));
            return component;
        }, FORCE_COMMAND_PREFIX + label);
    } else {
        String commandName = args.getString().toLowerCase();
        ICommand command = this.baritone.getCommandManager().getCommand(commandName);
        if (command == null) {
            throw new CommandNotFoundException(commandName);
        }
        logDirect(String.format("%s - %s", String.join(" / ", command.getNames()), command.getShortDesc()));
        logDirect("");
        command.getLongDesc().forEach(this::logDirect);
        logDirect("");
        ITextComponent returnComponent = new TextComponentString("Click to return to the help menu");
        returnComponent.getStyle().setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, FORCE_COMMAND_PREFIX + label));
        logDirect(returnComponent);
    }
}
Also used : Arrays(java.util.Arrays) CommandNotFoundException(baritone.api.command.exception.CommandNotFoundException) TabCompleteHelper(baritone.api.command.helpers.TabCompleteHelper) Command(baritone.api.command.Command) CommandException(baritone.api.command.exception.CommandException) TextFormatting(net.minecraft.util.text.TextFormatting) Paginator(baritone.api.command.helpers.Paginator) ClickEvent(net.minecraft.util.text.event.ClickEvent) IArgConsumer(baritone.api.command.argument.IArgConsumer) Collectors(java.util.stream.Collectors) FORCE_COMMAND_PREFIX(baritone.api.command.IBaritoneChatControl.FORCE_COMMAND_PREFIX) ITextComponent(net.minecraft.util.text.ITextComponent) TextComponentString(net.minecraft.util.text.TextComponentString) IBaritone(baritone.api.IBaritone) List(java.util.List) Stream(java.util.stream.Stream) HoverEvent(net.minecraft.util.text.event.HoverEvent) ICommand(baritone.api.command.ICommand) HoverEvent(net.minecraft.util.text.event.HoverEvent) ICommand(baritone.api.command.ICommand) ClickEvent(net.minecraft.util.text.event.ClickEvent) ITextComponent(net.minecraft.util.text.ITextComponent) TextComponentString(net.minecraft.util.text.TextComponentString) CommandNotFoundException(baritone.api.command.exception.CommandNotFoundException) TextComponentString(net.minecraft.util.text.TextComponentString)

Example 3 with Paginator

use of baritone.api.command.helpers.Paginator in project Spark-Client by Spark-Client-Development.

the class SetCommand method execute.

@Override
public void execute(String label, IArgConsumer args) throws CommandException {
    String arg = args.hasAny() ? args.getString().toLowerCase(Locale.US) : "list";
    if (Arrays.asList("s", "save").contains(arg)) {
        SettingsUtil.save(Baritone.settings());
        logDirect("Settings saved");
        return;
    }
    boolean viewModified = Arrays.asList("m", "mod", "modified").contains(arg);
    boolean viewAll = Arrays.asList("all", "l", "list").contains(arg);
    boolean paginate = viewModified || viewAll;
    if (paginate) {
        String search = args.hasAny() && args.peekAsOrNull(Integer.class) == null ? args.getString() : "";
        args.requireMax(1);
        List<? extends Settings.Setting> toPaginate = (viewModified ? SettingsUtil.modifiedSettings(Baritone.settings()) : Baritone.settings().allSettings).stream().filter(s -> !s.getName().equals("logger")).filter(s -> s.getName().toLowerCase(Locale.US).contains(search.toLowerCase(Locale.US))).sorted((s1, s2) -> String.CASE_INSENSITIVE_ORDER.compare(s1.getName(), s2.getName())).collect(Collectors.toList());
        Paginator.paginate(args, new Paginator<>(toPaginate), () -> logDirect(!search.isEmpty() ? String.format("All %ssettings containing the string '%s':", viewModified ? "modified " : "", search) : String.format("All %ssettings:", viewModified ? "modified " : "")), setting -> {
            ITextComponent typeComponent = new TextComponentString(String.format(" (%s)", settingTypeToString(setting)));
            typeComponent.getStyle().setColor(TextFormatting.DARK_GRAY);
            ITextComponent hoverComponent = new TextComponentString("");
            hoverComponent.getStyle().setColor(TextFormatting.GRAY);
            hoverComponent.appendText(setting.getName());
            hoverComponent.appendText(String.format("\nType: %s", settingTypeToString(setting)));
            hoverComponent.appendText(String.format("\n\nValue:\n%s", settingValueToString(setting)));
            hoverComponent.appendText(String.format("\n\nDefault Value:\n%s", settingDefaultToString(setting)));
            String commandSuggestion = Baritone.settings().prefix.getValue() + String.format("set %s ", setting.getName());
            ITextComponent component = new TextComponentString(setting.getName());
            component.getStyle().setColor(TextFormatting.GRAY);
            component.appendSibling(typeComponent);
            component.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverComponent)).setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, commandSuggestion));
            return component;
        }, FORCE_COMMAND_PREFIX + "set " + arg + " " + search);
        return;
    }
    args.requireMax(1);
    boolean resetting = arg.equalsIgnoreCase("reset");
    boolean toggling = arg.equalsIgnoreCase("toggle");
    boolean doingSomething = resetting || toggling;
    if (resetting) {
        if (!args.hasAny()) {
            logDirect("Please specify 'all' as an argument to reset to confirm you'd really like to do this");
            logDirect("ALL settings will be reset. Use the 'set modified' or 'modified' commands to see what will be reset.");
            logDirect("Specify a setting name instead of 'all' to only reset one setting");
        } else if (args.peekString().equalsIgnoreCase("all")) {
            SettingsUtil.modifiedSettings(Baritone.settings()).forEach(Settings.Setting::reset);
            logDirect("All settings have been reset to their default values");
            SettingsUtil.save(Baritone.settings());
            return;
        }
    }
    if (toggling) {
        args.requireMin(1);
    }
    String settingName = doingSomething ? args.getString() : arg;
    Settings.Setting<?> setting = Baritone.settings().allSettings.stream().filter(s -> s.getName().equalsIgnoreCase(settingName)).findFirst().orElse(null);
    if (setting == null) {
        throw new CommandInvalidTypeException(args.consumed(), "a valid setting");
    }
    if (!doingSomething && !args.hasAny()) {
        logDirect(String.format("Value of setting %s:", setting.getName()));
        logDirect(settingValueToString(setting));
    } else {
        String oldValue = settingValueToString(setting);
        if (resetting) {
            setting.reset();
        } else if (toggling) {
            if (setting.getValueClass() != Boolean.class) {
                throw new CommandInvalidTypeException(args.consumed(), "a toggleable setting", "some other setting");
            }
            // noinspection unchecked
            setting.toggle();
            logDirect(String.format("Toggled setting %s to %s", setting.getName(), Boolean.toString((Boolean) setting.getValue())));
        } else {
            String newValue = args.getString();
            try {
                SettingsUtil.parseAndApply(Baritone.settings(), arg, newValue);
            } catch (Throwable t) {
                t.printStackTrace();
                throw new CommandInvalidTypeException(args.consumed(), "a valid value", t);
            }
        }
        if (!toggling) {
            logDirect(String.format("Successfully %s %s to %s", resetting ? "reset" : "set", setting.getName(), settingValueToString(setting)));
        }
        ITextComponent oldValueComponent = new TextComponentString(String.format("Old value: %s", oldValue));
        oldValueComponent.getStyle().setColor(TextFormatting.GRAY).setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponentString("Click to set the setting back to this value"))).setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, FORCE_COMMAND_PREFIX + String.format("set %s %s", setting.getName(), oldValue)));
        logDirect(oldValueComponent);
        if ((setting.getName().equals("chatControl") && !(Boolean) setting.getValue() && !Baritone.settings().chatControlAnyway.getValue()) || setting.getName().equals("chatControlAnyway") && !(Boolean) setting.getValue() && !Baritone.settings().chatControl.getValue()) {
            logDirect("Warning: Chat commands will no longer work. If you want to revert this change, use prefix control (if enabled) or click the old value listed above.", TextFormatting.RED);
        } else if (setting.getName().equals("prefixControl") && !(Boolean) setting.getValue()) {
            logDirect("Warning: Prefixed commands will no longer work. If you want to revert this change, use chat control (if enabled) or click the old value listed above.", TextFormatting.RED);
        }
    }
    SettingsUtil.save(Baritone.settings());
}
Also used : Arrays(java.util.Arrays) TabCompleteHelper(baritone.api.command.helpers.TabCompleteHelper) Command(baritone.api.command.Command) CommandException(baritone.api.command.exception.CommandException) TextFormatting(net.minecraft.util.text.TextFormatting) Paginator(baritone.api.command.helpers.Paginator) ClickEvent(net.minecraft.util.text.event.ClickEvent) IArgConsumer(baritone.api.command.argument.IArgConsumer) CommandInvalidTypeException(baritone.api.command.exception.CommandInvalidTypeException) Collectors(java.util.stream.Collectors) FORCE_COMMAND_PREFIX(baritone.api.command.IBaritoneChatControl.FORCE_COMMAND_PREFIX) ITextComponent(net.minecraft.util.text.ITextComponent) TextComponentString(net.minecraft.util.text.TextComponentString) IBaritone(baritone.api.IBaritone) List(java.util.List) Stream(java.util.stream.Stream) SettingsUtil(baritone.api.utils.SettingsUtil) HoverEvent(net.minecraft.util.text.event.HoverEvent) Locale(java.util.Locale) Baritone(baritone.Baritone) Settings(baritone.api.Settings) HoverEvent(net.minecraft.util.text.event.HoverEvent) CommandInvalidTypeException(baritone.api.command.exception.CommandInvalidTypeException) ClickEvent(net.minecraft.util.text.event.ClickEvent) ITextComponent(net.minecraft.util.text.ITextComponent) TextComponentString(net.minecraft.util.text.TextComponentString) TextComponentString(net.minecraft.util.text.TextComponentString) Settings(baritone.api.Settings)

Example 4 with Paginator

use of baritone.api.command.helpers.Paginator in project baritone by cabaletta.

the class SetCommand method execute.

@Override
public void execute(String label, IArgConsumer args) throws CommandException {
    String arg = args.hasAny() ? args.getString().toLowerCase(Locale.US) : "list";
    if (Arrays.asList("s", "save").contains(arg)) {
        SettingsUtil.save(Baritone.settings());
        logDirect("Settings saved");
        return;
    }
    boolean viewModified = Arrays.asList("m", "mod", "modified").contains(arg);
    boolean viewAll = Arrays.asList("all", "l", "list").contains(arg);
    boolean paginate = viewModified || viewAll;
    if (paginate) {
        String search = args.hasAny() && args.peekAsOrNull(Integer.class) == null ? args.getString() : "";
        args.requireMax(1);
        List<? extends Settings.Setting> toPaginate = (viewModified ? SettingsUtil.modifiedSettings(Baritone.settings()) : Baritone.settings().allSettings).stream().filter(s -> !javaOnlySetting(s)).filter(s -> s.getName().toLowerCase(Locale.US).contains(search.toLowerCase(Locale.US))).sorted((s1, s2) -> String.CASE_INSENSITIVE_ORDER.compare(s1.getName(), s2.getName())).collect(Collectors.toList());
        Paginator.paginate(args, new Paginator<>(toPaginate), () -> logDirect(!search.isEmpty() ? String.format("All %ssettings containing the string '%s':", viewModified ? "modified " : "", search) : String.format("All %ssettings:", viewModified ? "modified " : "")), setting -> {
            ITextComponent typeComponent = new TextComponentString(String.format(" (%s)", settingTypeToString(setting)));
            typeComponent.getStyle().setColor(TextFormatting.DARK_GRAY);
            ITextComponent hoverComponent = new TextComponentString("");
            hoverComponent.getStyle().setColor(TextFormatting.GRAY);
            hoverComponent.appendText(setting.getName());
            hoverComponent.appendText(String.format("\nType: %s", settingTypeToString(setting)));
            hoverComponent.appendText(String.format("\n\nValue:\n%s", settingValueToString(setting)));
            hoverComponent.appendText(String.format("\n\nDefault Value:\n%s", settingDefaultToString(setting)));
            String commandSuggestion = Baritone.settings().prefix.value + String.format("set %s ", setting.getName());
            ITextComponent component = new TextComponentString(setting.getName());
            component.getStyle().setColor(TextFormatting.GRAY);
            component.appendSibling(typeComponent);
            component.getStyle().setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, hoverComponent)).setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, commandSuggestion));
            return component;
        }, FORCE_COMMAND_PREFIX + "set " + arg + " " + search);
        return;
    }
    args.requireMax(1);
    boolean resetting = arg.equalsIgnoreCase("reset");
    boolean toggling = arg.equalsIgnoreCase("toggle");
    boolean doingSomething = resetting || toggling;
    if (resetting) {
        if (!args.hasAny()) {
            logDirect("Please specify 'all' as an argument to reset to confirm you'd really like to do this");
            logDirect("ALL settings will be reset. Use the 'set modified' or 'modified' commands to see what will be reset.");
            logDirect("Specify a setting name instead of 'all' to only reset one setting");
        } else if (args.peekString().equalsIgnoreCase("all")) {
            SettingsUtil.modifiedSettings(Baritone.settings()).forEach(Settings.Setting::reset);
            logDirect("All settings have been reset to their default values");
            SettingsUtil.save(Baritone.settings());
            return;
        }
    }
    if (toggling) {
        args.requireMin(1);
    }
    String settingName = doingSomething ? args.getString() : arg;
    Settings.Setting<?> setting = Baritone.settings().allSettings.stream().filter(s -> s.getName().equalsIgnoreCase(settingName)).findFirst().orElse(null);
    if (setting == null) {
        throw new CommandInvalidTypeException(args.consumed(), "a valid setting");
    }
    if (javaOnlySetting(setting)) {
        // so at some point we have to tell them or they will see it as a bug
        throw new CommandInvalidStateException(String.format("Setting %s can only be used via the api.", setting.getName()));
    }
    if (!doingSomething && !args.hasAny()) {
        logDirect(String.format("Value of setting %s:", setting.getName()));
        logDirect(settingValueToString(setting));
    } else {
        String oldValue = settingValueToString(setting);
        if (resetting) {
            setting.reset();
        } else if (toggling) {
            if (setting.getValueClass() != Boolean.class) {
                throw new CommandInvalidTypeException(args.consumed(), "a toggleable setting", "some other setting");
            }
            // noinspection unchecked
            ((Settings.Setting<Boolean>) setting).value ^= true;
            logDirect(String.format("Toggled setting %s to %s", setting.getName(), Boolean.toString((Boolean) setting.value)));
        } else {
            String newValue = args.getString();
            try {
                SettingsUtil.parseAndApply(Baritone.settings(), arg, newValue);
            } catch (Throwable t) {
                t.printStackTrace();
                throw new CommandInvalidTypeException(args.consumed(), "a valid value", t);
            }
        }
        if (!toggling) {
            logDirect(String.format("Successfully %s %s to %s", resetting ? "reset" : "set", setting.getName(), settingValueToString(setting)));
        }
        ITextComponent oldValueComponent = new TextComponentString(String.format("Old value: %s", oldValue));
        oldValueComponent.getStyle().setColor(TextFormatting.GRAY).setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new TextComponentString("Click to set the setting back to this value"))).setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, FORCE_COMMAND_PREFIX + String.format("set %s %s", setting.getName(), oldValue)));
        logDirect(oldValueComponent);
        if ((setting.getName().equals("chatControl") && !(Boolean) setting.value && !Baritone.settings().chatControlAnyway.value) || setting.getName().equals("chatControlAnyway") && !(Boolean) setting.value && !Baritone.settings().chatControl.value) {
            logDirect("Warning: Chat commands will no longer work. If you want to revert this change, use prefix control (if enabled) or click the old value listed above.", TextFormatting.RED);
        } else if (setting.getName().equals("prefixControl") && !(Boolean) setting.value) {
            logDirect("Warning: Prefixed commands will no longer work. If you want to revert this change, use chat control (if enabled) or click the old value listed above.", TextFormatting.RED);
        }
    }
    SettingsUtil.save(Baritone.settings());
}
Also used : Arrays(java.util.Arrays) TabCompleteHelper(baritone.api.command.helpers.TabCompleteHelper) Command(baritone.api.command.Command) CommandException(baritone.api.command.exception.CommandException) TextFormatting(net.minecraft.util.text.TextFormatting) Paginator(baritone.api.command.helpers.Paginator) ClickEvent(net.minecraft.util.text.event.ClickEvent) IArgConsumer(baritone.api.command.argument.IArgConsumer) CommandInvalidTypeException(baritone.api.command.exception.CommandInvalidTypeException) Collectors(java.util.stream.Collectors) FORCE_COMMAND_PREFIX(baritone.api.command.IBaritoneChatControl.FORCE_COMMAND_PREFIX) ITextComponent(net.minecraft.util.text.ITextComponent) TextComponentString(net.minecraft.util.text.TextComponentString) IBaritone(baritone.api.IBaritone) List(java.util.List) Stream(java.util.stream.Stream) SettingsUtil(baritone.api.utils.SettingsUtil) HoverEvent(net.minecraft.util.text.event.HoverEvent) Locale(java.util.Locale) Baritone(baritone.Baritone) Settings(baritone.api.Settings) CommandInvalidStateException(baritone.api.command.exception.CommandInvalidStateException) HoverEvent(net.minecraft.util.text.event.HoverEvent) CommandInvalidTypeException(baritone.api.command.exception.CommandInvalidTypeException) ClickEvent(net.minecraft.util.text.event.ClickEvent) ITextComponent(net.minecraft.util.text.ITextComponent) TextComponentString(net.minecraft.util.text.TextComponentString) TextComponentString(net.minecraft.util.text.TextComponentString) CommandInvalidStateException(baritone.api.command.exception.CommandInvalidStateException) Settings(baritone.api.Settings)

Aggregations

IBaritone (baritone.api.IBaritone)4 Command (baritone.api.command.Command)4 FORCE_COMMAND_PREFIX (baritone.api.command.IBaritoneChatControl.FORCE_COMMAND_PREFIX)4 IArgConsumer (baritone.api.command.argument.IArgConsumer)4 CommandException (baritone.api.command.exception.CommandException)4 Paginator (baritone.api.command.helpers.Paginator)4 TabCompleteHelper (baritone.api.command.helpers.TabCompleteHelper)4 Arrays (java.util.Arrays)4 List (java.util.List)4 Collectors (java.util.stream.Collectors)4 Stream (java.util.stream.Stream)4 ITextComponent (net.minecraft.util.text.ITextComponent)4 TextComponentString (net.minecraft.util.text.TextComponentString)4 TextFormatting (net.minecraft.util.text.TextFormatting)4 ClickEvent (net.minecraft.util.text.event.ClickEvent)4 HoverEvent (net.minecraft.util.text.event.HoverEvent)4 Baritone (baritone.Baritone)2 Settings (baritone.api.Settings)2 ICommand (baritone.api.command.ICommand)2 CommandInvalidTypeException (baritone.api.command.exception.CommandInvalidTypeException)2