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.pathing.movement; 019 020/** 021 * @author Brady 022 * @since 10/8/2018 023 */ 024public enum MovementStatus { 025 026 /** 027 * We are preparing the movement to be executed. This is when any blocks obstructing the destination are broken. 028 */ 029 PREPPING(false), 030 031 /** 032 * We are waiting for the movement to begin, after {@link MovementStatus#PREPPING}. 033 */ 034 WAITING(false), 035 036 /** 037 * The movement is currently in progress, after {@link MovementStatus#WAITING} 038 */ 039 RUNNING(false), 040 041 /** 042 * The movement has been completed and we are at our destination 043 */ 044 SUCCESS(true), 045 046 /** 047 * There was a change in state between calculation and actual 048 * movement execution, and the movement has now become impossible. 049 */ 050 UNREACHABLE(true), 051 052 /** 053 * Unused 054 */ 055 FAILED(true), 056 057 /** 058 * "Unused" 059 */ 060 CANCELED(true); 061 062 /** 063 * Whether or not this status indicates a complete movement. 064 */ 065 private final boolean complete; 066 067 MovementStatus(boolean complete) { 068 this.complete = complete; 069 } 070 071 public final boolean isComplete() { 072 return this.complete; 073 } 074}