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; 019 020import baritone.api.behavior.ILookBehavior; 021import baritone.api.behavior.IPathingBehavior; 022import baritone.api.cache.IWorldProvider; 023import baritone.api.command.manager.ICommandManager; 024import baritone.api.event.listener.IEventBus; 025import baritone.api.pathing.calc.IPathingControlManager; 026import baritone.api.process.*; 027import baritone.api.selection.ISelectionManager; 028import baritone.api.utils.IInputOverrideHandler; 029import baritone.api.utils.IPlayerContext; 030 031/** 032 * @author Brady 033 * @since 9/29/2018 034 */ 035public interface IBaritone { 036 037 /** 038 * @return The {@link IPathingBehavior} instance 039 * @see IPathingBehavior 040 */ 041 IPathingBehavior getPathingBehavior(); 042 043 /** 044 * @return The {@link ILookBehavior} instance 045 * @see ILookBehavior 046 */ 047 ILookBehavior getLookBehavior(); 048 049 /** 050 * @return The {@link IFollowProcess} instance 051 * @see IFollowProcess 052 */ 053 IFollowProcess getFollowProcess(); 054 055 /** 056 * @return The {@link IMineProcess} instance 057 * @see IMineProcess 058 */ 059 IMineProcess getMineProcess(); 060 061 /** 062 * @return The {@link IBuilderProcess} instance 063 * @see IBuilderProcess 064 */ 065 IBuilderProcess getBuilderProcess(); 066 067 /** 068 * @return The {@link IExploreProcess} instance 069 * @see IExploreProcess 070 */ 071 IExploreProcess getExploreProcess(); 072 073 /** 074 * @return The {@link IFarmProcess} instance 075 * @see IFarmProcess 076 */ 077 IFarmProcess getFarmProcess(); 078 079 /** 080 * @return The {@link ICustomGoalProcess} instance 081 * @see ICustomGoalProcess 082 */ 083 ICustomGoalProcess getCustomGoalProcess(); 084 085 /** 086 * @return The {@link IGetToBlockProcess} instance 087 * @see IGetToBlockProcess 088 */ 089 IGetToBlockProcess getGetToBlockProcess(); 090 091 /** 092 * @return The {@link IWorldProvider} instance 093 * @see IWorldProvider 094 */ 095 IWorldProvider getWorldProvider(); 096 097 /** 098 * Returns the {@link IPathingControlManager} for this {@link IBaritone} instance, which is responsible 099 * for managing the {@link IBaritoneProcess}es which control the {@link IPathingBehavior} state. 100 * 101 * @return The {@link IPathingControlManager} instance 102 * @see IPathingControlManager 103 */ 104 IPathingControlManager getPathingControlManager(); 105 106 /** 107 * @return The {@link IInputOverrideHandler} instance 108 * @see IInputOverrideHandler 109 */ 110 IInputOverrideHandler getInputOverrideHandler(); 111 112 /** 113 * @return The {@link IPlayerContext} instance 114 * @see IPlayerContext 115 */ 116 IPlayerContext getPlayerContext(); 117 118 /** 119 * @return The {@link IEventBus} instance 120 * @see IEventBus 121 */ 122 IEventBus getGameEventHandler(); 123 124 /** 125 * @return The {@link ISelectionManager} instance 126 * @see ISelectionManager 127 */ 128 ISelectionManager getSelectionManager(); 129 130 /** 131 * @return The {@link ICommandManager} instance 132 * @see ICommandManager 133 */ 134 ICommandManager getCommandManager(); 135 136 /** 137 * Open click 138 */ 139 void openClick(); 140}