001/* 002 * This file is part of Baritone. 003 * 004 * Baritone is free software: you can redistribute it and/or modify 005 * it under the terms of the GNU Lesser General Public License as published by 006 * the Free Software Foundation, either version 3 of the License, or 007 * (at your option) any later version. 008 * 009 * Baritone is distributed in the hope that it will be useful, 010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 012 * GNU Lesser General Public License for more details. 013 * 014 * You should have received a copy of the GNU Lesser General Public License 015 * along with Baritone. If not, see <https://www.gnu.org/licenses/>. 016 */ 017 018package baritone.api.process; 019 020import baritone.api.Settings; 021 022public enum PathingCommandType { 023 024 /** 025 * Set the goal and path. 026 * <p> 027 * If you use this alongside a {@code null} goal, it will continue along its current path and current goal. 028 */ 029 SET_GOAL_AND_PATH, 030 031 /** 032 * Has no effect on the current goal or path, just requests a pause 033 */ 034 REQUEST_PAUSE, 035 036 /** 037 * Set the goal (regardless of {@code null}), and request a cancel of the current path (when safe) 038 */ 039 CANCEL_AND_SET_GOAL, 040 041 /** 042 * Set the goal and path. 043 * <p> 044 * If {@link Settings#cancelOnGoalInvalidation} is {@code true}, revalidate the 045 * current goal, and cancel if it's no longer valid, or if the new goal is {@code null}. 046 */ 047 REVALIDATE_GOAL_AND_PATH, 048 049 /** 050 * Set the goal and path. 051 * <p> 052 * Cancel the current path if the goals are not equal 053 */ 054 FORCE_REVALIDATE_GOAL_AND_PATH, 055 056 /** 057 * Go and ask the next process what to do 058 */ 059 DEFER 060}