Showing preview only (1,832K chars total). Download the full file or copy to clipboard to get everything.
Repository: cabaletta/baritone
Branch: 1.19.4
Commit: d3c170afaec7
Files: 396
Total size: 1.7 MB
Directory structure:
gitextract_izjt0185/
├── .gitattributes
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug.md
│ │ ├── question.md
│ │ └── suggestion.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── workflows/
│ ├── gradle_build.yml
│ └── run_tests.yml
├── .gitignore
├── .gitlab-ci.yml
├── .gitmessage
├── CODE_OF_CONDUCT.md
├── Dockerfile
├── FEATURES.md
├── LICENSE
├── README.md
├── SETUP.md
├── USAGE.md
├── build.gradle
├── buildSrc/
│ ├── .gitignore
│ ├── build.gradle
│ └── src/
│ └── main/
│ └── java/
│ └── baritone/
│ └── gradle/
│ ├── task/
│ │ ├── BaritoneGradleTask.java
│ │ ├── CreateDistTask.java
│ │ └── ProguardTask.java
│ └── util/
│ └── Determinizer.java
├── fabric/
│ ├── build.gradle
│ └── src/
│ └── main/
│ └── resources/
│ └── fabric.mod.json
├── forge/
│ ├── build.gradle
│ ├── gradle.properties
│ └── src/
│ └── main/
│ ├── java/
│ │ └── baritone/
│ │ └── launch/
│ │ └── BaritoneForgeModXD.java
│ └── resources/
│ ├── META-INF/
│ │ └── mods.toml
│ └── pack.mcmeta
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── jitpack.yml
├── scripts/
│ └── proguard.pro
├── settings.gradle
├── src/
│ ├── api/
│ │ └── java/
│ │ └── baritone/
│ │ └── api/
│ │ ├── BaritoneAPI.java
│ │ ├── IBaritone.java
│ │ ├── IBaritoneProvider.java
│ │ ├── Settings.java
│ │ ├── behavior/
│ │ │ ├── IBehavior.java
│ │ │ ├── ILookBehavior.java
│ │ │ ├── IPathingBehavior.java
│ │ │ └── look/
│ │ │ ├── IAimProcessor.java
│ │ │ └── ITickableAimProcessor.java
│ │ ├── cache/
│ │ │ ├── IBlockTypeAccess.java
│ │ │ ├── ICachedRegion.java
│ │ │ ├── ICachedWorld.java
│ │ │ ├── IWaypoint.java
│ │ │ ├── IWaypointCollection.java
│ │ │ ├── IWorldData.java
│ │ │ ├── IWorldProvider.java
│ │ │ ├── IWorldScanner.java
│ │ │ └── Waypoint.java
│ │ ├── command/
│ │ │ ├── Command.java
│ │ │ ├── IBaritoneChatControl.java
│ │ │ ├── ICommand.java
│ │ │ ├── ICommandSystem.java
│ │ │ ├── argparser/
│ │ │ │ ├── IArgParser.java
│ │ │ │ └── IArgParserManager.java
│ │ │ ├── argument/
│ │ │ │ ├── IArgConsumer.java
│ │ │ │ └── ICommandArgument.java
│ │ │ ├── datatypes/
│ │ │ │ ├── BlockById.java
│ │ │ │ ├── EntityClassById.java
│ │ │ │ ├── ForAxis.java
│ │ │ │ ├── ForBlockOptionalMeta.java
│ │ │ │ ├── ForDirection.java
│ │ │ │ ├── ForWaypoints.java
│ │ │ │ ├── IDatatype.java
│ │ │ │ ├── IDatatypeContext.java
│ │ │ │ ├── IDatatypeFor.java
│ │ │ │ ├── IDatatypePost.java
│ │ │ │ ├── IDatatypePostFunction.java
│ │ │ │ ├── ItemById.java
│ │ │ │ ├── NearbyPlayer.java
│ │ │ │ ├── RelativeBlockPos.java
│ │ │ │ ├── RelativeCoordinate.java
│ │ │ │ ├── RelativeFile.java
│ │ │ │ ├── RelativeGoal.java
│ │ │ │ ├── RelativeGoalBlock.java
│ │ │ │ ├── RelativeGoalXZ.java
│ │ │ │ └── RelativeGoalYLevel.java
│ │ │ ├── exception/
│ │ │ │ ├── CommandErrorMessageException.java
│ │ │ │ ├── CommandException.java
│ │ │ │ ├── CommandInvalidArgumentException.java
│ │ │ │ ├── CommandInvalidStateException.java
│ │ │ │ ├── CommandInvalidTypeException.java
│ │ │ │ ├── CommandNoParserForTypeException.java
│ │ │ │ ├── CommandNotEnoughArgumentsException.java
│ │ │ │ ├── CommandNotFoundException.java
│ │ │ │ ├── CommandTooManyArgumentsException.java
│ │ │ │ ├── CommandUnhandledException.java
│ │ │ │ └── ICommandException.java
│ │ │ ├── helpers/
│ │ │ │ ├── Paginator.java
│ │ │ │ └── TabCompleteHelper.java
│ │ │ ├── manager/
│ │ │ │ └── ICommandManager.java
│ │ │ └── registry/
│ │ │ └── Registry.java
│ │ ├── event/
│ │ │ ├── events/
│ │ │ │ ├── BlockChangeEvent.java
│ │ │ │ ├── BlockInteractEvent.java
│ │ │ │ ├── ChatEvent.java
│ │ │ │ ├── ChunkEvent.java
│ │ │ │ ├── PacketEvent.java
│ │ │ │ ├── PathEvent.java
│ │ │ │ ├── PlayerUpdateEvent.java
│ │ │ │ ├── RenderEvent.java
│ │ │ │ ├── RotationMoveEvent.java
│ │ │ │ ├── SprintStateEvent.java
│ │ │ │ ├── TabCompleteEvent.java
│ │ │ │ ├── TickEvent.java
│ │ │ │ ├── WorldEvent.java
│ │ │ │ └── type/
│ │ │ │ ├── Cancellable.java
│ │ │ │ ├── EventState.java
│ │ │ │ ├── ICancellable.java
│ │ │ │ └── Overrideable.java
│ │ │ └── listener/
│ │ │ ├── AbstractGameEventListener.java
│ │ │ ├── IEventBus.java
│ │ │ └── IGameEventListener.java
│ │ ├── pathing/
│ │ │ ├── calc/
│ │ │ │ ├── IPath.java
│ │ │ │ ├── IPathFinder.java
│ │ │ │ └── IPathingControlManager.java
│ │ │ ├── goals/
│ │ │ │ ├── Goal.java
│ │ │ │ ├── GoalAxis.java
│ │ │ │ ├── GoalBlock.java
│ │ │ │ ├── GoalComposite.java
│ │ │ │ ├── GoalGetToBlock.java
│ │ │ │ ├── GoalInverted.java
│ │ │ │ ├── GoalNear.java
│ │ │ │ ├── GoalRunAway.java
│ │ │ │ ├── GoalStrictDirection.java
│ │ │ │ ├── GoalTwoBlocks.java
│ │ │ │ ├── GoalXZ.java
│ │ │ │ └── GoalYLevel.java
│ │ │ ├── movement/
│ │ │ │ ├── ActionCosts.java
│ │ │ │ ├── IMovement.java
│ │ │ │ └── MovementStatus.java
│ │ │ └── path/
│ │ │ └── IPathExecutor.java
│ │ ├── process/
│ │ │ ├── IBaritoneProcess.java
│ │ │ ├── IBuilderProcess.java
│ │ │ ├── ICustomGoalProcess.java
│ │ │ ├── IElytraProcess.java
│ │ │ ├── IExploreProcess.java
│ │ │ ├── IFarmProcess.java
│ │ │ ├── IFollowProcess.java
│ │ │ ├── IGetToBlockProcess.java
│ │ │ ├── IMineProcess.java
│ │ │ ├── PathingCommand.java
│ │ │ └── PathingCommandType.java
│ │ ├── schematic/
│ │ │ ├── AbstractSchematic.java
│ │ │ ├── CompositeSchematic.java
│ │ │ ├── CompositeSchematicEntry.java
│ │ │ ├── FillSchematic.java
│ │ │ ├── ISchematic.java
│ │ │ ├── ISchematicSystem.java
│ │ │ ├── IStaticSchematic.java
│ │ │ ├── MaskSchematic.java
│ │ │ ├── MirroredSchematic.java
│ │ │ ├── ReplaceSchematic.java
│ │ │ ├── RotatedSchematic.java
│ │ │ ├── ShellSchematic.java
│ │ │ ├── SubstituteSchematic.java
│ │ │ ├── WallsSchematic.java
│ │ │ ├── format/
│ │ │ │ └── ISchematicFormat.java
│ │ │ └── mask/
│ │ │ ├── AbstractMask.java
│ │ │ ├── Mask.java
│ │ │ ├── PreComputedMask.java
│ │ │ ├── StaticMask.java
│ │ │ ├── operator/
│ │ │ │ ├── BinaryOperatorMask.java
│ │ │ │ └── NotMask.java
│ │ │ └── shape/
│ │ │ ├── CylinderMask.java
│ │ │ └── SphereMask.java
│ │ ├── selection/
│ │ │ ├── ISelection.java
│ │ │ └── ISelectionManager.java
│ │ └── utils/
│ │ ├── BetterBlockPos.java
│ │ ├── BlockOptionalMeta.java
│ │ ├── BlockOptionalMetaLookup.java
│ │ ├── BlockUtils.java
│ │ ├── BooleanBinaryOperator.java
│ │ ├── BooleanBinaryOperators.java
│ │ ├── Helper.java
│ │ ├── IInputOverrideHandler.java
│ │ ├── IPlayerContext.java
│ │ ├── IPlayerController.java
│ │ ├── MyChunkPos.java
│ │ ├── NotificationHelper.java
│ │ ├── Pair.java
│ │ ├── PathCalculationResult.java
│ │ ├── RayTraceUtils.java
│ │ ├── Rotation.java
│ │ ├── RotationUtils.java
│ │ ├── SettingsUtil.java
│ │ ├── TypeUtils.java
│ │ ├── VecUtils.java
│ │ ├── accessor/
│ │ │ └── IItemStack.java
│ │ ├── gui/
│ │ │ └── BaritoneToast.java
│ │ ├── input/
│ │ │ └── Input.java
│ │ └── interfaces/
│ │ └── IGoalRenderPos.java
│ ├── launch/
│ │ ├── java/
│ │ │ └── baritone/
│ │ │ └── launch/
│ │ │ ├── BaritoneMixinConnector.java
│ │ │ └── mixins/
│ │ │ ├── MixinChunkArray.java
│ │ │ ├── MixinClientChunkProvider.java
│ │ │ ├── MixinClientPlayNetHandler.java
│ │ │ ├── MixinClientPlayerEntity.java
│ │ │ ├── MixinCommandSuggestionHelper.java
│ │ │ ├── MixinEntity.java
│ │ │ ├── MixinEntityRenderManager.java
│ │ │ ├── MixinFireworkRocketEntity.java
│ │ │ ├── MixinItemStack.java
│ │ │ ├── MixinLivingEntity.java
│ │ │ ├── MixinLootContext.java
│ │ │ ├── MixinMinecraft.java
│ │ │ ├── MixinNetworkManager.java
│ │ │ ├── MixinPalettedContainer$Data.java
│ │ │ ├── MixinPalettedContainer.java
│ │ │ ├── MixinPlayerController.java
│ │ │ ├── MixinScreen.java
│ │ │ └── MixinWorldRenderer.java
│ │ └── resources/
│ │ ├── META-INF/
│ │ │ └── MANIFEST.MF
│ │ └── mixins.baritone.json
│ ├── main/
│ │ └── java/
│ │ └── baritone/
│ │ ├── Baritone.java
│ │ ├── BaritoneProvider.java
│ │ ├── KeepName.java
│ │ ├── behavior/
│ │ │ ├── Behavior.java
│ │ │ ├── InventoryBehavior.java
│ │ │ ├── LookBehavior.java
│ │ │ ├── PathingBehavior.java
│ │ │ ├── WaypointBehavior.java
│ │ │ └── look/
│ │ │ └── ForkableRandom.java
│ │ ├── cache/
│ │ │ ├── CachedChunk.java
│ │ │ ├── CachedRegion.java
│ │ │ ├── CachedWorld.java
│ │ │ ├── ChunkPacker.java
│ │ │ ├── FasterWorldScanner.java
│ │ │ ├── WaypointCollection.java
│ │ │ ├── WorldData.java
│ │ │ ├── WorldProvider.java
│ │ │ └── WorldScanner.java
│ │ ├── command/
│ │ │ ├── CommandSystem.java
│ │ │ ├── ExampleBaritoneControl.java
│ │ │ ├── argparser/
│ │ │ │ ├── ArgParserManager.java
│ │ │ │ └── DefaultArgParsers.java
│ │ │ ├── argument/
│ │ │ │ ├── ArgConsumer.java
│ │ │ │ ├── CommandArgument.java
│ │ │ │ └── CommandArguments.java
│ │ │ ├── defaults/
│ │ │ │ ├── AxisCommand.java
│ │ │ │ ├── BlacklistCommand.java
│ │ │ │ ├── BuildCommand.java
│ │ │ │ ├── ClickCommand.java
│ │ │ │ ├── ComeCommand.java
│ │ │ │ ├── CommandAlias.java
│ │ │ │ ├── DefaultCommands.java
│ │ │ │ ├── ETACommand.java
│ │ │ │ ├── ElytraCommand.java
│ │ │ │ ├── ExecutionControlCommands.java
│ │ │ │ ├── ExploreCommand.java
│ │ │ │ ├── ExploreFilterCommand.java
│ │ │ │ ├── FarmCommand.java
│ │ │ │ ├── FindCommand.java
│ │ │ │ ├── FollowCommand.java
│ │ │ │ ├── ForceCancelCommand.java
│ │ │ │ ├── GcCommand.java
│ │ │ │ ├── GoalCommand.java
│ │ │ │ ├── GotoCommand.java
│ │ │ │ ├── HelpCommand.java
│ │ │ │ ├── InvertCommand.java
│ │ │ │ ├── LitematicaCommand.java
│ │ │ │ ├── MineCommand.java
│ │ │ │ ├── PathCommand.java
│ │ │ │ ├── PickupCommand.java
│ │ │ │ ├── ProcCommand.java
│ │ │ │ ├── ReloadAllCommand.java
│ │ │ │ ├── RenderCommand.java
│ │ │ │ ├── RepackCommand.java
│ │ │ │ ├── SaveAllCommand.java
│ │ │ │ ├── SchematicaCommand.java
│ │ │ │ ├── SelCommand.java
│ │ │ │ ├── SetCommand.java
│ │ │ │ ├── SurfaceCommand.java
│ │ │ │ ├── ThisWayCommand.java
│ │ │ │ ├── TunnelCommand.java
│ │ │ │ ├── VersionCommand.java
│ │ │ │ └── WaypointsCommand.java
│ │ │ └── manager/
│ │ │ └── CommandManager.java
│ │ ├── event/
│ │ │ └── GameEventHandler.java
│ │ ├── pathing/
│ │ │ ├── calc/
│ │ │ │ ├── AStarPathFinder.java
│ │ │ │ ├── AbstractNodeCostSearch.java
│ │ │ │ ├── Path.java
│ │ │ │ ├── PathNode.java
│ │ │ │ └── openset/
│ │ │ │ ├── BinaryHeapOpenSet.java
│ │ │ │ ├── IOpenSet.java
│ │ │ │ └── LinkedListOpenSet.java
│ │ │ ├── movement/
│ │ │ │ ├── CalculationContext.java
│ │ │ │ ├── Movement.java
│ │ │ │ ├── MovementHelper.java
│ │ │ │ ├── MovementOption.java
│ │ │ │ ├── MovementState.java
│ │ │ │ ├── Moves.java
│ │ │ │ └── movements/
│ │ │ │ ├── MovementAscend.java
│ │ │ │ ├── MovementDescend.java
│ │ │ │ ├── MovementDiagonal.java
│ │ │ │ ├── MovementDownward.java
│ │ │ │ ├── MovementFall.java
│ │ │ │ ├── MovementParkour.java
│ │ │ │ ├── MovementPillar.java
│ │ │ │ └── MovementTraverse.java
│ │ │ ├── path/
│ │ │ │ ├── CutoffPath.java
│ │ │ │ ├── PathExecutor.java
│ │ │ │ └── SplicedPath.java
│ │ │ └── precompute/
│ │ │ ├── PrecomputedData.java
│ │ │ └── Ternary.java
│ │ ├── process/
│ │ │ ├── BackfillProcess.java
│ │ │ ├── BuilderProcess.java
│ │ │ ├── CustomGoalProcess.java
│ │ │ ├── ElytraProcess.java
│ │ │ ├── ExploreProcess.java
│ │ │ ├── FarmProcess.java
│ │ │ ├── FollowProcess.java
│ │ │ ├── GetToBlockProcess.java
│ │ │ ├── InventoryPauserProcess.java
│ │ │ ├── MineProcess.java
│ │ │ └── elytra/
│ │ │ ├── BlockStateOctreeInterface.java
│ │ │ ├── ElytraBehavior.java
│ │ │ ├── NetherPath.java
│ │ │ ├── NetherPathfinderContext.java
│ │ │ ├── NullElytraProcess.java
│ │ │ ├── PathCalculationException.java
│ │ │ └── UnpackedSegment.java
│ │ ├── selection/
│ │ │ ├── Selection.java
│ │ │ ├── SelectionManager.java
│ │ │ └── SelectionRenderer.java
│ │ └── utils/
│ │ ├── BaritoneMath.java
│ │ ├── BaritoneProcessHelper.java
│ │ ├── BlockBreakHelper.java
│ │ ├── BlockPlaceHelper.java
│ │ ├── BlockStateInterface.java
│ │ ├── BlockStateInterfaceAccessWrapper.java
│ │ ├── GuiClick.java
│ │ ├── IRenderer.java
│ │ ├── InputOverrideHandler.java
│ │ ├── PathRenderer.java
│ │ ├── PathingCommandContext.java
│ │ ├── PathingControlManager.java
│ │ ├── PlayerMovementInput.java
│ │ ├── ToolSet.java
│ │ ├── accessor/
│ │ │ ├── IChunkArray.java
│ │ │ ├── IChunkProviderClient.java
│ │ │ ├── IClientChunkProvider.java
│ │ │ ├── IEntityRenderManager.java
│ │ │ ├── IFireworkRocketEntity.java
│ │ │ ├── IGuiScreen.java
│ │ │ ├── IPalettedContainer.java
│ │ │ └── IPlayerControllerMP.java
│ │ ├── pathing/
│ │ │ ├── Avoidance.java
│ │ │ ├── BetterWorldBorder.java
│ │ │ ├── Favoring.java
│ │ │ ├── MutableMoveResult.java
│ │ │ ├── PathBase.java
│ │ │ └── PathingBlockType.java
│ │ ├── player/
│ │ │ ├── BaritonePlayerContext.java
│ │ │ └── BaritonePlayerController.java
│ │ ├── schematic/
│ │ │ ├── MapArtSchematic.java
│ │ │ ├── SchematicSystem.java
│ │ │ ├── SelectionSchematic.java
│ │ │ ├── StaticSchematic.java
│ │ │ ├── format/
│ │ │ │ ├── DefaultSchematicFormats.java
│ │ │ │ └── defaults/
│ │ │ │ ├── LitematicaSchematic.java
│ │ │ │ ├── MCEditSchematic.java
│ │ │ │ └── SpongeSchematic.java
│ │ │ ├── litematica/
│ │ │ │ └── LitematicaHelper.java
│ │ │ └── schematica/
│ │ │ ├── SchematicAdapter.java
│ │ │ └── SchematicaHelper.java
│ │ └── type/
│ │ └── VarInt.java
│ ├── schematica_api/
│ │ └── java/
│ │ ├── com/
│ │ │ └── github/
│ │ │ └── lunatrius/
│ │ │ ├── core/
│ │ │ │ └── util/
│ │ │ │ └── math/
│ │ │ │ └── MBlockPos.java
│ │ │ └── schematica/
│ │ │ ├── Schematica.java
│ │ │ ├── api/
│ │ │ │ └── ISchematic.java
│ │ │ ├── client/
│ │ │ │ └── world/
│ │ │ │ └── SchematicWorld.java
│ │ │ └── proxy/
│ │ │ ├── ClientProxy.java
│ │ │ └── CommonProxy.java
│ │ └── fi/
│ │ └── dy/
│ │ └── masa/
│ │ └── litematica/
│ │ ├── Litematica.java
│ │ ├── data/
│ │ │ └── DataManager.java
│ │ ├── schematic/
│ │ │ ├── LitematicaSchematic.java
│ │ │ └── placement/
│ │ │ ├── SchematicPlacement.java
│ │ │ ├── SchematicPlacementManager.java
│ │ │ └── SubRegionPlacement.java
│ │ └── world/
│ │ ├── SchematicWorldHandler.java
│ │ └── WorldSchematic.java
│ └── test/
│ └── java/
│ └── baritone/
│ ├── cache/
│ │ └── CachedRegionTest.java
│ ├── pathing/
│ │ ├── calc/
│ │ │ └── openset/
│ │ │ └── OpenSetsTest.java
│ │ ├── goals/
│ │ │ └── GoalGetToBlockTest.java
│ │ └── movement/
│ │ └── ActionCostsTest.java
│ └── utils/
│ └── pathing/
│ ├── BetterBlockPosTest.java
│ └── PathingBlockTypeTest.java
└── tweaker/
├── build.gradle
└── src/
└── main/
└── java/
└── baritone/
└── launch/
├── LaunchTesting.java
└── tweaker/
└── BaritoneTweaker.java
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
* text=auto
================================================
FILE: .github/ISSUE_TEMPLATE/bug.md
================================================
---
name: Bug report
about: Please file a separate report for each issue
title: Please add a brief but descriptive title
labels: bug
assignees: ''
---
## Some information
Operating system:
Java version:
Minecraft version:
Baritone version:
Other mods (if used):
## Exception, error or logs
Please find your `latest.log` or `debug.log` in this folder and attach it to the issue
Linux: `~/.minecraft/logs/`
Windows: `%appdata%/.minecraft/logs/`
Mac: `/Library/Application\ Support/minecraft/logs/`
## How to reproduce
Add your steps to reproduce the issue/bug experienced here.
## Modified settings
To get the modified settings run `#modified` in game
## Final checklist
- [x] I know how to properly use check boxes
- [ ] I have included the version of Minecraft I'm running, baritone's version and forge mods (if used).
- [ ] I have included logs, exceptions and / or steps to reproduce the issue.
- [ ] I have not used any OwO's or UwU's in this issue.
================================================
FILE: .github/ISSUE_TEMPLATE/question.md
================================================
---
name: Question
about: Please file a separate report for each question
title: Please add a brief but descriptive title
labels: question
assignees: ''
---
## What do you need help with?
With as much detail as possible, describe your question and what you may need help with.
## Final checklist
- [x] I know how to properly use check boxes
- [ ] I have not used any OwO's or UwU's in this issue.
================================================
FILE: .github/ISSUE_TEMPLATE/suggestion.md
================================================
---
name: Suggestion
about: Please file a separate report for each suggestion
title: Please add a brief but descriptive title
labels: enhancement
assignees: ''
---
## Describe your suggestion
With as much detail as possible, describe what your suggestion would do for Baritone.
## Settings
If applicable, what settings/customizability should be offered to tweak the functionality of your suggestion.
## Context
Describe how your suggestion would improve Baritone, or the reason behind it being added.
## Final checklist
- [x] I know how to properly use check boxes
- [ ] I have not used any OwO's or UwU's in this issue.
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
<!-- No UwU's or OwO's allowed -->
================================================
FILE: .github/workflows/gradle_build.yml
================================================
# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
name: Java CI with Gradle
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build -Pmod_version="$(git describe --always --tags --first-parent | cut -c2-)"
- name: Archive Artifacts
uses: actions/upload-artifact@v4
with:
name: Artifacts
path: dist/
- name: Archive mapping.txt
uses: actions/upload-artifact@v4
with:
name: Mappings
path: mapping/
================================================
FILE: .github/workflows/run_tests.yml
================================================
name: Tests
on:
push:
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Executing tests
run: ./gradlew test
================================================
FILE: .gitignore
================================================
.DS_Store
**/*.swp
run/
autotest/
dist/
volderyarn/
# Gradle
build/
.gradle/
classes/
*.class
/out
# IntelliJ Files
.idea/
*.iml
*.ipr
*.iws
/logs/
tweaker/logs/
common/logs/
# Eclipse Files
.classpath
.project
.settings/
baritone_Client.launch
# Copyright Files
!/.idea/copyright/Baritone.xml
!/.idea/copyright/profiles_settings.xml
.vscode/launch.json
.architectury-transformer
mapping
libs/lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar
libs/java-objc-bridge-1.1.jar
mapping
================================================
FILE: .gitlab-ci.yml
================================================
image: java:8
before_script:
- which java
- which javac
build:
script:
- ./gradlew build
- ./gradlew build -Pbaritone.forge_build
artifacts:
paths:
- dist/*
expire_in: 1 week
================================================
FILE: .gitmessage
================================================
<emoji> <title> (<ticket>)
# 📝 Update README.md (WD-1234)
# ✅ Add unit test for inputs (WD-1234)
# <emoji> can be:
# 🎨 :art: when improving structure of the code
# ⚡️ :zap: when improving performance
# 🔥 :fire: when removing code or files
# ✨ :sparkles: when introducing new features
# 🚧 :construction: when work in progress
# 🔨 :hammer: when refactoring code
# 📝 :memo: when writing docs
# 💄 :lipstick: when updating the UI and style files
# 📈 :chart_with_upwards_trend: when adding analytics or tracking code
# 🌐 :globe_with_meridians: when adding internationalization and localization
# ✏️ :pencil2: when fixing typos
# 🚚 :truck: when moving or renaming files
# ✅ :white_check_mark: when adding tests
# 👌 :ok_hand: when updating code due to code review changes
# 🐛 :bug: when fixing a bug
# 🚑 :ambulance: when doing a critical hotfix
# 🚨 :rotating_light: when removing linter warnings
# 🔀 :twisted_rightwards_arrows: when merging branches
# ⬆️ :arrow_up: when upgrading dependencies
# ⬇️ :arrow_down: when downgrading dependencies
# 🔧 :wrench: when changing configuration files
# 🔖 :bookmark: when releasing / version tagging
# 💚 :green_heart: when fixing the CI build
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* No Anime (including uwu's or owo's)
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Giving and gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* Anime
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* ~~Trolling, insulting/derogatory comments, and personal or political attacks~~
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission or consent
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
Project maintainers have the right and responsibility to immediately remove
without any sort of dispute any issues or pull requests that do not align
with their corresponding templates. Absolutely no leniancy shall be accepted
with these terms.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at complaints@leijurv.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
================================================
FILE: Dockerfile
================================================
FROM ubuntu:focal
ENV DEBIAN_FRONTEND noninteractive
RUN apt update -y
RUN apt install \
openjdk-17-jdk \
git \
--assume-yes
COPY . /code
WORKDIR /code
RUN ./gradlew build
================================================
FILE: FEATURES.md
================================================
# Pathing features
- **Long distance pathing and splicing** Baritone calculates paths in segments, and precalculates the next segment when the current one is about to end, so that it's moving towards the goal at all times.
- **Chunk caching** Baritone simplifies chunks to a compacted internal 2-bit representation (AIR, SOLID, WATER, AVOID) and stores them in RAM for better very-long-distance pathing. There is also an option to save these cached chunks to disk. <a href="https://www.youtube.com/watch?v=dyfYKSubhdc">Example</a>
- **Block breaking** Baritone considers breaking blocks as part of its path. It also takes into account your current tool set and hot bar. For example, if you have a Eff V diamond pick, it may choose to mine through a stone barrier, while if you only had a wood pick it might be faster to climb over it.
- **Block placing** Baritone considers placing blocks as part of its path. This includes sneak-back-placing, pillaring, etc. It has a configurable penalty of placing a block (set to 1 second by default), to conserve its resources. The list of acceptable throwaway blocks is also configurable, and is cobble, dirt, or netherrack by default. <a href="https://www.youtube.com/watch?v=F6FbI1L9UmU">Example</a>
- **Falling** Baritone will fall up to 3 blocks onto solid ground (configurable, if you have Feather Falling and/or don't mind taking a little damage). If you have a water bucket on your hotbar, it will fall up to 23 blocks and place the bucket beneath it. It will fall an unlimited distance into existing still water.
- **Vines and ladders** Baritone understands how to climb and descend vines and ladders. There is experimental support for more advanced maneuvers, like strafing to a different ladder / vine column in midair (off by default, setting named `allowVines`). Baritone can break its fall by grabbing ladders / vines midair, and understands when that is and isn't possible.
- **Opening fence gates and doors**
- **Slabs and stairs**
- **Falling blocks** Baritone understands the costs of breaking blocks with falling blocks on top, and includes all of their break costs. Additionally, since it avoids breaking any blocks touching a liquid, it won't break the bottom of a gravel stack below a lava lake (anymore).
- **Avoiding dangerous blocks** Obviously, it knows not to walk through fire or on magma, not to corner over lava (that deals some damage), not to break any blocks touching a liquid (it might drown), etc.
- **Parkour** Sprint jumping over 1, 2, or 3 block gaps
- **Parkour place** Sprint jumping over a 3 block gap and placing the block to land on while executing the jump. It's really cool.
- **Pigs** It can sort of control pigs. I wouldn't rely on it though.
# Pathing method
Baritone uses A*, with some modifications:
- **Segmented calculation** Traditional A* calculates until the most promising node is in the goal, however in the environment of Minecraft with a limited render distance, we don't know the environment all the way to our goal. Baritone has three possible ways for path calculation to end: finding a path all the way to the goal, running out of time, or getting to the render distance. In the latter two scenarios, the selection of which segment to actually execute falls to the next item (incremental cost backoff). Whenever the path calculation thread finds that the best / most promising node is at the edge of loaded chunks, it increments a counter. If this happens more than 50 times (configurable), path calculation exits early. This happens with very low render distances. Otherwise, calculation continues until the timeout is hit (also configurable) or we find a path all the way to the goal.
- **Incremental cost backoff** When path calculation exits early without getting all the way to the goal, Baritone it needs to select a segment to execute first (assuming it will calculate the next segment at the end of this one). It uses incremental cost backoff to select the best node by varying metrics, then paths to that node. This is unchanged from MineBot and I made a <a href="https://docs.google.com/document/d/1WVHHXKXFdCR1Oz__KtK8sFqyvSwJN_H4lftkHFgmzlc/edit">write-up</a> that still applies. In essence, it keeps track of the best node by various increasing coefficients, then picks the node with the least coefficient that goes at least 5 blocks from the starting position.
- **Minimum improvement repropagation** The pathfinder ignores alternate routes that provide minimal improvements (less than 0.01 ticks of improvement), because the calculation cost of repropagating this to all connected nodes is much higher than the half-millisecond path time improvement it would get.
- **Backtrack cost favoring** While calculating the next segment, Baritone favors backtracking its current segment. The cost is decreased heavily, but is still positive (this won't cause it to backtrack if it doesn't need to). This allows it to splice and jump onto the next segment as early as possible, if the next segment begins with a backtrack of the current one. <a href="https://www.youtube.com/watch?v=CGiMcb8-99Y">Example</a>
- **Backtrack detection and pausing** While path calculation happens on a separate thread, the main game thread has access to the latest node considered, and the best path so far (those are rendered light blue and dark blue respectively). When the current best path (rendered dark blue) passes through the player's current position on the current path segment, path execution is paused (if it's safe to do so), because there's no point continuing forward if we're about to turn around and go back that same way. Note that the current best path as reported by the path calculation thread takes into account the incremental cost backoff system, so it's accurate to what the path calculation thread will actually pick once it finishes.
# Chat control
- [Baritone chat control usage](USAGE.md)
# Goals
The pathing goal can be set to any of these options:
- **GoalBlock** one specific block that the player should stand inside at foot level
- **GoalXZ** an X and a Z coordinate, used for long distance pathing
- **GoalYLevel** a Y coordinate
- **GoalTwoBlocks** a block position that the player should stand in, either at foot or eye level
- **GoalGetToBlock** a block position that the player should stand adjacent to, below, or on top of
- **GoalNear** a block position that the player should get within a certain radius of, used for following entities
- **GoalAxis** a block position on an axis or diagonal axis (so x=0, z=0, or x=z), and y=120 (configurable)
And finally `GoalComposite`. `GoalComposite` is a list of other goals, any one of which satisfies the goal. For example, `mine diamond_ore` creates a `GoalComposite` of `GoalTwoBlocks`s for every diamond ore location it knows of.
# Future features
Things it doesn't have yet
- Trapdoors
- Sprint jumping in a 1x2 corridor
See <a href="https://github.com/cabaletta/baritone/issues">issues</a> for more.
Things it may not ever have, from most likely to least likely =(
- Boats
- Horses (2x3 path instead of 1x2)
================================================
FILE: LICENSE
================================================
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
================================================
FILE: README.md
================================================
# Baritone
<p align="center">
<a href="https://github.com/cabaletta/baritone/releases/"><img src="https://img.shields.io/github/downloads/cabaletta/baritone/total.svg" alt="GitHub All Releases"/></a>
</p>
<p align="center">
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.12.2-brightgreen.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.13.2-yellow.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.14.4-yellow.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.15.2-yellow.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.16.5-yellow.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.17.1-yellow.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.18.2-yellow.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.19.2-brightgreen.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.19.4-brightgreen.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.20.1-brightgreen.svg" alt="Minecraft"/></a>
<a href="#Baritone"><img src="https://img.shields.io/badge/MC-1.21.3-brightgreen.svg" alt="Minecraft"/></a>
</p>
<p align="center">
<a href="https://travis-ci.com/cabaletta/baritone/"><img src="https://travis-ci.com/cabaletta/baritone.svg?branch=master" alt="Build Status"/></a>
<a href="https://github.com/cabaletta/baritone/releases/"><img src="https://img.shields.io/github/release/cabaletta/baritone.svg" alt="Release"/></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-LGPL--3.0%20with%20anime%20exception-green.svg" alt="License"/></a>
<a href="https://www.codacy.com/gh/cabaletta/baritone/dashboard?utm_source=github.com&utm_medium=referral&utm_content=cabaletta/baritone&utm_campaign=Badge_Grade"><img src="https://app.codacy.com/project/badge/Grade/cadab857dab049438b6e28b3cfc5570e" alt="Codacy Badge"/></a>
<a href="https://github.com/cabaletta/baritone/blob/master/CODE_OF_CONDUCT.md"><img src="https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-blue.svg?style=flat" alt="Code of Conduct"/></a>
<a href="https://snyk.io/test/github/cabaletta/baritone?targetFile=build.gradle"><img src="https://snyk.io/test/github/cabaletta/baritone/badge.svg?targetFile=build.gradle" alt="Known Vulnerabilities"/></a>
<a href="https://github.com/cabaletta/baritone/issues/"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat" alt="Contributions welcome"/></a>
<a href="https://github.com/cabaletta/baritone/issues/"><img src="https://img.shields.io/github/issues/cabaletta/baritone.svg" alt="Issues"/></a>
<a href="https://github.com/cabaletta/baritone/issues?q=is%3Aissue+is%3Aclosed"><img src="https://img.shields.io/github/issues-closed/cabaletta/baritone.svg" alt="GitHub issues-closed"/></a>
<a href="https://github.com/cabaletta/baritone/pulls/"><img src="https://img.shields.io/github/issues-pr/cabaletta/baritone.svg" alt="Pull Requests"/></a>
<a href="https://github.com/cabaletta/baritone/graphs/contributors/"><img src="https://img.shields.io/github/contributors/cabaletta/baritone.svg" alt="GitHub contributors"/></a>
<a href="https://github.com/cabaletta/baritone/commit/"><img src="https://img.shields.io/github/commits-since/cabaletta/baritone/v1.0.0.svg" alt="GitHub commits"/></a>
<img src="https://img.shields.io/github/languages/code-size/cabaletta/baritone.svg" alt="Code size"/>
<img src="https://img.shields.io/github/repo-size/cabaletta/baritone.svg" alt="GitHub repo size"/>
<img src="https://tokei.rs/b1/github/cabaletta/baritone?category=code&style=flat" alt="Lines of Code"/>
<img src="https://img.shields.io/badge/Badges-36-blue.svg" alt="yes"/>
</p>
<p align="center">
<a href="https://impactclient.net/"><img src="https://img.shields.io/badge/Impact%20integration-v1.2.14%20/%20v1.3.8%20/%20v1.4.6%20/%20v1.5.3%20/%20v1.6.3-brightgreen.svg" alt="Impact integration"/></a>
<a href="https://github.com/lambda-client/lambda"><img src="https://img.shields.io/badge/Lambda%20integration-v1.2.17-brightgreen.svg" alt="Lambda integration"/></a>
<a href="https://github.com/fr1kin/ForgeHax/"><img src="https://img.shields.io/badge/ForgeHax%20%22integration%22-scuffed-yellow.svg" alt="ForgeHax integration"/></a>
<a href="https://aristois.net/"><img src="https://img.shields.io/badge/Aristois%20add--on%20integration-v1.6.3-green.svg" alt="Aristois add-on integration"/></a>
<a href="https://rootnet.dev/"><img src="https://img.shields.io/badge/rootNET%20integration-v1.2.14-green.svg" alt="rootNET integration"/></a>
<a href="https://futureclient.net/"><img src="https://img.shields.io/badge/Future%20integration-v1.2.12%20%2F%20v1.3.6%20%2F%20v1.4.4-red" alt="Future integration"/></a>
<a href="https://rusherhack.org/"><img src="https://img.shields.io/badge/RusherHack%20integration-v1.2.14-green" alt="RusherHack integration"/></a>
</p>
<p align="center">
<a href="http://forthebadge.com/"><img src="https://web.archive.org/web/20230604002050/https://forthebadge.com/images/badges/built-with-swag.svg" alt="forthebadge"/></a>
<a href="http://forthebadge.com/"><img src="https://web.archive.org/web/20230604002050/https://forthebadge.com/images/badges/mom-made-pizza-rolls.svg" alt="forthebadge"/></a>
</p>
A Minecraft pathfinder bot.
Baritone is the pathfinding system used in [Impact](https://impactclient.net/) since 4.4. [Here's](https://www.youtube.com/watch?v=StquF69-_wI) a (very old!) video I made showing off what it can do.
[**Baritone Discord Server**](http://discord.gg/s6fRBAUpmr)
**Quick download links:**
| Forge | Fabric | NeoForge |
|---------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|
| [1.12.2 Forge](https://github.com/cabaletta/baritone/releases/download/v1.2.19/baritone-api-forge-1.2.19.jar) | | |
| [1.16.5 Forge](https://github.com/cabaletta/baritone/releases/download/v1.6.5/baritone-api-forge-1.6.5.jar) | [1.16.5 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.6.5/baritone-api-fabric-1.6.5.jar) | |
| [1.17.1 Forge](https://github.com/cabaletta/baritone/releases/download/v1.7.3/baritone-api-forge-1.7.3.jar) | [1.17.1 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.7.3/baritone-api-fabric-1.7.3.jar) | |
| [1.18.2 Forge](https://github.com/cabaletta/baritone/releases/download/v1.8.6/baritone-api-forge-1.8.6.jar) | [1.18.2 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.8.6/baritone-api-fabric-1.8.6.jar) | |
| [1.19.2 Forge](https://github.com/cabaletta/baritone/releases/download/v1.9.4/baritone-api-forge-1.9.4.jar) | [1.19.2 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.9.4/baritone-api-fabric-1.9.4.jar) | |
| [1.19.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.9.1/baritone-api-forge-1.9.1.jar) | [1.19.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.9.1/baritone-api-fabric-1.9.1.jar) | |
| [1.19.4 Forge](https://github.com/cabaletta/baritone/releases/download/v1.9.5/baritone-api-forge-1.9.5.jar) | [1.19.4 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.9.5/baritone-api-fabric-1.9.5.jar) | |
| [1.20.1 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.3/baritone-api-forge-1.10.3.jar) | [1.20.1 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.3/baritone-api-fabric-1.10.3.jar) | |
| [1.20.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-forge-1.10.4.jar) | [1.20.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-fabric-1.10.4.jar) | [1.20.3 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-neoforge-1.10.4.jar) |
| [1.20.4 Forge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-forge-1.10.4.jar) | [1.20.4 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-fabric-1.10.4.jar) | [1.20.4 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.10.4/baritone-api-neoforge-1.10.4.jar) |
| [1.21.1 Forge](https://github.com/cabaletta/baritone/releases/download/v1.11.2/baritone-api-forge-1.11.2.jar) | [1.21.1 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.11.2/baritone-api-fabric-1.11.2.jar) | [1.21.1 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.11.2/baritone-api-neoforge-1.11.2.jar) |
| [1.21.3 Forge](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-forge-1.11.1.jar) | [1.21.3 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-fabric-1.11.1.jar) | [1.21.3 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.11.1/baritone-api-neoforge-1.11.1.jar) |
| [1.21.4 Forge](https://github.com/cabaletta/baritone/releases/download/v1.13.1/baritone-api-forge-1.13.1.jar) | [1.21.4 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.13.1/baritone-api-fabric-1.13.1.jar) | [1.21.4 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.13.1/baritone-api-neoforge-1.13.1.jar) |
| [1.21.5 Forge](https://github.com/cabaletta/baritone/releases/download/v1.14.0/baritone-api-forge-1.14.0.jar) | [1.21.5 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.14.0/baritone-api-fabric-1.14.0.jar) | [1.21.5 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.14.0/baritone-api-neoforge-1.14.0.jar) |
| [1.21.6 Forge](https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-forge-1.15.0.jar) | [1.21.6 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-fabric-1.15.0.jar) | [1.21.6 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-neoforge-1.15.0.jar) |
| [1.21.7 Forge](https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-forge-1.15.0.jar) | [1.21.7 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-fabric-1.15.0.jar) | [1.21.7 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-neoforge-1.15.0.jar) |
| [1.21.8 Forge](https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-forge-1.15.0.jar) | [1.21.8 Fabric](https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-fabric-1.15.0.jar) | [1.21.8 NeoForge](https://github.com/cabaletta/baritone/releases/download/v1.15.0/baritone-api-neoforge-1.15.0.jar) |
**How to immediately get started:** Type `#goto 1000 500` in chat to go to x=1000 z=500. Type `#mine diamond_ore` to mine diamond ore. Type `#stop` to stop. For more, read [the usage page](USAGE.md) and/or watch this [tutorial playlist](https://www.youtube.com/playlist?list=PLnwnJ1qsS7CoQl9Si-RTluuzCo_4Oulpa). Also try `#elytra` for Elytra flying in the Nether using fireworks ([trailer](https://youtu.be/4bGGPo8yiHo), [usage](https://youtu.be/NnSlQi-68eQ)). For help, join the [Baritone Discord Server](http://discord.gg/s6fRBAUpmr).
For other versions of Minecraft or more complicated situations or for development, see [Installation & setup](SETUP.md). For 1.16.5, [click here](https://www.youtube.com/watch?v=_4eVJ9Qz2J8) and see description. Once Baritone is installed, look [here](USAGE.md) for instructions on how to use it. There's a [showcase video](https://youtu.be/CZkLXWo4Fg4) made by @Adovin#6313 on Baritone which I recommend. For help, join the [Baritone Discord Server](http://discord.gg/s6fRBAUpmr).
This project is an updated version of [MineBot](https://github.com/leijurv/MineBot/),
the original version of the bot for Minecraft 1.8.9, rebuilt for 1.12.2 onwards. Baritone focuses on reliability and particularly performance (it's over [30x faster](https://github.com/cabaletta/baritone/pull/180#issuecomment-423822928) than MineBot at calculating paths).
Have committed at least once a day from Aug 1, 2018, to Aug 1, 2019.
1Leijurv3DWTrGAfmmiTphjhXLvQiHg7K2
# Getting Started
Here are some links to help to get started:
- [Features](FEATURES.md)
- [Installation & setup](SETUP.md)
- [API Javadocs](https://baritone.leijurv.com/)
- [Settings](https://baritone.leijurv.com/baritone/api/Settings.html#field.detail)
- [Usage (chat control)](USAGE.md)
## Stars over time
[](https://starchart.cc/cabaletta/baritone)
# API
The API is heavily documented, you can find the Javadocs for the latest release [here](https://baritone.leijurv.com/).
Please note that usage of anything located outside of the ``baritone.api`` package is not supported by the API release
jar.
Below is an example of basic usage for changing some settings, and then pathing to an X/Z goal.
```java
BaritoneAPI.getSettings().allowSprint.value = true;
BaritoneAPI.getSettings().primaryTimeoutMS.value = 2000L;
BaritoneAPI.getProvider().getPrimaryBaritone().getCustomGoalProcess().setGoalAndPath(new GoalXZ(10000, 20000));
```
# FAQ
## Can I use Baritone as a library in my custom utility client?
That's what it's for, sure! (As long as usage complies with the LGPL 3.0 License)
## How is it so fast?
Magic. (Hours of [leijurv](https://github.com/leijurv/) enduring excruciating pain)
### Additional Special Thanks To:

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications.
YourKit is the creator of the [YourKit Java Profiler](https://www.yourkit.com/java/profiler/), [YourKit .NET Profiler](https://www.yourkit.com/.net/profiler/), and [YourKit YouMonitor](https://www.yourkit.com/youmonitor/).
We thank them for granting Baritone an OSS license so that we can make our software the best it can be.
## Why is it called Baritone?
It's named for FitMC's deep sultry voice.
================================================
FILE: SETUP.md
================================================
# Installation
The easiest way to install Baritone is to install it as Forge/Neoforge/Fabric mod, but if you know how you can also use it with a custom `version.json`
(Examples: [1.14.4](https://www.dropbox.com/s/rkml3hjokd3qv0m/1.14.4-Baritone.zip?dl=1), [1.15.2](https://www.dropbox.com/s/8rx6f0kts9hvd4f/1.15.2-Baritone.zip?dl=1), [1.16.5](https://www.dropbox.com/s/i6f292o2i7o9acp/1.16.5-Baritone.zip?dl=1)).
Once Baritone is installed, look [here](USAGE.md) for instructions on how to use it.
## Prebuilt official releases
Releases are made rarely and are not always up to date with the latest features and bug fixes.
Link to the releases page: [Releases](https://github.com/cabaletta/baritone/releases)
The mapping between Minecraft versions and major Baritone versions is as follows
| Minecraft version | 1.12 | 1.13 | 1.14 | 1.15 | 1.16 | 1.17 | 1.18 | 1.19 | 1.20 | 1.21 | 1.21.4 | 1.21.5 | 1.21.6 - 1.21.8 |
|-------------------|------|------|------|------|------|------|------|------|-------|-------|--------|--------|------------------|
| Baritone version | v1.2 | v1.3 | v1.4 | v1.5 | v1.6 | v1.7 | v1.8 | v1.9 | v1.10 | v1.11 | v1.13 | v1.14 | v1.15 |
Any official release will be GPG signed by leijurv (44A3EA646EADAC6A). Please verify that the hash of the file you download is in `checksums.txt` and that `checksums_signed.asc` is a valid signature by that public keys of `checksums.txt`.
The build is fully deterministic and reproducible, and you can verify that by running `docker build --no-cache -t cabaletta/baritone .` yourself and comparing the shasum. This works identically on Travis, Mac, and Linux (if you have docker on Windows, I'd be grateful if you could let me know if it works there too).
## Artifacts
Building Baritone will create the final artifacts in the ``dist`` directory. These are the same as the artifacts created in the [releases](https://github.com/cabaletta/baritone/releases).
**The Forge, NeoForge and Fabric releases can simply be added as a Forge/Neoforge/Fabric mods.**
If another one of your other mods has a Baritone integration, you want `baritone-api-*-VERSION.jar`.
If you want to report a bug and spare us some effort, you want `baritone-unoptimized-*-VERSION.jar`.
Otherwise, you want `baritone-standalone-*-VERSION.jar`
Here's what the various qualifiers mean
- **API**: Only the non-api packages are obfuscated. This should be used in environments where other mods would like to use Baritone's features.
- **Standalone**: Everything is obfuscated. Other mods cannot use Baritone, but you get a bit of extra performance.
- **Unoptimized**: Nothing is obfuscated. This shouldn't be used in production, but is really helpful for crash reports.
- **No loader**: Loadable as a launchwrapper tweaker against vanilla Minecraft using a custom `version.json`.
- **Forge/Neoforge/Fabric**: Loadable as a standard mod using the respective loader. The fabric build may or may not work on Quilt.
If you build from source you will also find mapping files in the `dist` directory. These contain the renamings done by ProGuard and are useful if you want to read obfuscated stack traces.
## Build it yourself
- Clone or download Baritone

- If you choose to download, make sure you download the correct branch and extract the ZIP archive.
- Follow one of the instruction sets below, based on your preference
## Command Line
On Mac OSX and Linux, use `./gradlew` instead of `gradlew`.
The recommended Java versions by Minecraft version are
| Minecraft version | Java version |
|-------------------------------|---------------|
| 1.12.2 - 1.16.5 | 8 |
| 1.17.1 | 16 |
| 1.18.2 - 1.20.4 | 17 |
| 1.20.5 - 1.21.8 | 21 |
Download java: https://adoptium.net/
To check which java version you are using do `java -version` in a command prompt or terminal.
### Building Baritone
These tasks depend on the minecraft version, but are (for the most part) standard for building mods.
For more details, see [the build ci action](/.github/workflows/gradle_build.yml) of the branch you want to build.
For most branches `gradlew build` should build everything, but there are exceptions and this file might be out of date.
More specifically, on older branches the setup used to be that `gradlew build` builds the tweaker jar
and `gradlew build -Pbaritone.forge_build` / `gradlew build -Pbaritone.fabric_build` are needed to build
for Forge/Fabric instead. And you might have to run `setupDecompWorkspace` first.
## IntelliJ
- Open the project in IntelliJ as a Gradle project
- Refresh the Gradle project (or, to be safe, just restart IntelliJ)
- Depending on the minecraft version, you may need to run `setupDecompWorkspace` or `genIntellijRuns` in order to get everything working
## Github Actions
Most branches have a CI workflow at `.github/workflows/gradle_build.yml`. If you fork this repository and enable actions for your fork
you can push a dummy commit to trigger it and have GitHub build Baritone for you.
If the commit you want to build is less than 90 days old, you can also find the corresponding workflow run in
[this list](https://github.com/cabaletta/baritone/actions/workflows/gradle_build.yml) and download the artifacts from there.
================================================
FILE: USAGE.md
================================================
(assuming you already have Baritone [set up](SETUP.md))
# Prefix
Baritone's chat control prefix is `#` by default. In Impact, you can also use `.b` as a prefix. (for example, `.b click` instead of `#click`)
Baritone commands can also by default be typed in the chatbox. However if you make a typo, like typing "gola 10000 10000" instead of "goal" it goes into public chat, which is bad, so using `#` is suggested.
To disable direct chat control (with no prefix), turn off the `chatControl` setting. To disable chat control with the `#` prefix, turn off the `prefixControl` setting. In Impact, `.b` cannot be disabled. Be careful that you don't leave yourself with all control methods disabled (if you do, reset your settings by deleting the file `minecraft/baritone/settings.txt` and relaunching).
# For Baritone 1.2.10+, 1.3.5+, 1.4.2+
Lots of the commands have changed, BUT `#help` is improved vastly (its clickable! commands have tab completion! oh my!).
Try `#help` I promise it won't just send you back here =)
"wtf where is cleararea" -> look at `#help sel`
"wtf where is goto death, goto waypoint" -> look at `#help wp`
just look at `#help` lmao
Watch this [showcase video](https://youtu.be/CZkLXWo4Fg4)!
# Commands
[Tutorial playlist](https://www.youtube.com/playlist?list=PLnwnJ1qsS7CoQl9Si-RTluuzCo_4Oulpa)
**All** of these commands may need a prefix before them, as above ^.
`help`
To toggle a boolean setting, just say its name in chat (for example saying `allowBreak` toggles whether Baritone will consider breaking blocks). For a numeric setting, say its name then the new value (like `primaryTimeoutMS 250`). It's case insensitive. To reset a setting to its default value, say `acceptableThrowawayItems reset`. To reset all settings, say `reset`. To see all settings that have been modified from their default values, say `modified`.
Commands in Baritone:
- `thisway 1000` then `path` to go in the direction you're facing for a thousand blocks
- `goal x y z` or `goal x z` or `goal y`, then `path` to set a goal to a certain coordinate then path to it
- `goto x y z` or `goto x z` or `goto y` to go to a certain coordinate (in a single step, starts going immediately)
- `goal` to set the goal to your player's feet
- `goal clear` to clear the goal
- `cancel` or `stop` to stop everything, `forcecancel` is also an option
- `goto portal` or `goto ender_chest` or `goto block_type` to go to a block. (in Impact, `.goto` is an alias for `.b goto` for the most part)
- `mine diamond_ore iron_ore` to mine diamond ore or iron ore (turn on the setting `legitMine` to only mine ores that it can actually see. It will explore randomly around y=11 until it finds them.) An amount of blocks can also be specified, for example, `mine 64 diamond_ore`.
- `click` to click your destination on the screen. Right click path to on top of the block, left click to path into it (either at foot level or eye level), and left click and drag to select an area (`#help sel` to see what you can do with that selection).
- `follow player playerName` to follow a player. `follow players` to follow any players in range (combine with Kill Aura for a fun time). `follow entities` to follow any entities. `follow entity pig` to follow entities of a specific type.
- `wp` for waypoints. A "tag" is like "home" (created automatically on right clicking a bed) or "death" (created automatically on death) or "user" (has to be created manually). So you might want `#wp save user coolbiome`, then to set the goal `#wp goal coolbiome` then `#path` to path to it. For death, `#wp goal death` will list waypoints under the "death" tag (remember stuff is clickable!)
- `build` to build a schematic. `build blah.schematic` will load `schematics/blah.schematic` and build it with the origin being your player feet. `build blah.schematic x y z` to set the origin. Any of those can be relative to your player (`~ 69 ~-420` would build at x=player x, y=69, z=player z-420).
- `schematica` to build the schematic that is currently open in schematica
- `tunnel` to dig and make a tunnel, 1x2. It will only deviate from the straight line if necessary such as to avoid lava. For a dumber tunnel that is really just cleararea, you can `tunnel 3 2 100`, to clear an area 3 high, 2 wide, and 100 deep.
- `farm` to automatically harvest, replant, or bone meal crops. Use `farm <range>` or `farm <range> <waypoint>` to limit the max distance from the starting point or a waypoint.
- `axis` to go to an axis or diagonal axis at y=120 (`axisHeight` is a configurable setting, defaults to 120).
- `explore x z` to explore the world from the origin of x,z. Leave out x and z to default to player feet. This will continually path towards the closest chunk to the origin that it's never seen before. `explorefilter filter.json` with optional invert can be used to load in a list of chunks to load.
- `invert` to invert the current goal and path. This gets as far away from it as possible, instead of as close as possible. For example, do `goal` then `invert` to run as far as possible from where you're standing at the start.
- `come` tells Baritone to head towards your camera, useful when freecam doesn't move your player position.
- `blacklist` will stop baritone from going to the closest block so it won't attempt to get to it.
- `eta` to get information about the estimated time until the next segment and the goal, be aware that the ETA to your goal is really unprecise.
- `proc` to view miscellaneous information about the process currently controlling Baritone.
- `repack` to re-cache the chunks around you.
- `gc` to call `System.gc()` which may free up some memory.
- `render` to fix glitched chunk rendering without having to reload all of them.
- `reloadall` to reload Baritone's world cache or `saveall` to save Baritone's world cache.
- `find` to search through Baritone's cache and attempt to find the location of the block.
- `surface` or `top` to tell Baritone to head towards the closest surface-like area, this can be the surface or highest available air space.
- `version` to get the version of Baritone you're running
- `damn` daniel
All the settings and documentation are <a href="https://github.com/cabaletta/baritone/blob/master/src/api/java/baritone/api/Settings.java">here</a>. If you find HTML easier to read than Javadoc, you can look <a href="https://baritone.leijurv.com/baritone/api/Settings.html#field.detail">here</a>.
There are about a hundred settings, but here are some fun / interesting / important ones that you might want to look at changing in normal usage of Baritone. The documentation for each can be found at the above links.
- `allowBreak`
- `allowSprint`
- `allowPlace`
- `allowParkour`
- `allowParkourPlace`
- `blockPlacementPenalty`
- `renderCachedChunks` (and `cachedChunksOpacity`) <-- very fun but you need a beefy computer
- `avoidance` (avoidance of mobs / mob spawners)
- `legitMine`
- `followRadius`
- `backfill` (fill in tunnels behind you)
- `buildInLayers`
- `buildRepeatDistance` and `buildRepeatDirection`
- `worldExploringChunkOffset`
- `acceptableThrowawayItems`
- `blocksToAvoidBreaking`
- `mineScanDroppedItems`
- `allowDiagonalAscend`
# Troubleshooting / common issues
## Why doesn't Baritone respond to any of my chat commands?
This could be one of many things.
First, make sure it's actually installed. An easy way to check is seeing if it created the folder `baritone` in your Minecraft folder.
Second, make sure that you're using the prefix properly, and that chat control is enabled in the way you expect.
For example, Impact disables direct chat control. (i.e. anything typed in chat without a prefix will be ignored and sent publicly). **This is a saved setting**, so if you run Impact once, `chatControl` will be off from then on, **even in other clients**.
So you'll need to use the `#` prefix or edit `baritone/settings.txt` in your Minecraft folder to undo that (specifically, remove the line `chatControl false` then restart your client).
## Why can I do `.goto x z` in Impact but nowhere else? Why can I do `-path to x z` in KAMI but nowhere else?
These are custom commands that they added; those aren't from Baritone.
The equivalent you're looking for is `goto x z`.
================================================
FILE: build.gradle
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
allprojects {
apply plugin: 'java'
apply plugin: "xyz.wagyourtail.unimined"
apply plugin: "maven-publish"
archivesBaseName = rootProject.archives_base_name
def vers = ""
try {
vers = 'git describe --always --tags --first-parent --dirty'.execute().text.trim()
} catch (Exception e) {
println "Version detection failed: " + e
}
if (!vers.startsWith("v")) {
println "using version number: " + rootProject.mod_version
version = rootProject.mod_version
} else {
version = vers.substring(1)
println "Detected version " + version
}
group = rootProject.maven_group
sourceCompatibility = targetCompatibility = JavaVersion.toVersion(project.java_version)
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(sourceCompatibility.majorVersion.toInteger()))
}
}
repositories {
maven {
name = 'spongepowered-repo'
url = 'https://repo.spongepowered.org/repository/maven-public/'
}
maven {
name = 'fabric-maven'
url = 'https://maven.fabricmc.net/'
}
maven {
name = 'impactdevelopment-repo'
url = 'https://impactdevelopment.github.io/maven/'
}
maven {
name = "ldtteam"
url = "https://maven.parchmentmc.net/"
}
// for the newer version of launchwrapper
maven {
name = "multimc-maven"
url = "https://files.multimc.org/maven/"
metadataSources {
artifact()
}
}
mavenCentral()
maven {
name = 'babbaj-repo'
url = 'https://babbaj.github.io/maven/'
}
}
dependencies {
compileOnly "org.spongepowered:mixin:${project.mixin_version}"
compileOnly "org.ow2.asm:asm:${project.asm_version}"
implementation "dev.babbaj:nether-pathfinder:${project.nether_pathfinder_version}"
}
unimined.minecraft(sourceSets.main, true) {
version rootProject.minecraft_version
mappings {
intermediary()
mojmap()
parchment("2023.06.26")
}
}
tasks.withType(JavaCompile).configureEach {
it.options.encoding = "UTF-8"
def targetVersion = project.java_version.toInteger()
if (JavaVersion.current().isJava9Compatible()) {
it.options.release = targetVersion
}
}
}
unimined.minecraft {
runs.off = true
defaultRemapJar = false
}
archivesBaseName = archivesBaseName + "-common"
sourceSets {
api {
compileClasspath += main.compileClasspath
runtimeClasspath += main.runtimeClasspath
}
main {
compileClasspath += api.output
runtimeClasspath += api.output
}
test {
compileClasspath += main.compileClasspath + main.runtimeClasspath + main.output
runtimeClasspath += main.compileClasspath + main.runtimeClasspath + main.output
}
launch {
compileClasspath += main.compileClasspath + main.runtimeClasspath + main.output
runtimeClasspath += main.compileClasspath + main.runtimeClasspath + main.output
}
schematica_api {
compileClasspath += main.compileClasspath
runtimeClasspath += main.runtimeClasspath
}
main {
compileClasspath += schematica_api.output
runtimeClasspath += schematica_api.output
}
}
dependencies {
testImplementation 'junit:junit:4.13.2'
}
jar {
from sourceSets.main.output, sourceSets.launch.output, sourceSets.api.output
}
javadoc {
options.addStringOption('Xwerror', '-quiet') // makes the build fail on travis when there is a javadoc error
options.linkSource true
options.encoding "UTF-8" // allow emoji in comments :^)
source = sourceSets.api.allJava
classpath += sourceSets.api.compileClasspath
}
================================================
FILE: buildSrc/.gitignore
================================================
build/
.gradle/
out/
================================================
FILE: buildSrc/build.gradle
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
repositories {
mavenLocal()
maven {
name = 'WagYourMaven'
url = 'https://maven.wagyourtail.xyz/releases'
}
maven {
name = 'ForgeMaven'
url = 'https://maven.minecraftforge.net/'
}
maven {
name = 'FabricMaven'
url = 'https://maven.fabricmc.net/'
}
maven {
name = 'NeoForgedMaven'
url = 'https://maven.neoforged.net/'
}
mavenCentral()
}
dependencies {
implementation group: 'com.google.code.gson', name: 'gson', version: '2.9.0'
implementation group: 'commons-io', name: 'commons-io', version: '2.7'
implementation group: 'xyz.wagyourtail.unimined', name: 'xyz.wagyourtail.unimined.gradle.plugin', version: '1.0.5'
}
================================================
FILE: buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
package baritone.gradle.task;
import org.gradle.api.DefaultTask;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.Optional;
import org.gradle.api.tasks.TaskAction;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
* @author Brady
* @since 10/12/2018
*/
class BaritoneGradleTask extends DefaultTask {
protected static final String
PROGUARD_ZIP = "proguard-%s.zip",
PROGUARD_JAR = "proguard-%s.jar",
PROGUARD_CONFIG_TEMPLATE = "scripts/proguard.pro",
PROGUARD_CONFIG_DEST = "template.pro",
PROGUARD_API_CONFIG = "api.pro",
PROGUARD_STANDALONE_CONFIG = "standalone.pro",
PROGUARD_EXPORT_PATH = "proguard_out.jar",
PROGUARD_MAPPING_DIR = "mapping",
ARTIFACT_STANDARD = "%s-%s.jar",
ARTIFACT_UNOPTIMIZED = "%s-unoptimized-%s.jar",
ARTIFACT_API = "%s-api-%s.jar",
ARTIFACT_STANDALONE = "%s-standalone-%s.jar";
protected String artifactName, artifactVersion;
protected Path
artifactPath,
artifactUnoptimizedPath, artifactApiPath, artifactStandalonePath, // these are different for forge builds
proguardOut;
@Input
@Optional
protected String compType = null;
public String getCompType() {
return compType;
}
public void setCompType(String compType) {
this.compType = compType;
}
public BaritoneGradleTask() {
this.artifactName = getProject().getRootProject().getProperties().get("archives_base_name").toString();
}
public void doFirst() {
if (compType != null) {
this.artifactVersion = compType + "-" + getProject().getVersion();
} else {
this.artifactVersion = getProject().getVersion().toString();
}
this.artifactPath = this.getBuildFile(formatVersion(ARTIFACT_STANDARD));
this.artifactUnoptimizedPath = this.getBuildFile(formatVersion(ARTIFACT_UNOPTIMIZED));
this.artifactApiPath = this.getBuildFile(formatVersion(ARTIFACT_API));
this.artifactStandalonePath = this.getBuildFile(formatVersion(ARTIFACT_STANDALONE));
this.proguardOut = this.getTemporaryFile(PROGUARD_EXPORT_PATH);
}
protected void verifyArtifacts() throws IllegalStateException {
if (!Files.exists(this.artifactPath)) {
throw new IllegalStateException("Artifact not found! Run build first! Missing file: " + this.artifactPath);
}
}
protected void write(InputStream stream, Path file) throws IOException {
if (Files.exists(file)) {
Files.delete(file);
}
Files.copy(stream, file);
}
protected String formatVersion(String string) {
return String.format(string, this.artifactName, this.artifactVersion);
}
protected Path getRelativeFile(String file) {
return Paths.get(new File(getProject().getBuildDir(), file).getAbsolutePath());
}
protected Path getRootRelativeFile(String file) {
return Paths.get(new File(getProject().getRootDir(), file).getAbsolutePath());
}
protected Path getTemporaryFile(String file) {
return Paths.get(new File(getTemporaryDir(), file).getAbsolutePath());
}
protected Path getBuildFile(String file) {
return getRelativeFile("libs/" + file);
}
protected String addCompTypeFirst(String string) {
return compType == null ? string : compType + "-" + string;
}
}
================================================
FILE: buildSrc/src/main/java/baritone/gradle/task/CreateDistTask.java
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
package baritone.gradle.task;
import org.gradle.api.tasks.TaskAction;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.OpenOption;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.security.MessageDigest;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
/**
* @author Brady
* @since 10/12/2018
*/
public class CreateDistTask extends BaritoneGradleTask {
private static MessageDigest SHA1_DIGEST;
@TaskAction
protected void exec() throws Exception {
super.doFirst();
super.verifyArtifacts();
// Define the distribution file paths
Path api = getRootRelativeFile("dist/" + getFileName(artifactApiPath));
Path standalone = getRootRelativeFile("dist/" + getFileName(artifactStandalonePath));
Path unoptimized = getRootRelativeFile("dist/" + getFileName(artifactUnoptimizedPath));
// NIO will not automatically create directories
Path dir = getRootRelativeFile("dist/");
if (!Files.exists(dir)) {
Files.createDirectory(dir);
}
// Copy build jars to dist/
// TODO: dont copy files that dont exist
Files.copy(this.artifactApiPath, api, REPLACE_EXISTING);
Files.copy(this.artifactStandalonePath, standalone, REPLACE_EXISTING);
Files.copy(this.artifactUnoptimizedPath, unoptimized, REPLACE_EXISTING);
// Calculate all checksums and format them like "shasum"
List<String> shasum = Files.list(getRootRelativeFile("dist/"))
.filter(e -> e.getFileName().toString().endsWith(".jar"))
.map(path -> sha1(path) + " " + path.getFileName().toString())
.collect(Collectors.toList());
shasum.forEach(System.out::println);
// Write the checksums to a file
Files.write(getRootRelativeFile("dist/checksums.txt"), shasum);
}
private static String getFileName(Path p) {
return p.getFileName().toString();
}
private static synchronized String sha1(Path path) {
try {
if (SHA1_DIGEST == null) {
SHA1_DIGEST = MessageDigest.getInstance("SHA-1");
}
return bytesToHex(SHA1_DIGEST.digest(Files.readAllBytes(path))).toLowerCase();
} catch (Exception e) {
// haha no thanks
throw new IllegalStateException(e);
}
}
private static final byte[] HEX_ARRAY = "0123456789ABCDEF".getBytes(StandardCharsets.US_ASCII);
public static String bytesToHex(byte[] bytes) {
byte[] hexChars = new byte[bytes.length * 2];
for (int j = 0; j < bytes.length; j++) {
int v = bytes[j] & 0xFF;
hexChars[j * 2] = HEX_ARRAY[v >>> 4];
hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F];
}
return new String(hexChars, StandardCharsets.UTF_8);
}
}
================================================
FILE: buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
package baritone.gradle.task;
import baritone.gradle.util.Determinizer;
import org.gradle.api.plugins.JavaPluginConvention;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.SourceSetContainer;
import org.gradle.api.tasks.TaskAction;
import org.gradle.api.tasks.TaskCollection;
import org.gradle.api.tasks.compile.ForkOptions;
import org.gradle.api.tasks.compile.JavaCompile;
import org.gradle.internal.jvm.Jvm;
import org.gradle.jvm.toolchain.JavaLanguageVersion;
import org.gradle.jvm.toolchain.JavaLauncher;
import org.gradle.jvm.toolchain.JavaToolchainService;
import xyz.wagyourtail.unimined.api.UniminedExtension;
import xyz.wagyourtail.unimined.api.minecraft.MinecraftConfig;
import java.io.*;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
/**
* @author Brady
* @since 10/11/2018
*/
public class ProguardTask extends BaritoneGradleTask {
@Input
private String proguardVersion;
public String getProguardVersion() {
return proguardVersion;
}
private List<String> requiredLibraries;
@TaskAction
protected void exec() throws Exception {
super.doFirst();
super.verifyArtifacts();
// "Haha brady why don't you make separate tasks"
downloadProguard();
extractProguard();
generateConfigs();
processArtifact();
proguardApi();
proguardStandalone();
cleanup();
}
UniminedExtension ext = getProject().getExtensions().getByType(UniminedExtension.class);
SourceSetContainer sourceSets = getProject().getExtensions().getByType(SourceSetContainer.class);
private File getMcJar() {
MinecraftConfig mcc = ext.getMinecrafts().get(sourceSets.getByName("main"));
return mcc.getMinecraft(mcc.getMcPatcher().getProdNamespace(), mcc.getMcPatcher().getProdNamespace()).toFile();
}
private boolean isMcJar(File f) {
MinecraftConfig mcc = ext.getMinecrafts().get(sourceSets.getByName("main"));
return mcc.isMinecraftJar(f.toPath());
}
private void processArtifact() throws Exception {
if (Files.exists(this.artifactUnoptimizedPath)) {
Files.delete(this.artifactUnoptimizedPath);
}
Determinizer.determinize(this.artifactPath.toString(), this.artifactUnoptimizedPath.toString(), List.of(), false);
}
private void downloadProguard() throws Exception {
Path proguardZip = getTemporaryFile(String.format(PROGUARD_ZIP, proguardVersion));
if (!Files.exists(proguardZip)) {
write(new URL(String.format("https://github.com/Guardsquare/proguard/releases/download/v%s/proguard-%s.zip", proguardVersion, proguardVersion)).openStream(), proguardZip);
}
}
private void extractProguard() throws Exception {
Path proguardJar = getTemporaryFile(String.format(PROGUARD_JAR, proguardVersion));
if (!Files.exists(proguardJar)) {
ZipFile zipFile = new ZipFile(getTemporaryFile(String.format(PROGUARD_ZIP, proguardVersion)).toFile());
ZipEntry zipJarEntry = zipFile.getEntry(String.format("proguard-%s/lib/proguard.jar", proguardVersion));
write(zipFile.getInputStream(zipJarEntry), proguardJar);
zipFile.close();
}
}
private JavaLauncher getJavaLauncherForProguard() {
var toolchains = getProject().getExtensions().getByType(JavaToolchainService.class);
var toolchain = toolchains.launcherFor((spec) -> {
spec.getLanguageVersion().set(JavaLanguageVersion.of(getProject().findProperty("java_version").toString()));
}).getOrNull();
if (toolchain == null) {
throw new IllegalStateException("Java toolchain not found");
}
return toolchain;
}
private void generateConfigs() throws Exception {
Files.copy(getRootRelativeFile(PROGUARD_CONFIG_TEMPLATE), getTemporaryFile(PROGUARD_CONFIG_DEST), StandardCopyOption.REPLACE_EXISTING);
// Setup the template that will be used to derive the API and Standalone configs
List<String> template = Files.readAllLines(getTemporaryFile(PROGUARD_CONFIG_DEST));
template.add(0, "-injars '" + this.artifactPath.toString() + "'");
template.add(1, "-outjars '" + this.getTemporaryFile(PROGUARD_EXPORT_PATH) + "'");
template.add(2, "-libraryjars <java.home>/jmods/java.base.jmod(!**.jar;!module-info.class)");
template.add(3, "-libraryjars <java.home>/jmods/java.desktop.jmod(!**.jar;!module-info.class)");
template.add(4, "-libraryjars <java.home>/jmods/jdk.unsupported.jmod(!**.jar;!module-info.class)");
{
final Stream<File> libraries;
File mcJar;
try {
mcJar = getMcJar();
} catch (Exception e) {
throw new RuntimeException("Failed to find Minecraft jar", e);
}
{
// Discover all of the libraries that we will need to acquire from gradle
final Stream<File> dependencies = acquireDependencies()
// remove MCP mapped jar, and nashorn
.filter(f -> !f.toString().endsWith("-recomp.jar") && !f.getName().startsWith("nashorn") && !f.getName().startsWith("coremods"));
libraries = dependencies
.map(f -> isMcJar(f) ? mcJar : f);
}
libraries.forEach(f -> {
template.add(2, "-libraryjars '" + f + "'");
});
}
Files.createDirectories(this.getRootRelativeFile(PROGUARD_MAPPING_DIR));
List<String> api = new ArrayList<>(template);
api.add(2, "-printmapping " + new File(this.getRootRelativeFile(PROGUARD_MAPPING_DIR).toFile(), "mappings-" + addCompTypeFirst("api.txt")));
// API config doesn't require any changes from the changes that we made to the template
Files.write(getTemporaryFile(compType + PROGUARD_API_CONFIG), api);
// For the Standalone config, don't keep the API package
List<String> standalone = new ArrayList<>(template);
standalone.removeIf(s -> s.contains("# this is the keep api"));
standalone.add(2, "-printmapping " + new File(this.getRootRelativeFile(PROGUARD_MAPPING_DIR).toFile(), "mappings-" + addCompTypeFirst("standalone.txt")));
Files.write(getTemporaryFile(compType + PROGUARD_STANDALONE_CONFIG), standalone);
}
private Stream<File> acquireDependencies() {
return getProject().getConvention().getPlugin(JavaPluginConvention.class).getSourceSets().findByName("main").getCompileClasspath().getFiles()
.stream()
.filter(File::isFile);
}
private void proguardApi() throws Exception {
runProguard(getTemporaryFile(compType + PROGUARD_API_CONFIG));
Determinizer.determinize(this.proguardOut.toString(), this.artifactApiPath.toString(), List.of(), false);
}
private void proguardStandalone() throws Exception {
runProguard(getTemporaryFile(compType + PROGUARD_STANDALONE_CONFIG));
Determinizer.determinize(this.proguardOut.toString(), this.artifactStandalonePath.toString(), List.of(), false);
}
private static final class Pair<A, B> {
public final A a;
public final B b;
private Pair(final A a, final B b) {
this.a = a;
this.b = b;
}
@Override
public String toString() {
return "Pair{" +
"a=" + this.a +
", " +
"b=" + this.b +
'}';
}
}
private void cleanup() {
try {
Files.delete(this.proguardOut);
} catch (IOException ignored) {}
}
public void setProguardVersion(String url) {
this.proguardVersion = url;
}
private void runProguard(Path config) throws Exception {
// Delete the existing proguard output file. Proguard probably handles this already, but why not do it ourselves
if (Files.exists(this.proguardOut)) {
Files.delete(this.proguardOut);
}
Path workingDirectory = getTemporaryFile("");
getProject().javaexec(spec -> {
spec.workingDir(workingDirectory.toFile());
spec.args("@" + workingDirectory.relativize(config));
spec.classpath(getTemporaryFile(String.format(PROGUARD_JAR, proguardVersion)));
spec.executable(getJavaLauncherForProguard().getExecutablePath().getAsFile());
}).assertNormalExitValue().rethrowFailure();
}
}
================================================
FILE: buildSrc/src/main/java/baritone/gradle/util/Determinizer.java
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
package baritone.gradle.util;
import com.google.gson.*;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import java.io.*;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarOutputStream;
import java.util.stream.Collectors;
/**
* Make a .jar file deterministic by sorting all entries by name, and setting all the last modified times to 42069.
* This makes the build 100% reproducible since the timestamp when you built it no longer affects the final file.
*
* @author leijurv
*/
public class Determinizer {
public static void determinize(String inputPath, String outputPath, List<File> toInclude, boolean doForgeReplacementOfMetaInf) throws IOException {
System.out.println("Running Determinizer");
System.out.println(" Input path: " + inputPath);
System.out.println(" Output path: " + outputPath);
System.out.println(" Shade: " + toInclude);
try (
JarFile jarFile = new JarFile(new File(inputPath));
JarOutputStream jos = new JarOutputStream(new FileOutputStream(new File(outputPath)))
) {
List<JarEntry> entries = jarFile.stream()
.sorted(Comparator.comparing(JarEntry::getName))
.collect(Collectors.toList());
for (JarEntry entry : entries) {
if (entry.getName().equals("META-INF/fml_cache_annotation.json")) {
continue;
}
if (entry.getName().equals("META-INF/fml_cache_class_versions.json")) {
continue;
}
JarEntry clone = new JarEntry(entry.getName());
clone.setTime(42069);
jos.putNextEntry(clone);
if (entry.getName().endsWith(".refmap.json")) {
JsonElement json = new JsonParser().parse(new InputStreamReader(jarFile.getInputStream(entry)));
jos.write(writeSorted(json).getBytes());
} else if (entry.getName().equals("META-INF/MANIFEST.MF") && doForgeReplacementOfMetaInf) { // only replace for forge jar
ByteArrayOutputStream cancer = new ByteArrayOutputStream();
copy(jarFile.getInputStream(entry), cancer);
String manifest = new String(cancer.toByteArray());
if (!manifest.contains("baritone.launch.tweaker.BaritoneTweaker")) {
throw new IllegalStateException("unable to replace");
}
manifest = manifest.replace("baritone.launch.tweaker.BaritoneTweaker", "org.spongepowered.asm.launch.MixinTweaker");
jos.write(manifest.getBytes());
} else {
copy(jarFile.getInputStream(entry), jos);
}
}
for (File file : toInclude) {
try (JarFile mixin = new JarFile(file)) {
for (JarEntry entry : mixin.stream().sorted(Comparator.comparing(JarEntry::getName)).collect(Collectors.toList())) {
if (entry.getName().startsWith("META-INF") && !entry.getName().startsWith("META-INF/services")) {
continue;
}
jos.putNextEntry(entry);
copy(mixin.getInputStream(entry), jos);
}
}
}
jos.finish();
}
System.out.println("Done with determinizer");
}
private static void copy(InputStream is, OutputStream os) throws IOException {
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) != -1) {
os.write(buffer, 0, len);
}
}
private static String writeSorted(JsonElement in) throws IOException {
StringWriter writer = new StringWriter();
JsonWriter jw = new JsonWriter(writer);
ORDERED_JSON_WRITER.write(jw, in);
return writer.toString() + "\n";
}
/**
* All credits go to GSON and its contributors. GSON is licensed under the Apache 2.0 License.
* This implementation has been modified to write {@link JsonObject} keys in order.
*
* @see <a href="https://github.com/google/gson/blob/master/LICENSE">GSON License</a>
* @see <a href="https://github.com/google/gson/blob/master/gson/src/main/java/com/google/gson/internal/bind/TypeAdapters.java#L698">Original Source</a>
*/
private static final TypeAdapter<JsonElement> ORDERED_JSON_WRITER = new TypeAdapter<JsonElement>() {
@Override
public JsonElement read(JsonReader in) {
return null;
}
@Override
public void write(JsonWriter out, JsonElement value) throws IOException {
if (value == null || value.isJsonNull()) {
out.nullValue();
} else if (value.isJsonPrimitive()) {
JsonPrimitive primitive = value.getAsJsonPrimitive();
if (primitive.isNumber()) {
out.value(primitive.getAsNumber());
} else if (primitive.isBoolean()) {
out.value(primitive.getAsBoolean());
} else {
out.value(primitive.getAsString());
}
} else if (value.isJsonArray()) {
out.beginArray();
for (JsonElement e : value.getAsJsonArray()) {
write(out, e);
}
out.endArray();
} else if (value.isJsonObject()) {
out.beginObject();
List<Map.Entry<String, JsonElement>> entries = new ArrayList<>(value.getAsJsonObject().entrySet());
entries.sort(Comparator.comparing(Map.Entry::getKey));
for (Map.Entry<String, JsonElement> e : entries) {
out.name(e.getKey());
write(out, e.getValue());
}
out.endObject();
} else {
throw new IllegalArgumentException("Couldn't write " + value.getClass());
}
}
};
}
================================================
FILE: fabric/build.gradle
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
import baritone.gradle.task.CreateDistTask
import baritone.gradle.task.ProguardTask
plugins {
id "com.github.johnrengelman.shadow" version "8.0.0"
}
archivesBaseName = archivesBaseName + "-fabric"
unimined.minecraft {
fabric {
loader project.fabric_version
}
}
configurations {
common
shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this.
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
}
dependencies {
// because of multiple sourcesets `common project(":")` doesn't work
for (sourceSet in rootProject.sourceSets) {
if (sourceSet == rootProject.sourceSets.test) continue
if (sourceSet == rootProject.sourceSets.schematica_api) continue
common sourceSet.output
shadowCommon sourceSet.output
}
include "dev.babbaj:nether-pathfinder:${project.nether_pathfinder_version}"
}
processResources {
inputs.property "version", project.version
filesMatching("fabric.mod.json") {
expand "version": project.version
}
}
shadowJar {
configurations = [project.configurations.shadowCommon]
archiveClassifier.set "dev-shadow"
}
remapJar {
inputFile.set shadowJar.archiveFile
dependsOn shadowJar
archiveClassifier.set null
}
jar {
archiveClassifier.set "dev"
}
components.java {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
skip()
}
}
task proguard(type: ProguardTask) {
proguardVersion "7.2.1"
compType "fabric"
}
task createDist(type: CreateDistTask, dependsOn: proguard) {
compType "fabric"
}
build.finalizedBy(createDist)
publishing {
publications {
mavenFabric(MavenPublication) {
artifactId = rootProject.archives_base_name + "-" + project.name
from components.java
}
}
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
}
}
================================================
FILE: fabric/src/main/resources/fabric.mod.json
================================================
{
"schemaVersion": 1,
"id": "baritone",
"version": "${version}",
"name": "Baritone",
"description": "Google Maps for Blockgame",
"authors": [
"leijurv", "Brady"
],
"contact": {
"homepage": "https://github.com/cabaletta/baritone",
"sources": "https://github.com/cabaletta/baritone",
"issues": "https://github.com/cabaletta/baritone/issues"
},
"license": "LGPL-3.0",
"icon": "assets/baritone/icon.png",
"environment": "*",
"entrypoints": {
},
"mixins": [
"mixins.baritone.json"
],
"depends": {
"fabricloader": ">=0.11.0",
"minecraft": "1.19.4"
},
"custom": {
"modmenu": {
"links": {
"modmenu.discord": "https://discord.gg/s6fRBAUpmr"
}
}
}
}
================================================
FILE: forge/build.gradle
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
import baritone.gradle.task.CreateDistTask
import baritone.gradle.task.ProguardTask
plugins {
id "com.github.johnrengelman.shadow" version "8.0.0"
}
archivesBaseName = archivesBaseName + "-forge"
unimined.minecraft {
mappings {
devFallbackNamespace "intermediary"
}
forge {
loader project.forge_version
mixinConfig ["mixins.baritone.json"]
}
}
//loom {
// forge {
// mixinConfig 'mixins.baritone.json'
// }
//}
configurations {
common
shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this.
compileClasspath.extendsFrom common
runtimeClasspath.extendsFrom common
}
dependencies {
// because of multiple sourcesets `common project(":")` doesn't work
for (sourceSet in rootProject.sourceSets) {
if (sourceSet == rootProject.sourceSets.test) continue
if (sourceSet == rootProject.sourceSets.schematica_api) continue
common sourceSet.output
shadowCommon sourceSet.output
}
shadowCommon "dev.babbaj:nether-pathfinder:${project.nether_pathfinder_version}"
}
processResources {
inputs.property "version", project.version
filesMatching("META-INF/mods.toml") {
expand "version": project.version
}
}
shadowJar {
configurations = [project.configurations.shadowCommon]
archiveClassifier.set "dev-shadow"
}
remapJar {
inputFile.set shadowJar.archiveFile
dependsOn shadowJar
archiveClassifier.set null
}
jar {
archiveClassifier.set "dev"
manifest {
attributes(
'MixinConfigs': 'mixins.baritone.json',
"MixinConnector": "baritone.launch.BaritoneMixinConnector",
'Implementation-Title': 'Baritone',
'Implementation-Version': version,
)
}
}
components.java {
withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) {
skip()
}
}
task proguard(type: ProguardTask) {
proguardVersion "7.2.1"
compType "forge"
}
task createDist(type: CreateDistTask, dependsOn: proguard) {
compType "forge"
}
build.finalizedBy(createDist)
publishing {
publications {
mavenFabric(MavenPublication) {
artifactId = rootProject.archives_base_name + "-" + project.name
from components.java
}
}
// See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
repositories {
// Add repositories to publish to here.
}
}
================================================
FILE: forge/gradle.properties
================================================
#
# This file is part of Baritone.
#
# Baritone is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Baritone is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with Baritone. If not, see <https://www.gnu.org/licenses/>.
#
loom.platform=forge
================================================
FILE: forge/src/main/java/baritone/launch/BaritoneForgeModXD.java
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
package baritone.launch;import net.minecraftforge.fml.common.Mod;
@Mod("baritoe")
public class BaritoneForgeModXD {
}
================================================
FILE: forge/src/main/resources/META-INF/mods.toml
================================================
# This is an example mods.toml file. It contains the data relating to the loading mods.
# There are several mandatory fields (#mandatory), and many more that are optional (#optional).
# The overall format is standard TOML format, v0.5.0.
# Note that there are a couple of TOML lists in this file.
# Find more information on toml format here: https://github.com/toml-lang/toml
# The name of the mod loader type to load - for regular FML @Mod mods it should be javafml
modLoader="javafml" #mandatory
# A version range to match for said mod loader - for regular FML @Mod it will be the forge version
loaderVersion="[33,)" #mandatory This is typically bumped every Minecraft version by Forge. See our download page for lists of versions.
license="https://raw.githubusercontent.com/cabaletta/baritone/1.16.2/LICENSE"
# A URL to refer people to when problems occur with this mod
issueTrackerURL="https://github.com/cabaletta/baritone/issues" #optional
# A list of mods - how many allowed here is determined by the individual mod loader
[[mods]] #mandatory
# The modid of the mod
modId="baritoe" #mandatory
# The version number of the mod - there's a few well known ${} variables useable here or just hardcode it
version="${version}" #mandatory
# A display name for the mod
displayName="Baritone" #mandatory
# A URL for the "homepage" for this mod, displayed in the mod UI
displayURL="https://github.com/cabaletta/baritone" #optional
# A file name (in the root of the mod JAR) containing a logo for display
#logoFile="examplemod.png" #optional
# A text field displayed in the mod UI
credits="Hat Gamers" #optional
# A text field displayed in the mod UI
authors="leijurv, Brady" #optional
# The description text for the mod (multi line!) (#mandatory)
description='''
A Minecraft pathfinder bot.
'''
[[dependencies.baritoe]]
modId="minecraft"
mandatory=true
# This version range declares a minimum of the current minecraft version up to but not including the next major version
versionRange="[1.19.4]"
ordering="NONE"
side="BOTH"
================================================
FILE: forge/src/main/resources/pack.mcmeta
================================================
{
"pack": {
"description": "null",
"pack_format": 8
}
}
================================================
FILE: gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
================================================
FILE: gradle.properties
================================================
org.gradle.jvmargs=-Xmx4G
mod_version=1.9.5
maven_group=baritone
archives_base_name=baritone
java_version=17
minecraft_version=1.19.4
forge_version=45.0.43
fabric_version=0.14.11
nether_pathfinder_version=1.4.1
// These dependencies are used for common and tweaker
// while mod loaders usually ship their own version
mixin_version=0.8.5
asm_version=9.3
================================================
FILE: gradlew
================================================
#!/usr/bin/env sh
#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MSYS* | MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
exec "$JAVACMD" "$@"
================================================
FILE: gradlew.bat
================================================
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
================================================
FILE: jitpack.yml
================================================
before_install:
- curl -s "https://get.sdkman.io" | bash
- sdk install java 17.0.5-tem
- sdk use java 17.0.5-tem
================================================
FILE: scripts/proguard.pro
================================================
-keepattributes Signature
-keepattributes *Annotation*
-keepattributes InnerClasses
-optimizationpasses 5
-verbose
-allowaccessmodification # anything not kept can be changed from public to private and inlined etc
-overloadaggressively
-dontusemixedcaseclassnames
# instead of renaming to a, b, c, rename to baritone.a, baritone.b, baritone.c so as to not conflict with minecraft's obfd classes
-flattenpackagehierarchy
-repackageclasses 'baritone'
# lwjgl is weird
-dontwarn org.lwjgl.**
# also lwjgl lol
-dontwarn module-info
# we dont have forge
-dontwarn baritone.launch.BaritoneForgeModXD
# progard doesn't like signature polymorphism
-dontwarn java.lang.invoke.MethodHandle
# please do not change the comment below
-keep class baritone.api.** { *; } # this is the keep api
# service provider needs these class names
-keep class baritone.BaritoneProvider
-keep class baritone.api.IBaritoneProvider
-keep class baritone.api.utils.MyChunkPos { *; } # even in standalone we need to keep this for gson reflect
-keepname class baritone.api.utils.BlockOptionalMeta # this name is exposed to the user, so we need to keep it in all builds
# Keep any class or member annotated with @KeepName so we dont have to put everything in the script
-keep,allowobfuscation @interface baritone.KeepName
-keep @baritone.KeepName class *
-keepclassmembers class * {
@baritone.KeepName *;
}
# setting names are reflected from field names, so keep field names
-keepclassmembers class baritone.api.Settings {
public <fields>;
}
# need to keep mixin names
-keep class baritone.launch.** { *; }
#try to keep usage of schematica in separate classes
-keep class baritone.utils.schematic.schematica.**
-keep class baritone.utils.schematic.litematica.**
#proguard doesnt like it when it cant find our fake schematica classes
-dontwarn baritone.utils.schematic.schematica.**
-dontwarn baritone.utils.schematic.litematica.**
# nether-pathfinder uses JNI to acess its own classes
# and some of our builds include it before running proguard
# conservatively keep all of it, even though only PathSegment.<init> is needed
-keep,allowoptimization class dev.babbaj.pathfinder.** { *; }
# Keep - Applications. Keep all application classes, along with their 'main'
# methods.
-keepclasseswithmembers public class * {
public static void main(java.lang.String[]);
}
# Also keep - Enumerations. Keep the special static methods that are required in
# enumeration classes.
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
# Also keep - Database drivers. Keep all implementations of java.sql.Driver.
-keep class * extends java.sql.Driver
# Also keep - Swing UI L&F. Keep all extensions of javax.swing.plaf.ComponentUI,
# along with the special 'createUI' method.
-keep class * extends javax.swing.plaf.ComponentUI {
public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);
}
# Keep names - Native method names. Keep all native class/method names.
-keepclasseswithmembers,includedescriptorclasses,allowshrinking class * {
native <methods>;
}
# Remove - System method calls. Remove all invocations of System
# methods without side effects whose return values are not used.
-assumenosideeffects public class java.lang.System {
public static long currentTimeMillis();
static java.lang.Class getCallerClass();
public static int identityHashCode(java.lang.Object);
public static java.lang.SecurityManager getSecurityManager();
public static java.util.Properties getProperties();
public static java.lang.String getProperty(java.lang.String);
public static java.lang.String getenv(java.lang.String);
public static java.lang.String mapLibraryName(java.lang.String);
public static java.lang.String getProperty(java.lang.String,java.lang.String);
}
# Remove - Math method calls. Remove all invocations of Math
# methods without side effects whose return values are not used.
-assumenosideeffects public class java.lang.Math {
public static double sin(double);
public static double cos(double);
public static double tan(double);
public static double asin(double);
public static double acos(double);
public static double atan(double);
public static double toRadians(double);
public static double toDegrees(double);
public static double exp(double);
public static double log(double);
public static double log10(double);
public static double sqrt(double);
public static double cbrt(double);
public static double IEEEremainder(double,double);
public static double ceil(double);
public static double floor(double);
public static double rint(double);
public static double atan2(double,double);
public static double pow(double,double);
public static int round(float);
public static long round(double);
public static double random();
public static int abs(int);
public static long abs(long);
public static float abs(float);
public static double abs(double);
public static int max(int,int);
public static long max(long,long);
public static float max(float,float);
public static double max(double,double);
public static int min(int,int);
public static long min(long,long);
public static float min(float,float);
public static double min(double,double);
public static double ulp(double);
public static float ulp(float);
public static double signum(double);
public static float signum(float);
public static double sinh(double);
public static double cosh(double);
public static double tanh(double);
public static double hypot(double,double);
public static double expm1(double);
public static double log1p(double);
}
# Remove - Number method calls. Remove all invocations of Number
# methods without side effects whose return values are not used.
-assumenosideeffects public class java.lang.* extends java.lang.Number {
public static java.lang.String toString(byte);
public static java.lang.Byte valueOf(byte);
# public static byte parseByte(java.lang.String);
# public static byte parseByte(java.lang.String,int);
# public static java.lang.Byte valueOf(java.lang.String,int);
# public static java.lang.Byte valueOf(java.lang.String);
# public static java.lang.Byte decode(java.lang.String);
public int compareTo(java.lang.Byte);
public static java.lang.String toString(short);
# public static short parseShort(java.lang.String);
# public static short parseShort(java.lang.String,int);
# public static java.lang.Short valueOf(java.lang.String,int);
# public static java.lang.Short valueOf(java.lang.String);
public static java.lang.Short valueOf(short);
# public static java.lang.Short decode(java.lang.String);
public static short reverseBytes(short);
public int compareTo(java.lang.Short);
public static java.lang.String toString(int,int);
public static java.lang.String toHexString(int);
public static java.lang.String toOctalString(int);
public static java.lang.String toBinaryString(int);
public static java.lang.String toString(int);
# public static int parseInt(java.lang.String,int);
# public static int parseInt(java.lang.String);
# public static java.lang.Integer valueOf(java.lang.String,int);
# public static java.lang.Integer valueOf(java.lang.String);
public static java.lang.Integer valueOf(int);
public static java.lang.Integer getInteger(java.lang.String);
public static java.lang.Integer getInteger(java.lang.String,int);
public static java.lang.Integer getInteger(java.lang.String,java.lang.Integer);
public static java.lang.Integer decode(java.lang.String);
public static int highestOneBit(int);
public static int lowestOneBit(int);
public static int numberOfLeadingZeros(int);
public static int numberOfTrailingZeros(int);
public static int bitCount(int);
public static int rotateLeft(int,int);
public static int rotateRight(int,int);
public static int reverse(int);
public static int signum(int);
public static int reverseBytes(int);
public int compareTo(java.lang.Integer);
public static java.lang.String toString(long,int);
public static java.lang.String toHexString(long);
public static java.lang.String toOctalString(long);
public static java.lang.String toBinaryString(long);
public static java.lang.String toString(long);
# public static long parseLong(java.lang.String,int);
# public static long parseLong(java.lang.String);
# public static java.lang.Long valueOf(java.lang.String,int);
# public static java.lang.Long valueOf(java.lang.String);
public static java.lang.Long valueOf(long);
# public static java.lang.Long decode(java.lang.String);
public static java.lang.Long getLong(java.lang.String);
public static java.lang.Long getLong(java.lang.String,long);
public static java.lang.Long getLong(java.lang.String,java.lang.Long);
public static long highestOneBit(long);
public static long lowestOneBit(long);
public static int numberOfLeadingZeros(long);
public static int numberOfTrailingZeros(long);
public static int bitCount(long);
public static long rotateLeft(long,int);
public static long rotateRight(long,int);
public static long reverse(long);
public static int signum(long);
public static long reverseBytes(long);
public int compareTo(java.lang.Long);
public static java.lang.String toString(float);
public static java.lang.String toHexString(float);
# public static java.lang.Float valueOf(java.lang.String);
public static java.lang.Float valueOf(float);
# public static float parseFloat(java.lang.String);
public static boolean isNaN(float);
public static boolean isInfinite(float);
public static int floatToIntBits(float);
public static int floatToRawIntBits(float);
public static float intBitsToFloat(int);
public static int compare(float,float);
public boolean isNaN();
public boolean isInfinite();
public int compareTo(java.lang.Float);
public static java.lang.String toString(double);
public static java.lang.String toHexString(double);
# public static java.lang.Double valueOf(java.lang.String);
# public static java.lang.Double valueOf(double);
# public static double parseDouble(java.lang.String);
public static boolean isNaN(double);
public static boolean isInfinite(double);
public static long doubleToLongBits(double);
public static long doubleToRawLongBits(double);
public static double longBitsToDouble(long);
public static int compare(double,double);
public boolean isNaN();
public boolean isInfinite();
public int compareTo(java.lang.Double);
public byte byteValue();
public short shortValue();
public int intValue();
public long longValue();
public float floatValue();
public double doubleValue();
public int compareTo(java.lang.Object);
public boolean equals(java.lang.Object);
public int hashCode();
public java.lang.String toString();
}
# Remove - String method calls. Remove all invocations of String
# methods without side effects whose return values are not used.
-assumenosideeffects public class java.lang.String {
public static java.lang.String copyValueOf(char[]);
public static java.lang.String copyValueOf(char[],int,int);
public static java.lang.String valueOf(boolean);
public static java.lang.String valueOf(char);
public static java.lang.String valueOf(char[]);
public static java.lang.String valueOf(char[],int,int);
public static java.lang.String valueOf(double);
public static java.lang.String valueOf(float);
public static java.lang.String valueOf(int);
public static java.lang.String valueOf(java.lang.Object);
public static java.lang.String valueOf(long);
public boolean contentEquals(java.lang.StringBuffer);
public boolean endsWith(java.lang.String);
public boolean equalsIgnoreCase(java.lang.String);
public boolean equals(java.lang.Object);
public boolean matches(java.lang.String);
public boolean regionMatches(boolean,int,java.lang.String,int,int);
public boolean regionMatches(int,java.lang.String,int,int);
public boolean startsWith(java.lang.String);
public boolean startsWith(java.lang.String,int);
public byte[] getBytes();
public byte[] getBytes(java.lang.String);
public char charAt(int);
public char[] toCharArray();
public int compareToIgnoreCase(java.lang.String);
public int compareTo(java.lang.Object);
public int compareTo(java.lang.String);
public int hashCode();
public int indexOf(int);
public int indexOf(int,int);
public int indexOf(java.lang.String);
public int indexOf(java.lang.String,int);
public int lastIndexOf(int);
public int lastIndexOf(int,int);
public int lastIndexOf(java.lang.String);
public int lastIndexOf(java.lang.String,int);
public int length();
public java.lang.CharSequence subSequence(int,int);
public java.lang.String concat(java.lang.String);
public java.lang.String replaceAll(java.lang.String,java.lang.String);
public java.lang.String replace(char,char);
public java.lang.String replaceFirst(java.lang.String,java.lang.String);
public java.lang.String[] split(java.lang.String);
public java.lang.String[] split(java.lang.String,int);
public java.lang.String substring(int);
public java.lang.String substring(int,int);
public java.lang.String toLowerCase();
public java.lang.String toLowerCase(java.util.Locale);
public java.lang.String toString();
public java.lang.String toUpperCase();
public java.lang.String toUpperCase(java.util.Locale);
public java.lang.String trim();
}
# Remove - StringBuffer method calls. Remove all invocations of StringBuffer
# methods without side effects whose return values are not used.
-assumenosideeffects public class java.lang.StringBuffer {
public java.lang.String toString();
public char charAt(int);
public int capacity();
public int codePointAt(int);
public int codePointBefore(int);
public int indexOf(java.lang.String,int);
public int lastIndexOf(java.lang.String);
public int lastIndexOf(java.lang.String,int);
public int length();
public java.lang.String substring(int);
public java.lang.String substring(int,int);
}
# Remove - StringBuilder method calls. Remove all invocations of StringBuilder
# methods without side effects whose return values are not used.
-assumenosideeffects public class java.lang.StringBuilder {
public java.lang.String toString();
public char charAt(int);
public int capacity();
public int codePointAt(int);
public int codePointBefore(int);
public int indexOf(java.lang.String,int);
public int lastIndexOf(java.lang.String);
public int lastIndexOf(java.lang.String,int);
public int length();
public java.lang.String substring(int);
public java.lang.String substring(int,int);
}
================================================
FILE: settings.gradle
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
pluginManagement {
repositories {
mavenLocal()
maven {
name = 'WagYourMaven'
url = 'https://maven.wagyourtail.xyz/snapshots'
}
maven {
name = 'ForgeMaven'
url = 'https://maven.minecraftforge.net/'
}
maven {
name = 'FabricMaven'
url = 'https://maven.fabricmc.net/'
}
mavenCentral()
gradlePluginPortal() {
content {
excludeGroup "org.apache.logging.log4j"
}
}
}
}
rootProject.name = 'baritone'
include("tweaker")
if (System.getProperty("Baritone.enabled_platforms") == null) {
System.setProperty("Baritone.enabled_platforms", "fabric,forge")
}
for (platform in System.getProperty("Baritone.enabled_platforms").split(",")) {
include(platform)
}
================================================
FILE: src/api/java/baritone/api/BaritoneAPI.java
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
package baritone.api;
import baritone.api.utils.SettingsUtil;
/**
* Exposes the {@link IBaritoneProvider} instance and the {@link Settings} instance for API usage.
*
* @author Brady
* @since 9/23/2018
*/
public final class BaritoneAPI {
private static final IBaritoneProvider provider;
private static final Settings settings;
static {
settings = new Settings();
SettingsUtil.readAndApply(settings, SettingsUtil.SETTINGS_DEFAULT_NAME);
try {
provider = (IBaritoneProvider) Class.forName("baritone.BaritoneProvider").newInstance();
} catch (ReflectiveOperationException ex) {
throw new RuntimeException(ex);
}
}
public static IBaritoneProvider getProvider() {
return BaritoneAPI.provider;
}
public static Settings getSettings() {
return BaritoneAPI.settings;
}
}
================================================
FILE: src/api/java/baritone/api/IBaritone.java
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
package baritone.api;
import baritone.api.behavior.ILookBehavior;
import baritone.api.behavior.IPathingBehavior;
import baritone.api.cache.IWorldProvider;
import baritone.api.command.manager.ICommandManager;
import baritone.api.event.listener.IEventBus;
import baritone.api.pathing.calc.IPathingControlManager;
import baritone.api.process.*;
import baritone.api.selection.ISelectionManager;
import baritone.api.utils.IInputOverrideHandler;
import baritone.api.utils.IPlayerContext;
/**
* @author Brady
* @since 9/29/2018
*/
public interface IBaritone {
/**
* @return The {@link IPathingBehavior} instance
* @see IPathingBehavior
*/
IPathingBehavior getPathingBehavior();
/**
* @return The {@link ILookBehavior} instance
* @see ILookBehavior
*/
ILookBehavior getLookBehavior();
/**
* @return The {@link IFollowProcess} instance
* @see IFollowProcess
*/
IFollowProcess getFollowProcess();
/**
* @return The {@link IMineProcess} instance
* @see IMineProcess
*/
IMineProcess getMineProcess();
/**
* @return The {@link IBuilderProcess} instance
* @see IBuilderProcess
*/
IBuilderProcess getBuilderProcess();
/**
* @return The {@link IExploreProcess} instance
* @see IExploreProcess
*/
IExploreProcess getExploreProcess();
/**
* @return The {@link IFarmProcess} instance
* @see IFarmProcess
*/
IFarmProcess getFarmProcess();
/**
* @return The {@link ICustomGoalProcess} instance
* @see ICustomGoalProcess
*/
ICustomGoalProcess getCustomGoalProcess();
/**
* @return The {@link IGetToBlockProcess} instance
* @see IGetToBlockProcess
*/
IGetToBlockProcess getGetToBlockProcess();
/**
* @return The {@link IElytraProcess} instance
* @see IElytraProcess
*/
IElytraProcess getElytraProcess();
/**
* @return The {@link IWorldProvider} instance
* @see IWorldProvider
*/
IWorldProvider getWorldProvider();
/**
* Returns the {@link IPathingControlManager} for this {@link IBaritone} instance, which is responsible
* for managing the {@link IBaritoneProcess}es which control the {@link IPathingBehavior} state.
*
* @return The {@link IPathingControlManager} instance
* @see IPathingControlManager
*/
IPathingControlManager getPathingControlManager();
/**
* @return The {@link IInputOverrideHandler} instance
* @see IInputOverrideHandler
*/
IInputOverrideHandler getInputOverrideHandler();
/**
* @return The {@link IPlayerContext} instance
* @see IPlayerContext
*/
IPlayerContext getPlayerContext();
/**
* @return The {@link IEventBus} instance
* @see IEventBus
*/
IEventBus getGameEventHandler();
/**
* @return The {@link ISelectionManager} instance
* @see ISelectionManager
*/
ISelectionManager getSelectionManager();
/**
* @return The {@link ICommandManager} instance
* @see ICommandManager
*/
ICommandManager getCommandManager();
/**
* Open click
*/
void openClick();
}
================================================
FILE: src/api/java/baritone/api/IBaritoneProvider.java
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
package baritone.api;
import baritone.api.cache.IWorldScanner;
import baritone.api.command.ICommand;
import baritone.api.command.ICommandSystem;
import baritone.api.schematic.ISchematicSystem;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.client.player.LocalPlayer;
import java.util.List;
import java.util.Objects;
/**
* Provides the present {@link IBaritone} instances, as well as non-baritone instance related APIs.
*
* @author leijurv
*/
public interface IBaritoneProvider {
/**
* Returns the primary {@link IBaritone} instance. This instance is persistent, and
* is represented by the local player that is created by the game itself, not a "bot"
* player through Baritone.
*
* @return The primary {@link IBaritone} instance.
*/
IBaritone getPrimaryBaritone();
/**
* Returns all of the active {@link IBaritone} instances. This includes the local one
* returned by {@link #getPrimaryBaritone()}.
*
* @return All active {@link IBaritone} instances.
* @see #getBaritoneForPlayer(LocalPlayer)
*/
List<IBaritone> getAllBaritones();
/**
* Provides the {@link IBaritone} instance for a given {@link LocalPlayer}.
*
* @param player The player
* @return The {@link IBaritone} instance.
*/
default IBaritone getBaritoneForPlayer(LocalPlayer player) {
for (IBaritone baritone : this.getAllBaritones()) {
if (Objects.equals(player, baritone.getPlayerContext().player())) {
return baritone;
}
}
return null;
}
/**
* Provides the {@link IBaritone} instance for a given {@link Minecraft}.
*
* @param minecraft The minecraft
* @return The {@link IBaritone} instance.
*/
default IBaritone getBaritoneForMinecraft(Minecraft minecraft) {
for (IBaritone baritone : this.getAllBaritones()) {
if (Objects.equals(minecraft, baritone.getPlayerContext().minecraft())) {
return baritone;
}
}
return null;
}
/**
* Provides the {@link IBaritone} instance for the player with the specified connection.
*
* @param connection The connection
* @return The {@link IBaritone} instance.
*/
default IBaritone getBaritoneForConnection(ClientPacketListener connection) {
for (IBaritone baritone : this.getAllBaritones()) {
final LocalPlayer player = baritone.getPlayerContext().player();
if (player != null && player.connection == connection) {
return baritone;
}
}
return null;
}
/**
* Creates and registers a new {@link IBaritone} instance using the specified {@link Minecraft}. The existing
* instance is returned if already registered.
*
* @param minecraft The minecraft
* @return The {@link IBaritone} instance
*/
IBaritone createBaritone(Minecraft minecraft);
/**
* Destroys and removes the specified {@link IBaritone} instance. If the specified instance is the
* {@link #getPrimaryBaritone() primary baritone}, this operation has no effect and will return {@code false}.
*
* @param baritone The baritone instance to remove
* @return Whether the baritone instance was removed
*/
boolean destroyBaritone(IBaritone baritone);
/**
* Returns the {@link IWorldScanner} instance. This is not a type returned by
* {@link IBaritone} implementation, because it is not linked with {@link IBaritone}.
*
* @return The {@link IWorldScanner} instance.
*/
IWorldScanner getWorldScanner();
/**
* Returns the {@link ICommandSystem} instance. This is not bound to a specific {@link IBaritone}
* instance because {@link ICommandSystem} itself controls global behavior for {@link ICommand}s.
*
* @return The {@link ICommandSystem} instance.
*/
ICommandSystem getCommandSystem();
/**
* @return The {@link ISchematicSystem} instance.
*/
ISchematicSystem getSchematicSystem();
}
================================================
FILE: src/api/java/baritone/api/Settings.java
================================================
/*
* This file is part of Baritone.
*
* Baritone is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Baritone is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Baritone. If not, see <https://www.gnu.org/licenses/>.
*/
package baritone.api;
import baritone.api.utils.Helper;
import baritone.api.utils.NotificationHelper;
import baritone.api.utils.SettingsUtil;
import baritone.api.utils.TypeUtils;
import baritone.api.utils.gui.BaritoneToast;
import net.minecraft.client.GuiMessageTag;
import net.minecraft.client.Minecraft;
import net.minecraft.core.Vec3i;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.Rotation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.awt.*;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Field;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
/**
* Baritone's settings. Settings apply to all Baritone instances.
*
* @author leijurv
*/
public final class Settings {
private static final Logger LOGGER = LoggerFactory.getLogger("Baritone");
/**
* Allow Baritone to break blocks
*/
public final Setting<Boolean> allowBreak = new Setting<>(true);
/**
* Blocks that baritone will be allowed to break even with allowBreak set to false
*/
public final Setting<List<Block>> allowBreakAnyway = new Setting<>(new ArrayList<>());
/**
* Allow Baritone to sprint
*/
public final Setting<Boolean> allowSprint = new Setting<>(true);
/**
* Allow Baritone to place blocks
*/
public final Setting<Boolean> allowPlace = new Setting<>(true);
/**
* Allow Baritone to place blocks in fluid source blocks
*/
public final Setting<Boolean> allowPlaceInFluidsSource = new Setting<>(true);
/**
* Allow Baritone to place blocks in flowing fluid
*/
public final Setting<Boolean> allowPlaceInFluidsFlow = new Setting<>(true);
/**
* Allow Baritone to move items in your inventory to your hotbar
*/
public final Setting<Boolean> allowInventory = new Setting<>(false);
/**
* Wait this many ticks between InventoryBehavior moving inventory items
*/
public final Setting<Integer> ticksBetweenInventoryMoves = new Setting<>(1);
/**
* Come to a halt before doing any inventory moves. Intended for anticheat such as 2b2t
*/
public final Setting<Boolean> inventoryMoveOnlyIfStationary = new Setting<>(false);
/**
* Disable baritone's auto-tool at runtime, but still assume that another mod will provide auto tool functionality
* <p>
* Specifically, path calculation will still assume that an auto tool will run at execution time, even though
* Baritone itself will not do that.
*/
public final Setting<Boolean> assumeExternalAutoTool = new Setting<>(false);
/**
* Automatically select the best available tool
*/
public final Setting<Boolean> autoTool = new Setting<>(true);
/**
* It doesn't actually take twenty ticks to place a block, this cost is so high
* because we want to generally conserve blocks which might be limited.
* <p>
* Decrease to make Baritone more often consider paths that would require placing blocks
*/
public final Setting<Double> blockPlacementPenalty = new Setting<>(20D);
/**
* This is just a tiebreaker to make it less likely to break blocks if it can avoid it.
* For example, fire has a break cost of 0, this makes it nonzero, so all else being equal
* it will take an otherwise equivalent route that doesn't require it to put out fire.
*/
public final Setting<Double> blockBreakAdditionalPenalty = new Setting<>(2D);
/**
* Additional penalty for hitting the space bar (ascend, pillar, or parkour) because it uses hunger
*/
public final Setting<Double> jumpPenalty = new Setting<>(2D);
/**
* Walking on water uses up hunger really quick, so penalize it
*/
public final Setting<Double> walkOnWaterOnePenalty = new Setting<>(3D);
/**
* Don't allow breaking blocks next to liquids.
* <p>
* Enable if you have mods adding custom fluid physics.
*/
public final Setting<Boolean> strictLiquidCheck = new Setting<>(false);
/**
* Allow Baritone to fall arbitrary distances and place a water bucket beneath it.
* Reliability: questionable.
*/
public final Setting<Boolean> allowWaterBucketFall = new Setting<>(true);
/**
* Allow Baritone to assume it can walk on still water just like any other block.
* This functionality is assumed to be provided by a separate library that might have imported Baritone.
* <p>
* Note: This will prevent some usage of the frostwalker enchantment, like pillaring up from water.
*/
public final Setting<Boolean> assumeWalkOnWater = new Setting<>(false);
/**
* If you have Fire Resistance and Jesus then I guess you could turn this on lol
*/
public final Setting<Boolean> assumeWalkOnLava = new Setting<>(false);
/**
* Assume step functionality; don't jump on an Ascend.
*/
public final Setting<Boolean> assumeStep = new Setting<>(false);
/**
* Assume safe walk functionality; don't sneak on a backplace traverse.
* <p>
* Warning: if you do something janky like sneak-backplace from an ender chest, if this is true
* it won't sneak right click, it'll just right click, which means it'll open the chest instead of placing
* against it. That's why this defaults to off.
*/
public final Setting<Boolean> assumeSafeWalk = new Setting<>(false);
/**
* If true, parkour is allowed to make jumps when standing on blocks at the maximum height, so player feet is y=256
* <p>
* Defaults to false because this fails on constantiam. Please let me know if this is ever disabled. Please.
*/
public final Setting<Boolean> allowJumpAtBuildLimit = new Setting<>(false);
/**
* Just here so mods that use the API don't break. Does nothing.
*/
@Deprecated
@JavaOnly
public final Setting<Boolean> allowJumpAt256 = new Setting<>(false);
/**
* This should be monetized it's so good
* <p>
* Defaults to true, but only actually takes effect if allowParkour is also true
*/
public final Setting<Boolean> allowParkourAscend = new Setting<>(true);
/**
* Allow descending diagonally
* <p>
* Safer than allowParkour yet still slightly unsafe, can make contact with unchecked adjacent blocks, so it's unsafe in the nether.
* <p>
* For a generic "take some risks" mode I'd turn on this one, parkour, and parkour place.
*/
public final Setting<Boolean> allowDiagonalDescend = new Setting<>(false);
/**
* Allow diagonal ascending
* <p>
* Actually pretty safe, much safer than diagonal descend tbh
*/
public final Setting<Boolean> allowDiagonalAscend = new Setting<>(false);
/**
* Allow mining the block directly beneath its feet
* <p>
* Turn this off to force it to make more staircases and less shafts
*/
public final Setting<Boolean> allowDownward = new Setting<>(true);
/**
* Blocks that Baritone is allowed to place (as throwaway, for sneak bridging, pillaring, etc.)
*/
public final Setting<List<Item>> acceptableThrowawayItems = new Setting<>(new ArrayList<>(Arrays.asList(
Blocks.DIRT.asItem(),
Blocks.COBBLESTONE.asItem(),
Blocks.NETHERRACK.asItem(),
Blocks.STONE.asItem()
)));
/**
* Blocks that Baritone will attempt to avoid (Used in avoidance)
*/
public final Setting<List<Block>> blocksToAvoid = new Setting<>(new ArrayList<>(List.of(
Blocks.TRIPWIRE
)));
/**
* Blocks that Baritone is not allowed to break
*/
public final Setting<List<Block>> blocksToDisallowBreaking = new Setting<>(new ArrayList<>(
// Leave Empty by Default
));
/**
* blocks that baritone shouldn't break, but can if it needs to.
*/
public final Setting<List<Block>> blocksToAvoidBreaking = new Setting<>(new ArrayList<>(Arrays.asList( // TODO can this be a HashSet or ImmutableSet?
Blocks.CRAFTING_TABLE,
Blocks.FURNACE,
Blocks.CHEST,
Blocks.TRAPPED_CHEST
)));
/**
* this multiplies the break speed, if set above 1 it's "encourage breaking" instead
*/
public final Setting<Double> avoidBreakingMultiplier = new Setting<>(.1);
/**
* A list of blocks to be treated as if they're air.
* <p>
* If a schematic asks for air at a certain position, and that position currently contains a block on this list, it will be treated as correct.
*/
public final Setting<List<Block>> buildIgnoreBlocks = new Setting<>(new ArrayList<>(Arrays.asList(
)));
/**
* A list of blocks to be treated as correct.
* <p>
* If a schematic asks for any block on this list at a certain position, it will be treated as correct, regardless of what it currently is.
*/
public final Setting<List<Block>> buildSkipBlocks = new Setting<>(new ArrayList<>(Arrays.asList(
)));
/**
* A mapping of blocks to blocks treated as correct in their position
* <p>
* If a schematic asks for a block on this mapping, all blocks on the mapped list will be accepted at that location as well
* <p>
* Syntax same as <a href="https://baritone.leijurv.com/baritone/api/Settings.html#buildSubstitutes">buildSubstitutes</a>
*/
public final Setting<Map<Block, List<Block>>> buildValidSubstitutes = new Setting<>(new HashMap<>());
/**
* A mapping of blocks to blocks to be built instead
* <p>
* If a schematic asks for a block on this mapping, Baritone will place the first placeable block in the mapped list
* <p>
* Usage Syntax:
* <pre>
* sourceblockA->blockToSubstituteA1,blockToSubstituteA2,...blockToSubstituteAN,sourceBlockB->blockToSubstituteB1,blockToSubstituteB2,...blockToSubstituteBN,...sourceBlockX->blockToSubstituteX1,blockToSubstituteX2...blockToSubstituteXN
* </pre>
* Example:
* <pre>
* stone->cobblestone,andesite,oak_planks->birch_planks,acacia_planks,glass
* </pre>
*/
public final Setting<Map<Block, List<Block>>> buildSubstitutes = new Setting<>(new HashMap<>());
/**
* A list of blocks to become air
* <p>
* If a schematic asks for a block on this list, only air will be accepted at that location (and nothing on buildIgnoreBlocks)
*/
public final Setting<List<Block>> okIfAir = new Setting<>(new ArrayList<>(Arrays.asList(
)));
/**
* If this is true, the builder will treat all non-air blocks as correct. It will only place new blocks.
*/
public final Setting<Boolean> buildIgnoreExisting = new Setting<>(false);
/**
* If this is true, the builder will ignore directionality of certain blocks like glazed terracotta.
*/
public final Setting<Boolean> buildIgnoreDirection = new Setting<>(false);
/**
* A list of names of block properties the builder will ignore.
*/
public final Setting<List<String>> buildIgnoreProperties = new Setting<>(new ArrayList<>(Arrays.asList(
)));
/**
* If this setting is true, Baritone will never break a block that is adjacent to an unsupported falling block.
* <p>
* I.E. it will never trigger cascading sand / gravel falls
*/
public final Setting<Boolean> avoidUpdatingFallingBlocks = new Setting<>(true);
/**
* Enables some more advanced vine features. They're honestly just gimmicks and won't ever be needed in real
* pathing scenarios. And they can cause Baritone to get trapped indefinitely in a strange scenario.
* <p>
* Almost never turn this on lol
*/
public final Setting<Boolean> allowVines = new Setting<>(false);
/**
* Slab behavior is complicated, disable this for higher path reliability. Leave enabled if you have bottom slabs
* everywhere in your base.
*/
public final Setting<Boolean> allowWalkOnBottomSlab = new Setting<>(true);
/**
* You know what it is
* <p>
* But it's very unreliable and falls off when cornering like all the time so.
* <p>
* It also overshoots the landing pretty much always (making contact with the next block over), so be careful
*/
public final Setting<Boolean> allowParkour = new Setting<>(false);
/**
* Actually pretty reliable.
* <p>
* Doesn't make it any more dangerous compared to just normal allowParkour th
*/
public final Setting<Boolean> allowParkourPlace = new Setting<>(false);
/**
* For example, if you have Mining Fatigue or Haste, adjust the costs of breaking blocks accordingly.
*/
public final Setting<Boolean> considerPotionEffects = new Setting<>(true);
/**
* Sprint and jump a block early on ascends wherever possible
*/
public final Setting<Boolean> sprintAscends = new Setting<>(true);
/**
* If we overshoot a traverse and end up one block beyond the destination, mark it as successful anyway.
* <p>
* This helps with speed exceeding 20m/s
*/
public final Setting<Boolean> overshootTraverse = new Setting<>(true);
/**
* When breaking blocks for a movement, wait until all falling blocks have settled before continuing
*/
public final Setting<Boolean> pauseMiningForFallingBlocks = new Setting<>(true);
/**
* How many ticks between right clicks are allowed. Default in game is 4
*/
public final Setting<Integer> rightClickSpeed = new Setting<>(4);
/**
* How many degrees to randomize the yaw every tick. Set to 0 to disable
*/
public final Setting<Double> randomLooking113 = new Setting<>(2d);
/**
* Block reach distance
*/
public final Setting<Float> blockReachDistance = new Setting<>(4.5f);
/**
* How many ticks between breaking a block and starting to break the next block. Default in game is 6 ticks.
* Values under 1 will be clamped. The delay only applies to non-instant (1-tick) breaks.
*/
public final Setting<Integer> blockBreakSpeed = new Setting<>(6);
/**
* How many degrees to randomize the pitch and yaw every tick. Set to 0 to disable
*/
public final Setting<Double> randomLooking = new Setting<>(0.01d);
/**
* This is the big A* setting.
* As long as your cost heuristic is an *underestimate*, it's guaranteed to find you the best path.
* 3.5 is always an underestimate, even if you are sprinting.
* If you're walking only (with allowSprint off) 4.6 is safe.
* Any value below 3.5 is never worth it. It's just more computation to find the same path, guaranteed.
* (specifically, it needs to be strictly slightly less than ActionCosts.WALK_ONE_BLOCK_COST, which is about 3.56)
* <p>
* Setting it at 3.57 or above with sprinting, or to 4.64 or above without sprinting, will result in
* faster computation, at the cost of a suboptimal path. Any value above the walk / sprint cost will result
* in it going straight at its goal, and not investigating alternatives, because the combined cost / heuristic
* metric gets better and better with each block, instead of slightly worse.
* <p>
* Finding the optimal path is worth it, so it's the default.
*/
public final Setting<Double> costHeuristic = new Setting<>(3.563);
// a bunch of obscure internal A* settings that you probably don't want to change
/**
* The maximum number of times it will fetch outside loaded or cached chunks before assuming that
* pathing has reached the end of the known area, and should therefore stop.
*/
public final Setting<Integer> pathingMaxChunkBorderFetch = new Setting<>(50);
/**
* Set to 1.0 to effectively disable this feature
*
* @see <a href="https://github.com/cabaletta/baritone/issues/18">Issue #18</a>
*/
public final Setting<Double> backtrackCostFavoringCoefficient = new Setting<>(0.5);
/**
* Toggle the following 4 settings
* <p>
* They have a noticeable performance impact, so they default off
* <p>
* Specifically, building up the avoidance map on the main thread before pathing starts actually takes a noticeable
* amount of time, especially when there are a lot of mobs around, and your game jitters for like 200ms while doing so
*/
public final Setting<Boolean> avoidance = new Setting<>(false);
/**
* Set to 1.0 to effectively disable this feature
* <p>
* Set below 1.0 to go out of your way to walk near mob spawners
*/
public final Setting<Double> mobSpawnerAvoidanceCoefficient = new Setting<>(2.0);
/**
* Distance to avoid mob spawners.
*/
public final Setting<Integer> mobSpawnerAvoidanceRadius = new Setting<>(16);
/**
* Set to 1.0 to effectively disable this feature
* <p>
* Set below 1.0 to go out of your way to walk near mobs
*/
public final Setting<Double> mobAvoidanceCoefficient = new Setting<>(1.5);
/**
* Distance to avoid mobs.
*/
public final Setting<Integer> mobAvoidanceRadius = new Setting<>(8);
/**
* When running a goto towards a container block (chest, ender chest, furnace, etc),
* right click and open it once you arrive.
*/
public final Setting<Boolean> rightClickContainerOnArrival = new Setting<>(true);
/**
* When running a goto towards a nether portal block, walk all the way into the portal
* instead of stopping one block before.
*/
public final Setting<Boolean> enterPortal = new Setting<>(true);
/**
* Don't repropagate cost improvements below 0.01 ticks. They're all just floating point inaccuracies,
* and there's no point.
*/
public final Setting<Boolean> minimumImprovementRepropagation = new Setting<>(true);
/**
* After calculating a path (potentially through cached chunks), artificially cut it off to just the part that is
* entirely within currently loaded chunks. Improves path safety because cached chunks are heavily simplified.
* <p>
* This is much safer to leave off now, and makes pathing more efficient. More explanation in the issue.
*
* @see <a href="https://github.com/cabaletta/baritone/issues/114">Issue #114</a>
*/
public final Setting<Boolean> cutoffAtLoadBoundary = new Setting<>(false);
/**
* If a movement's cost increases by more than this amount between calculation and execution (due to changes
* in the environment / world), cancel and recalculate
*/
public final Setting<Double> maxCostIncrease = new Setting<>(10D);
/**
* Stop 5 movements before anything that made the path COST_INF.
* For example, if lava has spread across the path, don't walk right up to it then recalculate, it might
* still be spreading lol
*/
public final Setting<Integer> costVerificationLookahead = new Setting<>(5);
/**
* Static cutoff factor. 0.9 means cut off the last 10% of all paths, regardless of chunk load state
*/
public final Setting<Double> pathCutoffFactor = new Setting<>(0.9);
/**
* Only apply static cutoff for paths of at least this length (in terms of number of movements)
*/
public final Setting<Integer> pathCutoffMinimumLength = new Setting<>(30);
/**
* Start planning the next path once the remaining movements tick estimates sum up to less than this value
*/
public final Setting<Integer> planningTickLookahead = new Setting<>(150);
/**
* Default size of the Long2ObjectOpenHashMap used in pathing
*/
public final Setting<Integer> pathingMapDefaultSize = new Setting<>(1024);
/**
* Load factor coefficient for the Long2ObjectOpenHashMap used in pathing
* <p>
* Decrease for faster map operations, but higher memory usage
*/
public final Setting<Float> pathingMapLoadFactor = new Setting<>(0.75f);
/**
* How far are you allowed to fall onto solid ground (without a water bucket)?
* 3 won't deal any damage. But if you just want to get down the mountain quickly and you have
* Feather Falling IV, you might set it a bit higher, like 4 or 5.
*/
public final Setting<Integer> maxFallHeightNoWater = new Setting<>(3);
/**
* How far are you allowed to fall onto solid ground (with a water bucket)?
* It's not that reliable, so I've set it below what would kill an unarmored player (23)
*/
public final Setting<Integer> maxFallHeightBucket = new Setting<>(20);
/**
* Is it okay to sprint through a descend followed by a diagonal?
* The player overshoots the landing, but not enough to fall off. And the diagonal ensures that there isn't
* lava or anything that's !canWalkInto in that space, so it's technically safe, just a little sketchy.
* <p>
* Note: this is *not* related to the allowDiagonalDescend setting, that is a completely different thing.
*/
public final Setting<Boolean> allowOvershootDiagonalDescend = new Setting<>(true);
/**
* If your goal is a GoalBlock in an unloaded chunk, assume it's far enough away that the Y coord
* doesn't matter yet, and replace it with a GoalXZ to the same place before calculating a path.
* Once a segment ends within chunk load range of the GoalBlock, it will go back to normal behavior
* of considering the Y coord. The reasoning is that if your X and Z are 10,000 blocks away,
* your Y coordinate's accuracy doesn't matter at all until you get much much closer.
*/
public final Setting<Boolean> simplifyUnloadedYCoord = new Setting<>(true);
/**
* Whenever a block changes, repack the whole chunk that it's in
*/
public final Setting<Boolean> repackOnAnyBlockChange = new Setting<>(true);
/**
* If a movement takes this many ticks more than its initial cost estimate, cancel it
*/
public final Setting<Integer> movementTimeoutTicks = new Setting<>(100);
/**
* Pathing ends after this amount of time, but only if a path has been found
* <p>
* If no valid path (length above the minimum) has been found, pathing continues up until the failure timeout
*/
public final Setting<Long> primaryTimeoutMS = new Setting<>(500L);
/**
* Pathing can never take longer than this, even if that means failing to find any path at all
*/
public final Setting<Long> failureTimeoutMS = new Setting<>(2000L);
/**
* Planning ahead while executing a segment ends after this amount of time, but only if a path has been found
* <p>
* If no valid path (length above the minimum) has been found, pathing continues up until the failure timeout
*/
public final Setting<Long> planAheadPrimaryTimeoutMS = new Setting<>(4000L);
/**
* Planning ahead while executing a segment can never take longer than this, even if that means failing to find any path at all
*/
public final Setting<Long> planAheadFailureTimeoutMS = new Setting<>(5000L);
/**
* For debugging, consider nodes much much slower
*/
public final Setting<Boolean> slowPath = new Setting<>(false);
/**
* Milliseconds between each node
*/
public final Setting<Long> slowPathTimeDelayMS = new Setting<>(100L);
/**
* The alternative timeout number when slowPath is on
*/
public final Setting<Long> slowPathTimeoutMS = new Setting<>(40000L);
/**
* allows baritone to save bed waypoints when interacting with beds
*/
public final Setting<Boolean> doBedWaypoints = new Setting<>(true);
/**
* allows baritone to save death waypoints
*/
public final Setting<Boolean> doDeathWaypoints = new Setting<>(true);
/**
* The big one. Download all chunks in simplified 2-bit format and save them for better very-long-distance pathing.
*/
public final Setting<Boolean> chunkCaching = new Setting<>(true);
/**
* On save, delete from RAM any cached regions that are more than 1024 blocks away from the player
* <p>
* Temporarily disabled
* <p>
* Temporarily reenabled
*
* @see <a href="https://github.com/cabaletta/baritone/issues/248">Issue #248</a>
*/
public final Setting<Boolean> pruneRegionsFromRAM = new Setting<>(true);
/**
* The chunk packer queue can never grow to larger than this, if it does, the oldest chunks are discarded
* <p>
* The newest chunks are kept, so that if you're moving in a straight line quickly then stop, your immediate render distance is still included
*/
public final Setting<Integer> chunkPackerQueueMaxSize = new Setting<>(2000);
/**
* Fill in blocks behind you
*/
public final Setting<Boolean> backfill = new Setting<>(false);
/**
* Shows popup message in the upper right corner, similarly to when you make an advancement
*/
public final Setting<Boolean> logAsToast = new Setting<>(false);
/**
* The time of how long the message in the pop-up will display
* <p>
* If below 1000L (1sec), it's better to disable this
*/
public final Setting<Long> toastTimer = new Setting<>(5000L);
/**
* Print all the debug messages to chat
*/
public final Setting<Boolean> chatDebug = new Setting<>(false);
/**
* Allow chat based control of Baritone. Most likely should be disabled when Baritone is imported for use in
* something else
*/
public final Setting<Boolean> chatControl = new Setting<>(true);
/**
* Some clients like Impact try to force chatControl to off, so here's a second setting to do it anyway
*/
public final Setting<Boolean> chatControlAnyway = new Setting<>(false);
/**
* Render the path
*/
public final Setting<Boolean> renderPath = new Setting<>(true);
/**
* Render the path as a line instead of a frickin thingy
*/
public final Setting<Boolean> renderPathAsLine = new Setting<>(false);
/**
* Render the goal
*/
public final Setting<Boolean> renderGoal = new Setting<>(true);
/**
* Render the goal as a sick animated thingy instead of just a box
* (also controls animation of GoalXZ if {@link #renderGoalXZBeacon} is enabled)
*/
public final Setting<Boolean> renderGoalAnimated = new Setting<>(true);
/**
* Render selection boxes
*/
public final Setting<Boolean> renderSelectionBoxes = new Setting<>(true);
/**
* Ignore depth when rendering the goal
*/
public final Setting<Boolean> renderGoalIgnoreDepth = new Setting<>(true);
/**
* Renders X/Z type Goals with the vanilla beacon beam effect. Combining this with
* {@link #renderGoalIgnoreDepth} will cause strange render clipping.
*/
public final Setting<Boolean> renderGoalXZBeacon = new Setting<>(false);
/**
* Ignore depth when rendering the selection boxes (to break, to place, to walk into)
*/
public final Setting<Boolean> renderSelectionBoxesIgnoreDepth = new Setting<>(true);
/**
* Ignore depth when rendering the path
*/
public final Setting<Boolean> renderPathIgnoreDepth = new Setting<>(true);
/**
* Line width of the path when rendered, in pixels
*/
public final Setting<Float> pathRenderLineWidthPixels = new Setting<>(5F);
/**
* Line width of the goal when rendered, in pixels
*/
public final Setting<Float> goalRenderLineWidthPixels = new Setting<>(3F);
/**
* Start fading out the path at 20 movements ahead, and stop rendering it entirely 30 movements ahead.
* Improves FPS.
*/
public final Setting<Boolean> fadePath = new Setting<>(false);
/**
* Move without having to force the client-sided rotations
*/
public final Setting<Boolean> freeLook = new Setting<>(true);
/**
* Break and place blocks without having to force the client-sided rotations. Requires {@link #freeLook}.
*/
public final Setting<Boolean> blockFreeLook = new Setting<>(false);
/**
* Automatically elytra fly without having to force the client-sided rotations.
*/
public final Setting<Boolean> elytraFreeLook = new Setting<>(true);
/**
* Forces the client-sided yaw rotation to an average of the last {@link #smoothLookTicks} of server-sided rotations.
*/
public final Setting<Boolean> smoothLook = new Setting<>(false);
/**
* Same as {@link #smoothLook} but for elytra flying.
*/
public final Setting<Boolean> elytraSmoothLook = new Setting<>(false);
/**
* The number of ticks to average across for {@link #smoothLook};
*/
public final Setting<Integer> smoothLookTicks = new Setting<>(5);
/**
* When true, the player will remain with its existing look direction as often as possible.
* Although, in some cases this can get it stuck, hence this setting to disable that behavior.
*/
public final Setting<Boolean> remainWithExistingLookDirection = new Setting<>(true);
/**
* Will cause some minor behavioral differences to ensure that Baritone works on anticheats.
* <p>
* At the moment this will silently set the player's rotations when using freeLook so you're not sprinting in
* directions other than forward, which is picken up by more "advanced" anticheats like AAC, but not NCP.
*/
public final Setting<Boolean> antiCheatCompatibility = new Setting<>(true);
/**
* Exclusively use cached chunks for pathing
* <p>
* Never turn this on
*/
public final Setting<Boolean> pathThroughCachedOnly = new Setting<>(false);
/**
* Continue sprinting while in water
*/
public final Setting<Boolean> sprintInWater = new Setting<>(true);
/**
* When GetToBlockProcess or MineProcess fails to calculate a path, instead of just giving up, mark the closest instance
* of that block as "unreachable" and go towards the next closest. GetToBlock expands this search to the whole "vein"; MineProcess does not.
* This is because MineProcess finds individual impossible blocks (like one block in a vein that has gravel on top then lava, so it can't break)
* Whereas GetToBlock should blacklist the whole "vein" if it can't get to any of them.
*/
public final Setting<Boolean> blacklistClosestOnFailure = new Setting<>(true);
/**
* 😎 Render cached chunks as semitransparent. Doesn't work with OptiFine 😭 Rarely randomly crashes, see <a href="https://github.com/cabaletta/baritone/issues/327">this issue</a>.
* <p>
* Can be very useful on servers with low render distance. After enabling, you may need to reload the world in order for it to have an effect
* (e.g. disconnect and reconnect, enter then exit the nether, die and respawn, etc). This may literally kill your FPS and CPU because
* every chunk gets recompiled twice as much as normal, since the cached version comes into range, then the normal one comes from the server for real.
* <p>
* Note that flowing water is cached as AVOID, which is rendered as lava. As you get closer, you may therefore see lava falls being replaced with water falls.
* <p>
* SOLID is rendered as stone in the overworld, netherrack in the nether, and end stone in the end
*/
public final Setting<Boolean> renderCachedChunks = new Setting<>(false);
/**
* 0.0f = not visible, fully transparent (instead of setting this to 0, turn off renderCachedChunks)
* 1.0f = fully opaque
*/
public final Setting<Float> cachedChunksOpacity = new Setting<>(0.5f);
/**
* Whether or not to allow you to run Baritone commands with the prefix
*/
public final Setting<Boolean> prefixControl = new Setting<>(true);
/**
* The command prefix for chat control
*/
public final Setting<String> prefix = new Setting<>("#");
/**
* Use a short Baritone prefix [B] instead of [Baritone] when logging to chat
*/
public final Setting<Boolean> shortBaritonePrefix = new Setting<>(false);
/**
* Use a modern message tag instead of a prefix when logging to chat
*/
public final Setting<Boolean> useMessageTag = new Setting<>(false);
/**
* Echo commands to chat when they are run
*/
public final Setting<Boolean> echoCommands = new Setting<>(true);
/**
* Censor coordinates in goals and block positions
*/
public final Setting<Boolean> censorCoordinates = new Setting<>(false);
/**
* Censor arguments to ran commands, to hide, for example, coordinates to #goal
*/
public final Setting<Boolean> censorRanCommands = new Setting<>(false);
/**
* Stop using tools just before they are going to break.
*/
public final Setting<Boolean> itemSaver = new Setting<>(false);
/**
* Durability to leave on the tool when using itemSaver
*/
public final Setting<Integer> itemSaverThreshold = new Setting<>(10);
/**
* Always prefer silk touch tools over regular tools. This will not sacrifice speed, but it will always prefer silk
* touch tools over other tools of the same speed. This includes always choosing ANY silk touch tool over your hand.
*/
public final Setting<Boolean> preferSilkTouch = new Setting<>(false);
/**
* Don't stop walking forward when you need to break blocks in your way
*/
public final Setting<Boolean> walkWhileBreaking = new Setting<>(true);
/**
* When a new segment is calculated that doesn't overlap with the current one, but simply begins where the current segment ends,
* splice it on and make a longer combined path. If this setting is off, any planned segment will not be spliced and will instead
* be the "next path" in PathingBehavior, and will only start after this one ends. Turning this off hurts planning ahead,
* because the next segment will exist even if it's very short.
*
* @see #planningTickLookahead
*/
public final Setting<Boolean> splicePath = new Setting<>(true);
/**
* If we are more than 300 movements into the current path, discard the oldest segments, as they are no longer useful
*/
public final Setting<Integer> maxPathHistoryLength = new Setting<>(300);
/**
* If the current path is too long, cut off this many movements from the beginning.
*/
public final Setting<Integer> pathHistoryCutoffAmount = new Setting<>(50);
/**
* Rescan for the goal once every 5 ticks.
* Set to 0 to disable.
*/
public final Setting<Integer> mineGoalUpdateInterval = new Setting<>(5);
/**
* After finding this many instances of the target block in the cache, it will stop expanding outward the chunk search.
*/
public final Setting<Integer> maxCachedWorldScanCount = new Setting<>(10);
/**
* Mine will not scan for or remember more than this many target locations.
* Note that the number of locations retrieved from cache is additionaly
* limited by {@link #maxCachedWorldScanCount}.
*/
public final Setting<Integer> mineMaxOreLocationsCount = new Setting<>(64);
/**
* Sets the minimum y level whilst mining - set to 0 to turn off.
* if world has negative y values, subtract the min world height to get the value to put here
*/
public final Setting<Integer> minYLevelWhileMining = new Setting<>(0);
/**
* Sets the maximum y level to mine ores at.
*/
public final Setting<Integer> maxYLevelWhileMining = new Setting<>(2031);
/**
* This will only allow baritone to mine exposed ores, can be used to stop ore obfuscators on servers that use them.
*/
public final Setting<Boolean> allowOnlyExposedOres = new Setting<>(false);
/**
* When allowOnlyExposedOres is enabled this is the distance around to search.
* <p>
* It is recommended to keep this value low, as it dramatically increases calculation times.
*/
public final Setting<Integer> allowOnlyExposedOresDistance = new Setting<>(1);
/**
* When GetToBlock or non-legit Mine doesn't know any locations for the desired block, explore randomly instead of giving up.
*/
public final Setting<Boolean> exploreForBlocks = new Setting<>(true);
/**
* While exploring the world, offset the closest unloaded chunk by this much in both axes.
* <p>
* This can result in more efficient loading, if you set this to the render distance.
*/
public final Setting<Integer> worldExploringChunkOffset = new Setting<>(0);
/**
* Take the 10 closest chunks, even if they aren't strictly tied for distance metric from origin.
*/
public final Setting<Integer> exploreChunkSetMinimumSize = new Setting<>(10);
/**
* Attempt to maintain Y coordinate while exploring
* <p>
* -1 to disable
*/
public final Setting<Integer> exploreMaintainY = new Setting<>(64);
/**
* Replant normal Crops while farming and leave cactus and sugarcane to regrow
*/
public final Setting<Boolean> replantCrops = new Setting<>(true);
/**
* Replant nether wart while farming. This setting only has an effect when replantCrops is also enabled
*/
public final Setting<Boolean> replantNetherWart = new Setting<>(false);
/**
* Farming will scan for at most this many blocks.
*/
public final Setting<Integer> farmMaxScanSize = new Setting<>(256);
/**
* When the cache scan gives less blocks than the maximum threshold (but still above zero), scan the main world too.
* <p>
* Only if you have a beefy CPU and automatically mine blocks that are in cache
*/
public final Setting<Boolean> extendCacheOnThreshold = new Setting<>(false);
/**
* Don't consider the next layer in builder until the current one is done
*/
public final Setting<Boolean> buildInLayers = new Setting<>(false);
/**
* false = build from bottom to top
* <p>
* true = build from top to bottom
*/
public final Setting<Boolean> layerOrder = new Setting<>(false);
/**
* How high should the individual layers be?
*/
public final Setting<Integer> layerHeight = new Setting<>(1);
/**
* Start building the schematic at a specific layer.
* Can help on larger builds when schematic wants to break things its already built
*/
public final Setting<Integer> startAtLayer = new Setting<>(0);
/**
* If a layer is unable to be constructed, just skip it.
*/
public final Setting<Boolean> skipFailedLayers = new Setting<>(false);
/**
* Only build the selected part of schematics
*/
public final Setting<Boolean> buildOnlySelection = new Setting<>(false);
/**
* How far to move before repeating the build. 0 to disable repeating on a certain axis, 0,0,0 to disable entirely
*/
public final Setting<Vec3i> buildRepeat = new Setting<>(new Vec3i(0, 0, 0));
/**
* How many times to buildrepeat. -1 for infinite.
*/
public final Setting<Integer> buildRepeatCount = new Setting<>(-1);
/**
* Don't notify schematics that they are moved.
* e.g. replacing will replace the same spots for every repetition
* Mainly for backward compatibility.
*/
public final Setting<Boolean> buildRepeatSneaky = new Setting<>(true);
/**
* Allow standing above a block while mining it, in BuilderProcess
* <p>
* Experimental
*/
public final Setting<Boolean> breakFromAbove = new Setting<>(false);
/**
* As well as breaking from above, set a goal to up and to the side of all blocks to break.
* <p>
* Never turn this on without also turning on breakFromAbove.
*/
public final Setting<Boolean> goalBreakFromAbove = new Setting<>(false);
/**
* Build in map art mode, which makes baritone only care about the top block in each column
*/
public final Setting<Boolean> mapArtMode = new Setting<>(false);
/**
* Override builder's behavior to not attempt to correct blocks that are currently water
*/
public final Setting<Boolean> okIfWater = new Setting<>(false);
/**
* The set of incorrect blocks can never grow beyond this size
*/
public final Setting<Integer> incorrectSize = new Setting<>(100);
/**
* Multiply the cost of breaking a block that's correct in the builder's schematic by this coefficient
*/
public final Setting<Double> breakCorrectBlockPenaltyMultiplier = new Setting<>(10d);
/**
* Multiply the cost of placing a block that's incorrect in the builder's schematic by this coefficient
*/
public final Setting<Double> placeIncorrectBlockPenaltyMultiplier = new Setting<>(2d);
/**
* When this setting is true, build a schematic with the highest X coordinate being the origin, instead of the lowest
*/
public final Setting<Boolean> schematicOrientationX = new Setting<>(false);
/**
* When this setting is true, build a schematic with the highest Y coordinate being the origin, instead of the lowest
*/
public final Setting<Boolean> schematicOrientationY = new Setting<>(false);
/**
* When this setting is true, build a schematic with the highest Z coordinate being the origin, instead of the lowest
*/
public final Setting<Boolean> schematicOrientationZ = new Setting<>(false);
/**
* Rotates the schematic before building it.
* Possible values are
* <ul>
* <li> NONE - No rotation </li>
* <li> CLOCKWISE_90 - Rotate 90° clockwise </li>
* <li> CLOCKWISE_180 - Rotate 180° clockwise </li>
* <li> COUNTERCLOCKWISE_90 - Rotate 270° clockwise </li>
* </ul>
*/
public final Setting<Rotation> buildSchematicRotation = new Setting<>(Rotation.NONE);
/**
* Mirrors the schematic before building it.
* Possible values are
* <ul>
* <li> FRONT_BACK - mirror the schematic along its local x axis </li>
* <li> LEFT_RIGHT - mirror the schematic along its local z axis </li>
* </ul>
*/
public final Setting<Mirror> buildSchematicMirror = new Setting<>(Mirror.NONE);
/**
* The fallback used by the build command when no extension is specified. This may be useful if schematics of a
* particular format are used often, and the user does not wish to have to specify the extension with every usage.
*/
public final Setting<String> schematicFallbackExtension = new Setting<>("schematic");
/**
* Distance to scan every tick for updates. Expanding this beyond player reach distance (i.e. setting it to 6 or above)
* is only necessary in very large schematics where rescanning the whole thing is costly.
*/
public final Setting<Integer> builderTickScanRadius = new Setting<>(5);
/**
* While mining, should it also consider dropped items of the correct type as a pathing destination (as well as ore blocks)?
*/
public final Setting<Boolean> mineScanDroppedItems = new Setting<>(true);
/**
* While mining, wait this number of milliseconds after mining an ore to see if it will drop an item
* instead of immediately going onto the next one
* <p>
* Thanks Louca
*/
public final Setting<Long> mineDropLoiterDurationMSThanksLouca = new Setting<>(250L);
/**
* Trim incorrect positions too far away, helps performance but hurts reliability in very large schematics
*/
public final Setting<Boolean> distanceTrim = new Setting<>(true);
/**
* Cancel the current path if the goal has changed, and the path originally ended in the goal but doesn't anymore.
* <p>
* Currently only runs when either MineBehavior or FollowBehavior is active.
* <p>
* For example, if Baritone is doing "mine iron_ore", the instant it breaks the ore (and it becomes air), that location
* is no longer a goal. This means that if this setting is true, it will stop there. If this setting were off, it would
* continue with its path, and walk into that location. The tradeoff is if this setting is true, it mines ores much faster
* since it doesn't waste any time getting into locations that no longer contain ores, but on the other hand, it misses
* some drops, and continues on without ever picking them up.
* <p>
* Also on cosmic prisons this should be set to true since you don't actually mine the ore it just gets replaced with stone.
*/
public final Setting<Boolean> cancelOnGoalInvalidation = new Setting<>(true);
/**
* The "axis" command (aka GoalAxis) will go to a axis, or diagonal axis, at this Y level.
*/
public final Setting<Integer> axisHeight = new Setting<>(120);
/**
* Disconnect from the server upon arriving at your goal
*/
public final Setting<Boolean> disconnectOnArrival = new Setting<>(false);
/**
* Disallow MineBehavior from using X-Ray to see where the ores are. Turn this option on to force it to mine "legit"
* where it will only mine an ore once it can actually see it, so it won't do or know anything that a normal player
* couldn't. If you don't want it to look like you're X-Raying, turn this on
* This will always explore, regardless of exploreForBlocks
*/
public final Setting<Boolean> legitMine = new Setting<>(false);
/**
* What Y level to go to for legit strip mining
*/
public final Setting<Integer> legitMineYLevel = new Setting<>(-59);
/**
* Magically see ores that are separated diagonally from existing ores. Basically like mining around the ores that it finds
* in case there's one there touching it diagonally, except it checks it un-legit-ly without having the mine blocks to see it.
* You can decide whether this looks plausible or not.
* <p>
* This is disabled because it results in some weird behavior. For example, it can """see""" the top block of a vein of iron_ore
* through a lava lake. This isn't an issue normally since it won't consider anything touching lava, so it just ignores it.
* However, this setting expands that and allows it to see the entire vein so it'll mine under the lava lake to get the iron that
* it can reach without mining blocks adjacent to lava. This really defeats the purpose of legitMine since a player could never
* do that lol, so thats one reason why its disabled
*/
public final Setting<Boolean> legitMineIncludeDiagonals = new Setting<>(false);
/**
* When mining block of a certain type, try to mine two at once instead of one.
* If the block above is also a goal block, set GoalBlock instead of GoalTwoBlocks
* If the block below is also a goal block, set GoalBlock to the position one down instead of GoalTwoBlocks
*/
public final Setting<Boolean> forceInternalMining = new Setting<>(true);
/**
* Modification to the previous setting, only has effect if forceInternalMining is true
* If true, only apply the previous setting if the block adjacent to the goal isn't air.
*/
public final Setting<Boolean> internalMiningAirException = new Setting<>(true);
/**
* The actual GoalNear is set this distance away from the entity you're following
* <p>
* For example, set followOffsetDistance to 5 and followRadius to 0 to always stay precisely 5 blocks north of your follow target.
*/
public final Setting<Double> followOffsetDistance = new Setting<>(0D);
/**
* The actual GoalNear is set in this direction from the entity you're following. This value is in degrees.
*/
public final Setting<Float> followOffsetDirection = new Setting<>(0F);
/**
* The radius (for the GoalNear) of how close to your target position you actually have to be
*/
public final Setting<Integer> followRadius = new Setting<>(3);
/**
* The maximum distance to the entity you're following
*/
public final Setting<Integer> followTargetMaxDistance = new Setting<>(0);
/**
* Turn this on if your exploration filter is enormous, you don't want it to check if it's done,
* and you are just fine with it just hanging on completion
*/
public final Setting<Boolean> disableCompletionCheck = new Setting<>(false);
/**
* Cached chunks (regardless of if they're in RAM or saved to disk) expire and are deleted after this number of seconds
* -1 to disable
* <p>
* I would highly suggest leaving this setting disabled (-1).
* <p>
* The only valid reason I can think of enable this setting is if you are extremely low on disk space and you play on multiplayer,
* and can't take (average) 300kb saved for every 512x512 area. (note that more complicated terrain is less compressible and will take more space)
* <p>
* However, simply discarding old chunks because they are old is inadvisable. Baritone is extremely good at correcting
* itself and its paths as it learns new information, as new chunks load. There is no scenario in which having an
* incorrect cache can cause Baritone to get stuck, take damage, or perform any action it wouldn't otherwise, everything
* is rechecked once the real chunk is in range.
* <p>
* Having a robust cache greatly improves long distance pathfinding, as it's able to go around large scale obstacles
* before they're in render distance. In fact, when the chunkCaching setting is disabled and Baritone starts anew
* every time, or when you enter a completely new and very complicated area, it backtracks far more often because it
* has to build up that cache from scratch. But after it's gone through an area just once, the next time will have zero
* backtracking, since the entire area is now known and cached.
*/
public final Setting<Long> cachedChunksExpirySeconds = new Setting<>(-1L);
/**
* The function that is called when Baritone will log to chat. This function can be added to
* via {@link Consumer#andThen(Consumer)} or it can completely be overriden via setting
* {@link Setting#value};
*/
@JavaOnly
public final Setting<Consumer<Component>> logger = new Setting<>((msg) -> {
try {
final GuiMessageTag tag = useMessageTag.value ? Helper.MESSAGE_TAG : null;
Minecraft.getInstance().gui.getChat().addMessage(msg, null, tag);
} catch (Throwable t) {
LOGGER.warn("Failed to log message to chat: " + msg.getString(), t);
}
});
/**
* The function that is called when Baritone will send a desktop notification. This function can be added to
* via {@link Consumer#andThen(Consumer)} or it can completely be overriden via setting
* {@link Setting#value};
*/
@JavaOnly
public final Setting<BiConsumer<String, Boolean>> notifier = new Setting<>(NotificationHelper::notify);
/**
* The function that is called when Baritone will show a toast. This function can be added to
* via {@link Consumer#andThen(Consumer)} or it can completely be overriden via setting
* {@link Setting#value};
*/
@JavaOnly
public final Setting<BiConsumer<Component, Component>> toaster = new Setting<>(BaritoneToast::addOrUpdate);
/**
* Print out ALL command exceptions as a stack trace to stdout, even simple syntax errors
*/
public final Setting<Boolean> verboseCommandExceptions = new Setting<>(false);
/**
* The size of the box that is rendered when the current goal is a GoalYLevel
*/
public final Setting<Double> yLevelBoxSize = new Setting<>(15D);
/**
* The color of the current path
*/
public final Setting<Color> colorCurrentPath = new Setting<>(Color.RED);
/**
* The color of the next path
*/
public final Setting<Color> colorNextPath = new Setting<>(Color.MAGENTA);
/**
* The color of the blocks to break
*/
public final Setting<Color> colorBlocksToBreak = new Setting<>(Color.RED);
/**
* The color of the blocks to place
*/
public final Setting<Color> colorBlocksToPlace = new Setting<>(Color.GREEN);
/**
* The color of the blocks to walk into
*/
public final Setting<Color> colorBlocksToWalkInto = new Setting<>(Color.MAGENTA);
/**
* The color of the best path so far
*/
public final Setting<Color> colorBestPathSoFar = new Setting<>(Color.BLUE);
/**
* The color of the path to the most recent considered node
*/
public final Setting<Color> colorMostRecentConsidered = new Setting<>(Color.CYAN);
/**
* The color of the goal box
*/
public final Setting<Color> colorGoalBox = new Setting<>(Color.GREEN);
/**
* The color of the goal box when it's inverted
*/
public final Setting<Color> colorInvertedGoalBox = new Setting<>(Color.RED);
/**
* The color of all selections
*/
public final Setting<Color> colorSelection = new Setting<>(Color.CYAN);
/**
* The color of the selection pos 1
*/
public final Setting<Color> colorSelectionPos1 = new Setting<>(Color.BLACK);
/**
* The color of the selection pos 2
*/
public final Setting<Color> colorSelectionPos2 = new Setting<>(Color.ORANGE);
/**
* The opacity of the selection. 0 is completely transparent, 1 is completely opaque
*/
public final Setting<Float> selectionOpacity = new Setting<>(.5f);
/**
* Line width of the goal when rendered, in pixels
*/
public final Setting<Float> selectionLineWidth = new Setting<>(2F);
/**
* Render selections
*/
public final Setting<Boolean> renderSelection = new Setting<>(true);
/**
* Ignore depth when rendering selections
*/
public final Setting<Boolean> renderSelectionIgnoreDepth = new Setting<>(true);
/**
* Render selection corners
*/
public final Setting<Boolean> renderSelectionCorners = new Setting<>(true);
/**
* Use sword to mine.
*/
public final Setting<Boolean> useSwordToMine = new Setting<>(true);
/**
* Desktop notifications
*/
public final Setting<Boolean> desktopNotifications = new Setting<>(false);
/**
* Desktop notification on path complete
*/
public final Setting<Boolean> notificationOnPathComplete = new Setting<>(true);
/**
* Desktop notification on farm fail
*/
public final Setting<Boolean> notificationOnFarmFail = new Setting<>(true);
/**
* Desktop notification on build finished
*/
public final Setting<Boolean> notificationOnBuildFinished = new Setting<>(true);
/**
* Desktop notification on explore finished
*/
public final Setting<Boolean> notificationOnExploreFinished = new Setting<>(true);
/**
* Desktop notification on mine fail
*/
public final Setting<Boolean> notificationOnMineFail = new Setting<>(true);
/**
* The number of ticks of elytra movement to simulate while firework boost is not active. Higher values are
* computationally more expensive.
*/
public final Setting<Integer> elytraSimulationTicks = new Setting<>(20);
/**
* The maximum allowed deviation in pitch from a direct line-of-sight to the flight target. Higher values are
* computationally more expensive.
*/
public final Setting<Integer> elytraPitchRange = new Setting<>(25);
/**
* The minimum speed that the player can drop to (in blocks/tick) before a firework is automatically deployed.
*/
public final Setting<Double> elytraFireworkSpeed = new Setting<>(1.2);
/**
* The delay after the player's position is set-back by the server that a firework may be automatically deployed.
* Value is in ticks.
*/
public final Setting<Integer> elytraFireworkSetbackUseDelay = new Setting<>(15);
/**
* The minimum padding value that is added to the player's hitbox when considering which point to fly to on the
* path. High values can result in points not being considered which are otherwise safe to fly to. Low values can
* result in flight paths which are extremely tight, and there's the possibility of crashing due to getting too low
* to the ground.
*/
public final Setting<Double> elytraMinimumAvoidance = new Setting<>(0.2);
/**
* If enabled, avoids using fireworks when descending along the flight path.
*/
public final Setting<Boolean> elytraConserveFireworks = new Setting<>(false);
/**
* Renders the raytraces that are performed by the elytra fly calculation.
*/
public final Setting<Boolean> elytraRenderRaytraces = new Setting<>(false);
/**
* Renders the raytraces that are used in the hitbox part of the elytra fly calculation.
* Requires {@link #elytraRenderRaytraces}.
*/
public final Setting<Boolean> elytraRenderHitboxRaytraces = new Setting<>(false);
/**
* Renders the best elytra flight path that was simulated each tick.
*/
public final Setting<Boolean> elytraRenderSimulation = new Setting<>(true);
/**
* Automatically path to and jump off of ledges to initiate elytra flight when grounded.
*/
public final Setting<Boolean> elytraAutoJump = new Setting<>(false);
/**
* The seed used to generate chunks for long distance elytra path-finding in the nether.
* Defaults to 2b2t's nether seed.
*/
public final Setting<Long> elytraNetherSeed = new Setting<>(146008555100680L);
/**
* Whether nether-pathfinder should generate terrain based on {@link #elytraNetherSeed}.
* If false all chunks that haven't been loaded are assumed to be air.
*/
public final Setting<Boolean> elytraPredictTerrain = new Setting<>(false);
/**
* Automatically swap the current elytra with a new one when the durability gets too low
*/
public final Setting<Boolean> elytraAutoSwap = new Setting<>(true);
/**
* The minimum durability an elytra can have before being swapped
*/
public final Setting<Integer> elytraMinimumDurability = new Setting<>(5);
/**
* The minimum fireworks before landing early for safety
*/
public final Setting<Integer> elytraMinFireworksBeforeLanding = new Setting<>(5);
/**
* Automatically land when elytra is almost out of durability, or almost out of fireworks
*/
public final Setting<Boolean> elytraAllowEmergencyLand = new Setting<>(true);
/**
* Time between culling far away chunks from the nether pathfinder chunk cache
*/
public final Setting<Long> elytraTimeBetweenCacheCullSecs = new Setting<>(TimeUnit.MINUTES.toSeconds(3));
/**
* Maximum distance chunks can be before being culled from the nether pathfinder chunk cache
*/
public final Setting<Integer> elytraCacheCullDistance = new Setting<>(5000);
/**
* Should elytra consider nether brick a valid landing block
*/
public final Setting<Boolean> elytraAllowLandOnNetherFortress = new Setting<>(false);
/**
* Has the user read and understood the elytra terms and conditions
*/
public final Setting<Boolean> elytraTermsAccepted = new Setting<>(false);
/**
* Verbose chat logging in elytra mode
*/
public final Setting<Boolean> elytraChatSpam = new Setting<>(false);
/**
* Sneak when magma blocks are under feet
*/
public final Setting<Boolean> allowWalkOnMagmaBlocks = new Setting<>(false);
/**
* A map of lowercase setting field names to their respective setting
*/
public final Map<String, Setting<?>> byLowerName;
/**
* A list of all settings
*/
public final List<Setting<?>> allSettings;
public final Map<Setting<?>, Type> settingTypes;
public final class Setting<T> {
public T value;
public final T defaultValue;
private String name;
private boolean javaOnly;
@SuppressWarnings("unchecked")
private Setting(T value) {
if (value == null) {
throw new IllegalArgumentException("Cannot determine value type class from null");
}
this.value = value;
this.defaultValue = value;
this.javaOnly = false;
}
/**
* Deprecated! Please use .value directly instead
*
* @return the current setting value
*/
@Deprecated
public final T get() {
return value;
}
public final String getName() {
return name;
}
public Class<T> getValueClass() {
// noinspection unchecked
return (Class<T>) TypeUtils.resolveBaseClass(getType());
}
@Override
public String toString() {
return SettingsUtil.settingToString(this);
}
/**
* Reset this setting to its default value
*/
public void reset() {
value = defaultValue;
}
public final Type getType() {
return settingTypes.get(this);
}
/**
* This should always be the same as whether the setting can be parsed from or serialized to a string; in other
* words, the only way to modify it is by writing to {@link #value} programatically.
*
* @return {@code true} if the setting can not be set or read by the user
*/
public boolean isJavaOnly() {
return javaOnly;
}
}
/**
* Marks a {@link Setting} field as being {@link Setting#isJavaOnly() Java-only}
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
private @interface JavaOnly {}
// here be dragons
Settings() {
Field[] temp = getClass().getFields();
Map<String, Setting<?>> tmpByName = new HashMap<>();
List<Setting<?>> tmpAll = new ArrayList<>();
Map<Setting<?>, Type> tmpSettingTypes = new HashMa
gitextract_izjt0185/
├── .gitattributes
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug.md
│ │ ├── question.md
│ │ └── suggestion.md
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── workflows/
│ ├── gradle_build.yml
│ └── run_tests.yml
├── .gitignore
├── .gitlab-ci.yml
├── .gitmessage
├── CODE_OF_CONDUCT.md
├── Dockerfile
├── FEATURES.md
├── LICENSE
├── README.md
├── SETUP.md
├── USAGE.md
├── build.gradle
├── buildSrc/
│ ├── .gitignore
│ ├── build.gradle
│ └── src/
│ └── main/
│ └── java/
│ └── baritone/
│ └── gradle/
│ ├── task/
│ │ ├── BaritoneGradleTask.java
│ │ ├── CreateDistTask.java
│ │ └── ProguardTask.java
│ └── util/
│ └── Determinizer.java
├── fabric/
│ ├── build.gradle
│ └── src/
│ └── main/
│ └── resources/
│ └── fabric.mod.json
├── forge/
│ ├── build.gradle
│ ├── gradle.properties
│ └── src/
│ └── main/
│ ├── java/
│ │ └── baritone/
│ │ └── launch/
│ │ └── BaritoneForgeModXD.java
│ └── resources/
│ ├── META-INF/
│ │ └── mods.toml
│ └── pack.mcmeta
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── jitpack.yml
├── scripts/
│ └── proguard.pro
├── settings.gradle
├── src/
│ ├── api/
│ │ └── java/
│ │ └── baritone/
│ │ └── api/
│ │ ├── BaritoneAPI.java
│ │ ├── IBaritone.java
│ │ ├── IBaritoneProvider.java
│ │ ├── Settings.java
│ │ ├── behavior/
│ │ │ ├── IBehavior.java
│ │ │ ├── ILookBehavior.java
│ │ │ ├── IPathingBehavior.java
│ │ │ └── look/
│ │ │ ├── IAimProcessor.java
│ │ │ └── ITickableAimProcessor.java
│ │ ├── cache/
│ │ │ ├── IBlockTypeAccess.java
│ │ │ ├── ICachedRegion.java
│ │ │ ├── ICachedWorld.java
│ │ │ ├── IWaypoint.java
│ │ │ ├── IWaypointCollection.java
│ │ │ ├── IWorldData.java
│ │ │ ├── IWorldProvider.java
│ │ │ ├── IWorldScanner.java
│ │ │ └── Waypoint.java
│ │ ├── command/
│ │ │ ├── Command.java
│ │ │ ├── IBaritoneChatControl.java
│ │ │ ├── ICommand.java
│ │ │ ├── ICommandSystem.java
│ │ │ ├── argparser/
│ │ │ │ ├── IArgParser.java
│ │ │ │ └── IArgParserManager.java
│ │ │ ├── argument/
│ │ │ │ ├── IArgConsumer.java
│ │ │ │ └── ICommandArgument.java
│ │ │ ├── datatypes/
│ │ │ │ ├── BlockById.java
│ │ │ │ ├── EntityClassById.java
│ │ │ │ ├── ForAxis.java
│ │ │ │ ├── ForBlockOptionalMeta.java
│ │ │ │ ├── ForDirection.java
│ │ │ │ ├── ForWaypoints.java
│ │ │ │ ├── IDatatype.java
│ │ │ │ ├── IDatatypeContext.java
│ │ │ │ ├── IDatatypeFor.java
│ │ │ │ ├── IDatatypePost.java
│ │ │ │ ├── IDatatypePostFunction.java
│ │ │ │ ├── ItemById.java
│ │ │ │ ├── NearbyPlayer.java
│ │ │ │ ├── RelativeBlockPos.java
│ │ │ │ ├── RelativeCoordinate.java
│ │ │ │ ├── RelativeFile.java
│ │ │ │ ├── RelativeGoal.java
│ │ │ │ ├── RelativeGoalBlock.java
│ │ │ │ ├── RelativeGoalXZ.java
│ │ │ │ └── RelativeGoalYLevel.java
│ │ │ ├── exception/
│ │ │ │ ├── CommandErrorMessageException.java
│ │ │ │ ├── CommandException.java
│ │ │ │ ├── CommandInvalidArgumentException.java
│ │ │ │ ├── CommandInvalidStateException.java
│ │ │ │ ├── CommandInvalidTypeException.java
│ │ │ │ ├── CommandNoParserForTypeException.java
│ │ │ │ ├── CommandNotEnoughArgumentsException.java
│ │ │ │ ├── CommandNotFoundException.java
│ │ │ │ ├── CommandTooManyArgumentsException.java
│ │ │ │ ├── CommandUnhandledException.java
│ │ │ │ └── ICommandException.java
│ │ │ ├── helpers/
│ │ │ │ ├── Paginator.java
│ │ │ │ └── TabCompleteHelper.java
│ │ │ ├── manager/
│ │ │ │ └── ICommandManager.java
│ │ │ └── registry/
│ │ │ └── Registry.java
│ │ ├── event/
│ │ │ ├── events/
│ │ │ │ ├── BlockChangeEvent.java
│ │ │ │ ├── BlockInteractEvent.java
│ │ │ │ ├── ChatEvent.java
│ │ │ │ ├── ChunkEvent.java
│ │ │ │ ├── PacketEvent.java
│ │ │ │ ├── PathEvent.java
│ │ │ │ ├── PlayerUpdateEvent.java
│ │ │ │ ├── RenderEvent.java
│ │ │ │ ├── RotationMoveEvent.java
│ │ │ │ ├── SprintStateEvent.java
│ │ │ │ ├── TabCompleteEvent.java
│ │ │ │ ├── TickEvent.java
│ │ │ │ ├── WorldEvent.java
│ │ │ │ └── type/
│ │ │ │ ├── Cancellable.java
│ │ │ │ ├── EventState.java
│ │ │ │ ├── ICancellable.java
│ │ │ │ └── Overrideable.java
│ │ │ └── listener/
│ │ │ ├── AbstractGameEventListener.java
│ │ │ ├── IEventBus.java
│ │ │ └── IGameEventListener.java
│ │ ├── pathing/
│ │ │ ├── calc/
│ │ │ │ ├── IPath.java
│ │ │ │ ├── IPathFinder.java
│ │ │ │ └── IPathingControlManager.java
│ │ │ ├── goals/
│ │ │ │ ├── Goal.java
│ │ │ │ ├── GoalAxis.java
│ │ │ │ ├── GoalBlock.java
│ │ │ │ ├── GoalComposite.java
│ │ │ │ ├── GoalGetToBlock.java
│ │ │ │ ├── GoalInverted.java
│ │ │ │ ├── GoalNear.java
│ │ │ │ ├── GoalRunAway.java
│ │ │ │ ├── GoalStrictDirection.java
│ │ │ │ ├── GoalTwoBlocks.java
│ │ │ │ ├── GoalXZ.java
│ │ │ │ └── GoalYLevel.java
│ │ │ ├── movement/
│ │ │ │ ├── ActionCosts.java
│ │ │ │ ├── IMovement.java
│ │ │ │ └── MovementStatus.java
│ │ │ └── path/
│ │ │ └── IPathExecutor.java
│ │ ├── process/
│ │ │ ├── IBaritoneProcess.java
│ │ │ ├── IBuilderProcess.java
│ │ │ ├── ICustomGoalProcess.java
│ │ │ ├── IElytraProcess.java
│ │ │ ├── IExploreProcess.java
│ │ │ ├── IFarmProcess.java
│ │ │ ├── IFollowProcess.java
│ │ │ ├── IGetToBlockProcess.java
│ │ │ ├── IMineProcess.java
│ │ │ ├── PathingCommand.java
│ │ │ └── PathingCommandType.java
│ │ ├── schematic/
│ │ │ ├── AbstractSchematic.java
│ │ │ ├── CompositeSchematic.java
│ │ │ ├── CompositeSchematicEntry.java
│ │ │ ├── FillSchematic.java
│ │ │ ├── ISchematic.java
│ │ │ ├── ISchematicSystem.java
│ │ │ ├── IStaticSchematic.java
│ │ │ ├── MaskSchematic.java
│ │ │ ├── MirroredSchematic.java
│ │ │ ├── ReplaceSchematic.java
│ │ │ ├── RotatedSchematic.java
│ │ │ ├── ShellSchematic.java
│ │ │ ├── SubstituteSchematic.java
│ │ │ ├── WallsSchematic.java
│ │ │ ├── format/
│ │ │ │ └── ISchematicFormat.java
│ │ │ └── mask/
│ │ │ ├── AbstractMask.java
│ │ │ ├── Mask.java
│ │ │ ├── PreComputedMask.java
│ │ │ ├── StaticMask.java
│ │ │ ├── operator/
│ │ │ │ ├── BinaryOperatorMask.java
│ │ │ │ └── NotMask.java
│ │ │ └── shape/
│ │ │ ├── CylinderMask.java
│ │ │ └── SphereMask.java
│ │ ├── selection/
│ │ │ ├── ISelection.java
│ │ │ └── ISelectionManager.java
│ │ └── utils/
│ │ ├── BetterBlockPos.java
│ │ ├── BlockOptionalMeta.java
│ │ ├── BlockOptionalMetaLookup.java
│ │ ├── BlockUtils.java
│ │ ├── BooleanBinaryOperator.java
│ │ ├── BooleanBinaryOperators.java
│ │ ├── Helper.java
│ │ ├── IInputOverrideHandler.java
│ │ ├── IPlayerContext.java
│ │ ├── IPlayerController.java
│ │ ├── MyChunkPos.java
│ │ ├── NotificationHelper.java
│ │ ├── Pair.java
│ │ ├── PathCalculationResult.java
│ │ ├── RayTraceUtils.java
│ │ ├── Rotation.java
│ │ ├── RotationUtils.java
│ │ ├── SettingsUtil.java
│ │ ├── TypeUtils.java
│ │ ├── VecUtils.java
│ │ ├── accessor/
│ │ │ └── IItemStack.java
│ │ ├── gui/
│ │ │ └── BaritoneToast.java
│ │ ├── input/
│ │ │ └── Input.java
│ │ └── interfaces/
│ │ └── IGoalRenderPos.java
│ ├── launch/
│ │ ├── java/
│ │ │ └── baritone/
│ │ │ └── launch/
│ │ │ ├── BaritoneMixinConnector.java
│ │ │ └── mixins/
│ │ │ ├── MixinChunkArray.java
│ │ │ ├── MixinClientChunkProvider.java
│ │ │ ├── MixinClientPlayNetHandler.java
│ │ │ ├── MixinClientPlayerEntity.java
│ │ │ ├── MixinCommandSuggestionHelper.java
│ │ │ ├── MixinEntity.java
│ │ │ ├── MixinEntityRenderManager.java
│ │ │ ├── MixinFireworkRocketEntity.java
│ │ │ ├── MixinItemStack.java
│ │ │ ├── MixinLivingEntity.java
│ │ │ ├── MixinLootContext.java
│ │ │ ├── MixinMinecraft.java
│ │ │ ├── MixinNetworkManager.java
│ │ │ ├── MixinPalettedContainer$Data.java
│ │ │ ├── MixinPalettedContainer.java
│ │ │ ├── MixinPlayerController.java
│ │ │ ├── MixinScreen.java
│ │ │ └── MixinWorldRenderer.java
│ │ └── resources/
│ │ ├── META-INF/
│ │ │ └── MANIFEST.MF
│ │ └── mixins.baritone.json
│ ├── main/
│ │ └── java/
│ │ └── baritone/
│ │ ├── Baritone.java
│ │ ├── BaritoneProvider.java
│ │ ├── KeepName.java
│ │ ├── behavior/
│ │ │ ├── Behavior.java
│ │ │ ├── InventoryBehavior.java
│ │ │ ├── LookBehavior.java
│ │ │ ├── PathingBehavior.java
│ │ │ ├── WaypointBehavior.java
│ │ │ └── look/
│ │ │ └── ForkableRandom.java
│ │ ├── cache/
│ │ │ ├── CachedChunk.java
│ │ │ ├── CachedRegion.java
│ │ │ ├── CachedWorld.java
│ │ │ ├── ChunkPacker.java
│ │ │ ├── FasterWorldScanner.java
│ │ │ ├── WaypointCollection.java
│ │ │ ├── WorldData.java
│ │ │ ├── WorldProvider.java
│ │ │ └── WorldScanner.java
│ │ ├── command/
│ │ │ ├── CommandSystem.java
│ │ │ ├── ExampleBaritoneControl.java
│ │ │ ├── argparser/
│ │ │ │ ├── ArgParserManager.java
│ │ │ │ └── DefaultArgParsers.java
│ │ │ ├── argument/
│ │ │ │ ├── ArgConsumer.java
│ │ │ │ ├── CommandArgument.java
│ │ │ │ └── CommandArguments.java
│ │ │ ├── defaults/
│ │ │ │ ├── AxisCommand.java
│ │ │ │ ├── BlacklistCommand.java
│ │ │ │ ├── BuildCommand.java
│ │ │ │ ├── ClickCommand.java
│ │ │ │ ├── ComeCommand.java
│ │ │ │ ├── CommandAlias.java
│ │ │ │ ├── DefaultCommands.java
│ │ │ │ ├── ETACommand.java
│ │ │ │ ├── ElytraCommand.java
│ │ │ │ ├── ExecutionControlCommands.java
│ │ │ │ ├── ExploreCommand.java
│ │ │ │ ├── ExploreFilterCommand.java
│ │ │ │ ├── FarmCommand.java
│ │ │ │ ├── FindCommand.java
│ │ │ │ ├── FollowCommand.java
│ │ │ │ ├── ForceCancelCommand.java
│ │ │ │ ├── GcCommand.java
│ │ │ │ ├── GoalCommand.java
│ │ │ │ ├── GotoCommand.java
│ │ │ │ ├── HelpCommand.java
│ │ │ │ ├── InvertCommand.java
│ │ │ │ ├── LitematicaCommand.java
│ │ │ │ ├── MineCommand.java
│ │ │ │ ├── PathCommand.java
│ │ │ │ ├── PickupCommand.java
│ │ │ │ ├── ProcCommand.java
│ │ │ │ ├── ReloadAllCommand.java
│ │ │ │ ├── RenderCommand.java
│ │ │ │ ├── RepackCommand.java
│ │ │ │ ├── SaveAllCommand.java
│ │ │ │ ├── SchematicaCommand.java
│ │ │ │ ├── SelCommand.java
│ │ │ │ ├── SetCommand.java
│ │ │ │ ├── SurfaceCommand.java
│ │ │ │ ├── ThisWayCommand.java
│ │ │ │ ├── TunnelCommand.java
│ │ │ │ ├── VersionCommand.java
│ │ │ │ └── WaypointsCommand.java
│ │ │ └── manager/
│ │ │ └── CommandManager.java
│ │ ├── event/
│ │ │ └── GameEventHandler.java
│ │ ├── pathing/
│ │ │ ├── calc/
│ │ │ │ ├── AStarPathFinder.java
│ │ │ │ ├── AbstractNodeCostSearch.java
│ │ │ │ ├── Path.java
│ │ │ │ ├── PathNode.java
│ │ │ │ └── openset/
│ │ │ │ ├── BinaryHeapOpenSet.java
│ │ │ │ ├── IOpenSet.java
│ │ │ │ └── LinkedListOpenSet.java
│ │ │ ├── movement/
│ │ │ │ ├── CalculationContext.java
│ │ │ │ ├── Movement.java
│ │ │ │ ├── MovementHelper.java
│ │ │ │ ├── MovementOption.java
│ │ │ │ ├── MovementState.java
│ │ │ │ ├── Moves.java
│ │ │ │ └── movements/
│ │ │ │ ├── MovementAscend.java
│ │ │ │ ├── MovementDescend.java
│ │ │ │ ├── MovementDiagonal.java
│ │ │ │ ├── MovementDownward.java
│ │ │ │ ├── MovementFall.java
│ │ │ │ ├── MovementParkour.java
│ │ │ │ ├── MovementPillar.java
│ │ │ │ └── MovementTraverse.java
│ │ │ ├── path/
│ │ │ │ ├── CutoffPath.java
│ │ │ │ ├── PathExecutor.java
│ │ │ │ └── SplicedPath.java
│ │ │ └── precompute/
│ │ │ ├── PrecomputedData.java
│ │ │ └── Ternary.java
│ │ ├── process/
│ │ │ ├── BackfillProcess.java
│ │ │ ├── BuilderProcess.java
│ │ │ ├── CustomGoalProcess.java
│ │ │ ├── ElytraProcess.java
│ │ │ ├── ExploreProcess.java
│ │ │ ├── FarmProcess.java
│ │ │ ├── FollowProcess.java
│ │ │ ├── GetToBlockProcess.java
│ │ │ ├── InventoryPauserProcess.java
│ │ │ ├── MineProcess.java
│ │ │ └── elytra/
│ │ │ ├── BlockStateOctreeInterface.java
│ │ │ ├── ElytraBehavior.java
│ │ │ ├── NetherPath.java
│ │ │ ├── NetherPathfinderContext.java
│ │ │ ├── NullElytraProcess.java
│ │ │ ├── PathCalculationException.java
│ │ │ └── UnpackedSegment.java
│ │ ├── selection/
│ │ │ ├── Selection.java
│ │ │ ├── SelectionManager.java
│ │ │ └── SelectionRenderer.java
│ │ └── utils/
│ │ ├── BaritoneMath.java
│ │ ├── BaritoneProcessHelper.java
│ │ ├── BlockBreakHelper.java
│ │ ├── BlockPlaceHelper.java
│ │ ├── BlockStateInterface.java
│ │ ├── BlockStateInterfaceAccessWrapper.java
│ │ ├── GuiClick.java
│ │ ├── IRenderer.java
│ │ ├── InputOverrideHandler.java
│ │ ├── PathRenderer.java
│ │ ├── PathingCommandContext.java
│ │ ├── PathingControlManager.java
│ │ ├── PlayerMovementInput.java
│ │ ├── ToolSet.java
│ │ ├── accessor/
│ │ │ ├── IChunkArray.java
│ │ │ ├── IChunkProviderClient.java
│ │ │ ├── IClientChunkProvider.java
│ │ │ ├── IEntityRenderManager.java
│ │ │ ├── IFireworkRocketEntity.java
│ │ │ ├── IGuiScreen.java
│ │ │ ├── IPalettedContainer.java
│ │ │ └── IPlayerControllerMP.java
│ │ ├── pathing/
│ │ │ ├── Avoidance.java
│ │ │ ├── BetterWorldBorder.java
│ │ │ ├── Favoring.java
│ │ │ ├── MutableMoveResult.java
│ │ │ ├── PathBase.java
│ │ │ └── PathingBlockType.java
│ │ ├── player/
│ │ │ ├── BaritonePlayerContext.java
│ │ │ └── BaritonePlayerController.java
│ │ ├── schematic/
│ │ │ ├── MapArtSchematic.java
│ │ │ ├── SchematicSystem.java
│ │ │ ├── SelectionSchematic.java
│ │ │ ├── StaticSchematic.java
│ │ │ ├── format/
│ │ │ │ ├── DefaultSchematicFormats.java
│ │ │ │ └── defaults/
│ │ │ │ ├── LitematicaSchematic.java
│ │ │ │ ├── MCEditSchematic.java
│ │ │ │ └── SpongeSchematic.java
│ │ │ ├── litematica/
│ │ │ │ └── LitematicaHelper.java
│ │ │ └── schematica/
│ │ │ ├── SchematicAdapter.java
│ │ │ └── SchematicaHelper.java
│ │ └── type/
│ │ └── VarInt.java
│ ├── schematica_api/
│ │ └── java/
│ │ ├── com/
│ │ │ └── github/
│ │ │ └── lunatrius/
│ │ │ ├── core/
│ │ │ │ └── util/
│ │ │ │ └── math/
│ │ │ │ └── MBlockPos.java
│ │ │ └── schematica/
│ │ │ ├── Schematica.java
│ │ │ ├── api/
│ │ │ │ └── ISchematic.java
│ │ │ ├── client/
│ │ │ │ └── world/
│ │ │ │ └── SchematicWorld.java
│ │ │ └── proxy/
│ │ │ ├── ClientProxy.java
│ │ │ └── CommonProxy.java
│ │ └── fi/
│ │ └── dy/
│ │ └── masa/
│ │ └── litematica/
│ │ ├── Litematica.java
│ │ ├── data/
│ │ │ └── DataManager.java
│ │ ├── schematic/
│ │ │ ├── LitematicaSchematic.java
│ │ │ └── placement/
│ │ │ ├── SchematicPlacement.java
│ │ │ ├── SchematicPlacementManager.java
│ │ │ └── SubRegionPlacement.java
│ │ └── world/
│ │ ├── SchematicWorldHandler.java
│ │ └── WorldSchematic.java
│ └── test/
│ └── java/
│ └── baritone/
│ ├── cache/
│ │ └── CachedRegionTest.java
│ ├── pathing/
│ │ ├── calc/
│ │ │ └── openset/
│ │ │ └── OpenSetsTest.java
│ │ ├── goals/
│ │ │ └── GoalGetToBlockTest.java
│ │ └── movement/
│ │ └── ActionCostsTest.java
│ └── utils/
│ └── pathing/
│ ├── BetterBlockPosTest.java
│ └── PathingBlockTypeTest.java
└── tweaker/
├── build.gradle
└── src/
└── main/
└── java/
└── baritone/
└── launch/
├── LaunchTesting.java
└── tweaker/
└── BaritoneTweaker.java
Showing preview only (231K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2889 symbols across 358 files)
FILE: buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java
class BaritoneGradleTask (line 36) | class BaritoneGradleTask extends DefaultTask {
method getCompType (line 64) | public String getCompType() {
method setCompType (line 68) | public void setCompType(String compType) {
method BaritoneGradleTask (line 73) | public BaritoneGradleTask() {
method doFirst (line 77) | public void doFirst() {
method verifyArtifacts (line 93) | protected void verifyArtifacts() throws IllegalStateException {
method write (line 99) | protected void write(InputStream stream, Path file) throws IOException {
method formatVersion (line 106) | protected String formatVersion(String string) {
method getRelativeFile (line 110) | protected Path getRelativeFile(String file) {
method getRootRelativeFile (line 114) | protected Path getRootRelativeFile(String file) {
method getTemporaryFile (line 118) | protected Path getTemporaryFile(String file) {
method getBuildFile (line 122) | protected Path getBuildFile(String file) {
method addCompTypeFirst (line 126) | protected String addCompTypeFirst(String string) {
FILE: buildSrc/src/main/java/baritone/gradle/task/CreateDistTask.java
class CreateDistTask (line 38) | public class CreateDistTask extends BaritoneGradleTask {
method exec (line 42) | @TaskAction
method getFileName (line 76) | private static String getFileName(Path p) {
method sha1 (line 80) | private static synchronized String sha1(Path path) {
method bytesToHex (line 94) | public static String bytesToHex(byte[] bytes) {
FILE: buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java
class ProguardTask (line 50) | public class ProguardTask extends BaritoneGradleTask {
method getProguardVersion (line 55) | public String getProguardVersion() {
method exec (line 61) | @TaskAction
method getMcJar (line 79) | private File getMcJar() {
method isMcJar (line 84) | private boolean isMcJar(File f) {
method processArtifact (line 89) | private void processArtifact() throws Exception {
method downloadProguard (line 97) | private void downloadProguard() throws Exception {
method extractProguard (line 104) | private void extractProguard() throws Exception {
method getJavaLauncherForProguard (line 114) | private JavaLauncher getJavaLauncherForProguard() {
method generateConfigs (line 127) | private void generateConfigs() throws Exception {
method acquireDependencies (line 177) | private Stream<File> acquireDependencies() {
method proguardApi (line 183) | private void proguardApi() throws Exception {
method proguardStandalone (line 188) | private void proguardStandalone() throws Exception {
class Pair (line 193) | private static final class Pair<A, B> {
method Pair (line 197) | private Pair(final A a, final B b) {
method toString (line 202) | @Override
method cleanup (line 212) | private void cleanup() {
method setProguardVersion (line 218) | public void setProguardVersion(String url) {
method runProguard (line 222) | private void runProguard(Path config) throws Exception {
FILE: buildSrc/src/main/java/baritone/gradle/util/Determinizer.java
class Determinizer (line 40) | public class Determinizer {
method determinize (line 42) | public static void determinize(String inputPath, String outputPath, Li...
method copy (line 99) | private static void copy(InputStream is, OutputStream os) throws IOExc...
method writeSorted (line 107) | private static String writeSorted(JsonElement in) throws IOException {
method read (line 123) | @Override
method write (line 128) | @Override
FILE: forge/src/main/java/baritone/launch/BaritoneForgeModXD.java
class BaritoneForgeModXD (line 20) | @Mod("baritoe")
FILE: src/api/java/baritone/api/BaritoneAPI.java
class BaritoneAPI (line 28) | public final class BaritoneAPI {
method getProvider (line 44) | public static IBaritoneProvider getProvider() {
method getSettings (line 48) | public static Settings getSettings() {
FILE: src/api/java/baritone/api/IBaritone.java
type IBaritone (line 35) | public interface IBaritone {
method getPathingBehavior (line 41) | IPathingBehavior getPathingBehavior();
method getLookBehavior (line 47) | ILookBehavior getLookBehavior();
method getFollowProcess (line 53) | IFollowProcess getFollowProcess();
method getMineProcess (line 59) | IMineProcess getMineProcess();
method getBuilderProcess (line 65) | IBuilderProcess getBuilderProcess();
method getExploreProcess (line 71) | IExploreProcess getExploreProcess();
method getFarmProcess (line 77) | IFarmProcess getFarmProcess();
method getCustomGoalProcess (line 83) | ICustomGoalProcess getCustomGoalProcess();
method getGetToBlockProcess (line 89) | IGetToBlockProcess getGetToBlockProcess();
method getElytraProcess (line 95) | IElytraProcess getElytraProcess();
method getWorldProvider (line 101) | IWorldProvider getWorldProvider();
method getPathingControlManager (line 110) | IPathingControlManager getPathingControlManager();
method getInputOverrideHandler (line 116) | IInputOverrideHandler getInputOverrideHandler();
method getPlayerContext (line 122) | IPlayerContext getPlayerContext();
method getGameEventHandler (line 128) | IEventBus getGameEventHandler();
method getSelectionManager (line 134) | ISelectionManager getSelectionManager();
method getCommandManager (line 140) | ICommandManager getCommandManager();
method openClick (line 145) | void openClick();
FILE: src/api/java/baritone/api/IBaritoneProvider.java
type IBaritoneProvider (line 36) | public interface IBaritoneProvider {
method getPrimaryBaritone (line 45) | IBaritone getPrimaryBaritone();
method getAllBaritones (line 54) | List<IBaritone> getAllBaritones();
method getBaritoneForPlayer (line 62) | default IBaritone getBaritoneForPlayer(LocalPlayer player) {
method getBaritoneForMinecraft (line 77) | default IBaritone getBaritoneForMinecraft(Minecraft minecraft) {
method getBaritoneForConnection (line 92) | default IBaritone getBaritoneForConnection(ClientPacketListener connec...
method createBaritone (line 109) | IBaritone createBaritone(Minecraft minecraft);
method destroyBaritone (line 118) | boolean destroyBaritone(IBaritone baritone);
method getWorldScanner (line 126) | IWorldScanner getWorldScanner();
method getCommandSystem (line 134) | ICommandSystem getCommandSystem();
method getSchematicSystem (line 139) | ISchematicSystem getSchematicSystem();
FILE: src/api/java/baritone/api/Settings.java
class Settings (line 57) | public final class Settings {
class Setting (line 1570) | public final class Setting<T> {
method Setting (line 1577) | @SuppressWarnings("unchecked")
method get (line 1592) | @Deprecated
method getName (line 1597) | public final String getName() {
method getValueClass (line 1601) | public Class<T> getValueClass() {
method toString (line 1606) | @Override
method reset (line 1614) | public void reset() {
method getType (line 1618) | public final Type getType() {
method isJavaOnly (line 1628) | public boolean isJavaOnly() {
method Settings (line 1642) | Settings() {
method getAllValuesByType (line 1673) | @SuppressWarnings("unchecked")
FILE: src/api/java/baritone/api/behavior/IBehavior.java
type IBehavior (line 30) | public interface IBehavior extends AbstractGameEventListener {}
FILE: src/api/java/baritone/api/behavior/ILookBehavior.java
type ILookBehavior (line 28) | public interface ILookBehavior extends IBehavior {
method updateTarget (line 40) | void updateTarget(Rotation rotation, boolean blockInteract);
method getAimProcessor (line 49) | IAimProcessor getAimProcessor();
FILE: src/api/java/baritone/api/behavior/IPathingBehavior.java
type IPathingBehavior (line 31) | public interface IPathingBehavior extends IBehavior {
method ticksRemainingInSegment (line 40) | default Optional<Double> ticksRemainingInSegment() {
method ticksRemainingInSegment (line 52) | default Optional<Double> ticksRemainingInSegment(boolean includeCurren...
method estimatedTicksToGoal (line 68) | Optional<Double> estimatedTicksToGoal();
method getGoal (line 73) | Goal getGoal();
method isPathing (line 79) | boolean isPathing();
method hasPath (line 86) | default boolean hasPath() {
method cancelEverything (line 98) | boolean cancelEverything();
method forceCancel (line 105) | void forceCancel();
method getPath (line 112) | default Optional<IPath> getPath() {
method getInProgress (line 119) | Optional<? extends IPathFinder> getInProgress();
method getCurrent (line 124) | IPathExecutor getCurrent();
method getNext (line 131) | IPathExecutor getNext();
FILE: src/api/java/baritone/api/behavior/look/IAimProcessor.java
type IAimProcessor (line 25) | public interface IAimProcessor {
method peekRotation (line 36) | Rotation peekRotation(Rotation desired);
method fork (line 44) | ITickableAimProcessor fork();
FILE: src/api/java/baritone/api/behavior/look/ITickableAimProcessor.java
type ITickableAimProcessor (line 25) | public interface ITickableAimProcessor extends IAimProcessor {
method tick (line 30) | void tick();
method advance (line 37) | void advance(int ticks);
method nextRotation (line 46) | Rotation nextRotation(Rotation rotation);
FILE: src/api/java/baritone/api/cache/IBlockTypeAccess.java
type IBlockTypeAccess (line 27) | public interface IBlockTypeAccess {
method getBlock (line 29) | BlockState getBlock(int x, int y, int z);
method getBlock (line 31) | default BlockState getBlock(BlockPos pos) {
FILE: src/api/java/baritone/api/cache/ICachedRegion.java
type ICachedRegion (line 24) | public interface ICachedRegion extends IBlockTypeAccess {
method isCached (line 37) | boolean isCached(int blockX, int blockZ);
method getX (line 42) | int getX();
method getZ (line 47) | int getZ();
FILE: src/api/java/baritone/api/cache/ICachedWorld.java
type ICachedWorld (line 28) | public interface ICachedWorld {
method getRegion (line 37) | ICachedRegion getRegion(int regionX, int regionZ);
method queueForPacking (line 46) | void queueForPacking(LevelChunk chunk);
method isCached (line 56) | boolean isCached(int blockX, int blockZ);
method getLocationsOf (line 70) | ArrayList<BlockPos> getLocationsOf(String block, int maximum, int cent...
method reloadAllFromDisk (line 76) | void reloadAllFromDisk();
method save (line 82) | void save();
FILE: src/api/java/baritone/api/cache/IWaypoint.java
type IWaypoint (line 30) | public interface IWaypoint {
method getName (line 35) | String getName();
method getTag (line 44) | Tag getTag();
method getCreationTimestamp (line 53) | long getCreationTimestamp();
method getLocation (line 60) | BetterBlockPos getLocation();
type Tag (line 62) | enum Tag {
method Tag (line 94) | Tag(String... names) {
method getName (line 101) | public String getName() {
method getByName (line 111) | public static Tag getByName(String name) {
method getAllNames (line 126) | public static String[] getAllNames() {
FILE: src/api/java/baritone/api/cache/IWaypointCollection.java
type IWaypointCollection (line 26) | public interface IWaypointCollection {
method addWaypoint (line 33) | void addWaypoint(IWaypoint waypoint);
method removeWaypoint (line 40) | void removeWaypoint(IWaypoint waypoint);
method getMostRecentByTag (line 48) | IWaypoint getMostRecentByTag(IWaypoint.Tag tag);
method getByTag (line 57) | Set<IWaypoint> getByTag(IWaypoint.Tag tag);
method getAllWaypoints (line 65) | Set<IWaypoint> getAllWaypoints();
FILE: src/api/java/baritone/api/cache/IWorldData.java
type IWorldData (line 24) | public interface IWorldData {
method getCachedWorld (line 33) | ICachedWorld getCachedWorld();
method getWaypoints (line 38) | IWaypointCollection getWaypoints();
FILE: src/api/java/baritone/api/cache/IWorldProvider.java
type IWorldProvider (line 26) | public interface IWorldProvider {
method getCurrentWorld (line 33) | IWorldData getCurrentWorld();
method ifWorldLoaded (line 35) | default void ifWorldLoaded(Consumer<IWorldData> callback) {
FILE: src/api/java/baritone/api/cache/IWorldScanner.java
type IWorldScanner (line 31) | public interface IWorldScanner {
method scanChunkRadius (line 44) | List<BlockPos> scanChunkRadius(IPlayerContext ctx, BlockOptionalMetaLo...
method scanChunkRadius (line 46) | default List<BlockPos> scanChunkRadius(IPlayerContext ctx, List<Block>...
method scanChunk (line 61) | List<BlockPos> scanChunk(IPlayerContext ctx, BlockOptionalMetaLookup f...
method scanChunk (line 74) | default List<BlockPos> scanChunk(IPlayerContext ctx, List<Block> block...
method repack (line 84) | int repack(IPlayerContext ctx);
method repack (line 94) | int repack(IPlayerContext ctx, int range);
FILE: src/api/java/baritone/api/cache/Waypoint.java
class Waypoint (line 29) | public class Waypoint implements IWaypoint {
method Waypoint (line 36) | public Waypoint(String name, Tag tag, BetterBlockPos location) {
method Waypoint (line 49) | public Waypoint(String name, Tag tag, BetterBlockPos location, long cr...
method hashCode (line 56) | @Override
method getName (line 61) | @Override
method getTag (line 66) | @Override
method getCreationTimestamp (line 71) | @Override
method getLocation (line 76) | @Override
method toString (line 81) | @Override
method equals (line 91) | @Override
FILE: src/api/java/baritone/api/command/Command.java
class Command (line 40) | public abstract class Command implements ICommand {
method Command (line 55) | protected Command(IBaritone baritone, String... names) {
method getNames (line 63) | @Override
FILE: src/api/java/baritone/api/command/IBaritoneChatControl.java
type IBaritoneChatControl (line 28) | public interface IBaritoneChatControl {
FILE: src/api/java/baritone/api/command/ICommand.java
type ICommand (line 33) | public interface ICommand extends Helper {
method execute (line 38) | void execute(String label, IArgConsumer args) throws CommandException;
method tabComplete (line 44) | Stream<String> tabComplete(String label, IArgConsumer args) throws Com...
method getShortDesc (line 49) | String getShortDesc();
method getLongDesc (line 54) | List<String> getLongDesc();
method getNames (line 59) | List<String> getNames();
method hiddenFromHelp (line 64) | default boolean hiddenFromHelp() {
FILE: src/api/java/baritone/api/command/ICommandSystem.java
type ICommandSystem (line 26) | public interface ICommandSystem {
method getParserManager (line 28) | IArgParserManager getParserManager();
FILE: src/api/java/baritone/api/command/argparser/IArgParser.java
type IArgParser (line 22) | public interface IArgParser<T> {
method getTarget (line 27) | Class<T> getTarget();
type Stateless (line 32) | interface Stateless<T> extends IArgParser<T> {
method parseArg (line 40) | T parseArg(ICommandArgument arg) throws Exception;
type Stated (line 47) | interface Stated<T, S> extends IArgParser<T> {
method getStateType (line 49) | Class<S> getStateType();
method parseArg (line 58) | T parseArg(ICommandArgument arg, S state) throws Exception;
FILE: src/api/java/baritone/api/command/argparser/IArgParserManager.java
type IArgParserManager (line 32) | public interface IArgParserManager {
method getParserStateless (line 38) | <T> IArgParser.Stateless<T> getParserStateless(Class<T> type);
method getParserStated (line 44) | <T, S> IArgParser.Stated<T, S> getParserStated(Class<T> type, Class<S>...
method parseStateless (line 54) | <T> T parseStateless(Class<T> type, ICommandArgument arg) throws Comma...
method parseStated (line 66) | <T, S> T parseStated(Class<T> type, Class<S> stateKlass, ICommandArgum...
method getRegistry (line 68) | Registry<IArgParser> getRegistry();
FILE: src/api/java/baritone/api/command/argument/IArgConsumer.java
type IArgConsumer (line 54) | public interface IArgConsumer {
method getArgs (line 56) | LinkedList<ICommandArgument> getArgs();
method getConsumed (line 58) | Deque<ICommandArgument> getConsumed();
method has (line 67) | boolean has(int num);
method hasAny (line 75) | boolean hasAny();
method hasAtMost (line 84) | boolean hasAtMost(int num);
method hasAtMostOne (line 92) | boolean hasAtMostOne();
method hasExactly (line 100) | boolean hasExactly(int num);
method hasExactlyOne (line 107) | boolean hasExactlyOne();
method peek (line 119) | ICommandArgument peek(int index) throws CommandNotEnoughArgumentsExcep...
method peek (line 129) | ICommandArgument peek() throws CommandNotEnoughArgumentsException;
method is (line 140) | boolean is(Class<?> type, int index) throws CommandNotEnoughArgumentsE...
method is (line 150) | boolean is(Class<?> type) throws CommandNotEnoughArgumentsException;
method peekString (line 160) | String peekString(int index) throws CommandNotEnoughArgumentsException;
method peekString (line 168) | String peekString() throws CommandNotEnoughArgumentsException;
method peekEnum (line 180) | <E extends Enum<?>> E peekEnum(Class<E> enumClass, int index) throws C...
method peekEnum (line 191) | <E extends Enum<?>> E peekEnum(Class<E> enumClass) throws CommandInval...
method peekEnumOrNull (line 202) | <E extends Enum<?>> E peekEnumOrNull(Class<E> enumClass, int index) th...
method peekEnumOrNull (line 212) | <E extends Enum<?>> E peekEnumOrNull(Class<E> enumClass) throws Comman...
method peekAs (line 231) | <T> T peekAs(Class<T> type, int index) throws CommandInvalidTypeExcept...
method peekAs (line 248) | <T> T peekAs(Class<T> type) throws CommandInvalidTypeException, Comman...
method peekAsOrDefault (line 267) | <T> T peekAsOrDefault(Class<T> type, T def, int index) throws CommandN...
method peekAsOrDefault (line 284) | <T> T peekAsOrDefault(Class<T> type, T def) throws CommandNotEnoughArg...
method peekAsOrNull (line 302) | <T> T peekAsOrNull(Class<T> type, int index) throws CommandNotEnoughAr...
method peekAsOrNull (line 318) | <T> T peekAsOrNull(Class<T> type) throws CommandNotEnoughArgumentsExce...
method peekDatatype (line 320) | <T> T peekDatatype(IDatatypeFor<T> datatype) throws CommandInvalidType...
method peekDatatype (line 322) | <T, O> T peekDatatype(IDatatypePost<T, O> datatype) throws CommandInva...
method peekDatatype (line 324) | <T, O> T peekDatatype(IDatatypePost<T, O> datatype, O original) throws...
method peekDatatypeOrNull (line 326) | <T> T peekDatatypeOrNull(IDatatypeFor<T> datatype);
method peekDatatypeOrNull (line 328) | <T, O> T peekDatatypeOrNull(IDatatypePost<T, O> datatype);
method peekDatatypePost (line 330) | <T, O, D extends IDatatypePost<T, O>> T peekDatatypePost(D datatype, O...
method peekDatatypePostOrDefault (line 332) | <T, O, D extends IDatatypePost<T, O>> T peekDatatypePostOrDefault(D da...
method peekDatatypePostOrNull (line 334) | <T, O, D extends IDatatypePost<T, O>> T peekDatatypePostOrNull(D datat...
method peekDatatypeFor (line 350) | <T, D extends IDatatypeFor<T>> T peekDatatypeFor(Class<D> datatype);
method peekDatatypeForOrDefault (line 367) | <T, D extends IDatatypeFor<T>> T peekDatatypeForOrDefault(Class<D> dat...
method peekDatatypeForOrNull (line 383) | <T, D extends IDatatypeFor<T>> T peekDatatypeForOrNull(Class<D> dataty...
method get (line 392) | ICommandArgument get() throws CommandNotEnoughArgumentsException;
method getString (line 401) | String getString() throws CommandNotEnoughArgumentsException;
method getEnum (line 416) | <E extends Enum<?>> E getEnum(Class<E> enumClass) throws CommandInvali...
method getEnumOrDefault (line 433) | <E extends Enum<?>> E getEnumOrDefault(Class<E> enumClass, E def) thro...
method getEnumOrNull (line 449) | <E extends Enum<?>> E getEnumOrNull(Class<E> enumClass) throws Command...
method getAs (line 469) | <T> T getAs(Class<T> type) throws CommandInvalidTypeException, Command...
method getAsOrDefault (line 489) | <T> T getAsOrDefault(Class<T> type, T def) throws CommandNotEnoughArgu...
method getAsOrNull (line 508) | <T> T getAsOrNull(Class<T> type) throws CommandNotEnoughArgumentsExcep...
method getDatatypePost (line 510) | <T, O, D extends IDatatypePost<T, O>> T getDatatypePost(D datatype, O ...
method getDatatypePostOrDefault (line 512) | <T, O, D extends IDatatypePost<T, O>> T getDatatypePostOrDefault(D dat...
method getDatatypePostOrNull (line 514) | <T, O, D extends IDatatypePost<T, O>> T getDatatypePostOrNull(D dataty...
method getDatatypeFor (line 516) | <T, D extends IDatatypeFor<T>> T getDatatypeFor(D datatype) throws Com...
method getDatatypeForOrDefault (line 518) | <T, D extends IDatatypeFor<T>> T getDatatypeForOrDefault(D datatype, T...
method getDatatypeForOrNull (line 520) | <T, D extends IDatatypeFor<T>> T getDatatypeForOrNull(D datatype);
method tabCompleteDatatype (line 522) | <T extends IDatatype> Stream<String> tabCompleteDatatype(T datatype);
method rawRest (line 538) | String rawRest();
method requireMin (line 546) | void requireMin(int min) throws CommandNotEnoughArgumentsException;
method requireMax (line 554) | void requireMax(int max) throws CommandTooManyArgumentsException;
method requireExactly (line 563) | void requireExactly(int args) throws CommandException;
method hasConsumed (line 570) | boolean hasConsumed();
method consumed (line 578) | ICommandArgument consumed();
method consumedString (line 586) | String consumedString();
method copy (line 592) | IArgConsumer copy();
FILE: src/api/java/baritone/api/command/argument/ICommandArgument.java
type ICommandArgument (line 33) | public interface ICommandArgument {
method getIndex (line 38) | int getIndex();
method getValue (line 43) | String getValue();
method getRawRest (line 48) | String getRawRest();
method getEnum (line 66) | <E extends Enum<?>> E getEnum(Class<E> enumClass) throws CommandInvali...
method getAs (line 75) | <T> T getAs(Class<T> type) throws CommandInvalidTypeException;
method is (line 83) | <T> boolean is(Class<T> type);
method getAs (line 92) | <T, S> T getAs(Class<T> type, Class<S> stateType, S state) throws Comm...
method is (line 100) | <T, S> boolean is(Class<T> type, Class<S> stateType, S state);
FILE: src/api/java/baritone/api/command/datatypes/BlockById.java
type BlockById (line 28) | public enum BlockById implements IDatatypeFor<Block> {
method get (line 31) | @Override
method tabComplete (line 41) | @Override
FILE: src/api/java/baritone/api/command/datatypes/EntityClassById.java
type EntityClassById (line 28) | public enum EntityClassById implements IDatatypeFor<EntityType> {
method get (line 31) | @Override
method tabComplete (line 41) | @Override
FILE: src/api/java/baritone/api/command/datatypes/ForAxis.java
type ForAxis (line 27) | public enum ForAxis implements IDatatypeFor<Direction.Axis> {
method get (line 30) | @Override
method tabComplete (line 35) | @Override
FILE: src/api/java/baritone/api/command/datatypes/ForBlockOptionalMeta.java
type ForBlockOptionalMeta (line 33) | public enum ForBlockOptionalMeta implements IDatatypeFor<BlockOptionalMe...
method get (line 44) | @Override
method tabComplete (line 49) | @Override
method splitLast (line 142) | private static String[] splitLast(String string, char chr) {
method getValues (line 151) | private static <T extends Comparable<T>> Stream<String> getValues(Prop...
FILE: src/api/java/baritone/api/command/datatypes/ForDirection.java
type ForDirection (line 26) | public enum ForDirection implements IDatatypeFor<Direction> {
method get (line 29) | @Override
method tabComplete (line 34) | @Override
FILE: src/api/java/baritone/api/command/datatypes/ForWaypoints.java
type ForWaypoints (line 29) | public enum ForWaypoints implements IDatatypeFor<IWaypoint[]> {
method get (line 32) | @Override
method tabComplete (line 43) | @Override
method waypoints (line 53) | public static IWaypointCollection waypoints(IBaritone baritone) {
method getWaypoints (line 57) | public static IWaypoint[] getWaypoints(IBaritone baritone) {
method getWaypointNames (line 63) | public static String[] getWaypointNames(IBaritone baritone) {
method getWaypointsByTag (line 70) | public static IWaypoint[] getWaypointsByTag(IBaritone baritone, IWaypo...
method getWaypointsByName (line 76) | public static IWaypoint[] getWaypointsByName(IBaritone baritone, Strin...
FILE: src/api/java/baritone/api/command/datatypes/IDatatype.java
type IDatatype (line 41) | public interface IDatatype {
method tabComplete (line 55) | Stream<String> tabComplete(IDatatypeContext ctx) throws CommandException;
FILE: src/api/java/baritone/api/command/datatypes/IDatatypeContext.java
type IDatatypeContext (line 31) | public interface IDatatypeContext {
method getBaritone (line 38) | IBaritone getBaritone();
method getConsumer (line 45) | IArgConsumer getConsumer();
FILE: src/api/java/baritone/api/command/datatypes/IDatatypeFor.java
type IDatatypeFor (line 29) | public interface IDatatypeFor<T> extends IDatatype {
method get (line 42) | T get(IDatatypeContext ctx) throws CommandException;
FILE: src/api/java/baritone/api/command/datatypes/IDatatypePost.java
type IDatatypePost (line 29) | public interface IDatatypePost<T, O> extends IDatatype {
method apply (line 40) | T apply(IDatatypeContext ctx, O original) throws CommandException;
FILE: src/api/java/baritone/api/command/datatypes/IDatatypePostFunction.java
type IDatatypePostFunction (line 26) | public interface IDatatypePostFunction<T, O> {
method apply (line 28) | T apply(O original) throws CommandException;
FILE: src/api/java/baritone/api/command/datatypes/ItemById.java
type ItemById (line 28) | public enum ItemById implements IDatatypeFor<Item> {
method get (line 31) | @Override
method tabComplete (line 41) | @Override
FILE: src/api/java/baritone/api/command/datatypes/NearbyPlayer.java
type NearbyPlayer (line 32) | public enum NearbyPlayer implements IDatatypeFor<Player> {
method get (line 35) | @Override
method tabComplete (line 43) | @Override
method getPlayers (line 52) | private static List<? extends Player> getPlayers(IDatatypeContext ctx) {
FILE: src/api/java/baritone/api/command/datatypes/RelativeBlockPos.java
type RelativeBlockPos (line 26) | public enum RelativeBlockPos implements IDatatypePost<BetterBlockPos, Be...
method apply (line 29) | @Override
method tabComplete (line 43) | @Override
FILE: src/api/java/baritone/api/command/datatypes/RelativeCoordinate.java
type RelativeCoordinate (line 27) | public enum RelativeCoordinate implements IDatatypePost<Double, Double> {
method apply (line 32) | @Override
method tabComplete (line 61) | @Override
FILE: src/api/java/baritone/api/command/datatypes/RelativeFile.java
type RelativeFile (line 35) | public enum RelativeFile implements IDatatypePost<File, File> {
method apply (line 38) | @Override
method tabComplete (line 53) | @Override
method getCanonicalFileUnchecked (line 65) | private static File getCanonicalFileUnchecked(File file) {
method tabComplete (line 73) | public static Stream<String> tabComplete(IArgConsumer consumer, File b...
method gameDir (line 96) | @Deprecated
method gameDir (line 101) | public static File gameDir(Minecraft mc) {
FILE: src/api/java/baritone/api/command/datatypes/RelativeGoal.java
type RelativeGoal (line 30) | public enum RelativeGoal implements IDatatypePost<Goal, BetterBlockPos> {
method apply (line 33) | @Override
method tabComplete (line 60) | @Override
FILE: src/api/java/baritone/api/command/datatypes/RelativeGoalBlock.java
type RelativeGoalBlock (line 27) | public enum RelativeGoalBlock implements IDatatypePost<GoalBlock, Better...
method apply (line 30) | @Override
method tabComplete (line 44) | @Override
FILE: src/api/java/baritone/api/command/datatypes/RelativeGoalXZ.java
type RelativeGoalXZ (line 27) | public enum RelativeGoalXZ implements IDatatypePost<GoalXZ, BetterBlockP...
method apply (line 30) | @Override
method tabComplete (line 43) | @Override
FILE: src/api/java/baritone/api/command/datatypes/RelativeGoalYLevel.java
type RelativeGoalYLevel (line 27) | public enum RelativeGoalYLevel implements IDatatypePost<GoalYLevel, Bett...
method apply (line 30) | @Override
method tabComplete (line 41) | @Override
FILE: src/api/java/baritone/api/command/exception/CommandErrorMessageException.java
class CommandErrorMessageException (line 20) | public abstract class CommandErrorMessageException extends CommandExcept...
method CommandErrorMessageException (line 22) | protected CommandErrorMessageException(String reason) {
method CommandErrorMessageException (line 26) | protected CommandErrorMessageException(String reason, Throwable cause) {
FILE: src/api/java/baritone/api/command/exception/CommandException.java
class CommandException (line 20) | public abstract class CommandException extends Exception implements ICom...
method CommandException (line 22) | protected CommandException(String reason) {
method CommandException (line 26) | protected CommandException(String reason, Throwable cause) {
FILE: src/api/java/baritone/api/command/exception/CommandInvalidArgumentException.java
class CommandInvalidArgumentException (line 22) | public abstract class CommandInvalidArgumentException extends CommandErr...
method CommandInvalidArgumentException (line 26) | protected CommandInvalidArgumentException(ICommandArgument arg, String...
method CommandInvalidArgumentException (line 31) | protected CommandInvalidArgumentException(ICommandArgument arg, String...
method formatMessage (line 36) | private static String formatMessage(ICommandArgument arg, String messa...
FILE: src/api/java/baritone/api/command/exception/CommandInvalidStateException.java
class CommandInvalidStateException (line 20) | public class CommandInvalidStateException extends CommandErrorMessageExc...
method CommandInvalidStateException (line 22) | public CommandInvalidStateException(String reason) {
FILE: src/api/java/baritone/api/command/exception/CommandInvalidTypeException.java
class CommandInvalidTypeException (line 22) | public class CommandInvalidTypeException extends CommandInvalidArgumentE...
method CommandInvalidTypeException (line 24) | public CommandInvalidTypeException(ICommandArgument arg, String expect...
method CommandInvalidTypeException (line 28) | public CommandInvalidTypeException(ICommandArgument arg, String expect...
method CommandInvalidTypeException (line 32) | public CommandInvalidTypeException(ICommandArgument arg, String expect...
method CommandInvalidTypeException (line 36) | public CommandInvalidTypeException(ICommandArgument arg, String expect...
FILE: src/api/java/baritone/api/command/exception/CommandNoParserForTypeException.java
class CommandNoParserForTypeException (line 20) | public class CommandNoParserForTypeException extends CommandUnhandledExc...
method CommandNoParserForTypeException (line 22) | public CommandNoParserForTypeException(Class<?> klass) {
FILE: src/api/java/baritone/api/command/exception/CommandNotEnoughArgumentsException.java
class CommandNotEnoughArgumentsException (line 20) | public class CommandNotEnoughArgumentsException extends CommandErrorMess...
method CommandNotEnoughArgumentsException (line 22) | public CommandNotEnoughArgumentsException(int minArgs) {
FILE: src/api/java/baritone/api/command/exception/CommandNotFoundException.java
class CommandNotFoundException (line 27) | public class CommandNotFoundException extends CommandException {
method CommandNotFoundException (line 31) | public CommandNotFoundException(String command) {
method handle (line 36) | @Override
FILE: src/api/java/baritone/api/command/exception/CommandTooManyArgumentsException.java
class CommandTooManyArgumentsException (line 20) | public class CommandTooManyArgumentsException extends CommandErrorMessag...
method CommandTooManyArgumentsException (line 22) | public CommandTooManyArgumentsException(int maxArgs) {
FILE: src/api/java/baritone/api/command/exception/CommandUnhandledException.java
class CommandUnhandledException (line 27) | public class CommandUnhandledException extends RuntimeException implemen...
method CommandUnhandledException (line 29) | public CommandUnhandledException(String message) {
method CommandUnhandledException (line 33) | public CommandUnhandledException(Throwable cause) {
method handle (line 37) | @Override
FILE: src/api/java/baritone/api/command/exception/ICommandException.java
type ICommandException (line 37) | public interface ICommandException {
method getMessage (line 43) | String getMessage();
method handle (line 51) | default void handle(ICommand command, List<ICommandArgument> args) {
FILE: src/api/java/baritone/api/command/helpers/Paginator.java
class Paginator (line 35) | public class Paginator<E> implements Helper {
method Paginator (line 41) | public Paginator(List<E> entries) {
method Paginator (line 45) | public Paginator(E... entries) {
method setPageSize (line 49) | public Paginator<E> setPageSize(int pageSize) {
method getMaxPage (line 54) | public int getMaxPage() {
method validPage (line 58) | public boolean validPage(int page) {
method skipPages (line 62) | public Paginator<E> skipPages(int pages) {
method display (line 67) | public void display(Function<E, Component> transform, String commandPr...
method display (line 112) | public void display(Function<E, Component> transform) {
method paginate (line 116) | public static <T> void paginate(IArgConsumer consumer, Paginator<T> pa...
method paginate (line 139) | public static <T> void paginate(IArgConsumer consumer, List<T> elems, ...
method paginate (line 143) | public static <T> void paginate(IArgConsumer consumer, T[] elems, Runn...
method paginate (line 147) | public static <T> void paginate(IArgConsumer consumer, Paginator<T> pa...
method paginate (line 151) | public static <T> void paginate(IArgConsumer consumer, List<T> elems, ...
method paginate (line 155) | public static <T> void paginate(IArgConsumer consumer, T[] elems, Func...
method paginate (line 159) | public static <T> void paginate(IArgConsumer consumer, Paginator<T> pa...
method paginate (line 163) | public static <T> void paginate(IArgConsumer consumer, List<T> elems, ...
method paginate (line 167) | public static <T> void paginate(IArgConsumer consumer, T[] elems, Runn...
method paginate (line 171) | public static <T> void paginate(IArgConsumer consumer, Paginator<T> pa...
method paginate (line 175) | public static <T> void paginate(IArgConsumer consumer, List<T> elems, ...
method paginate (line 179) | public static <T> void paginate(IArgConsumer consumer, T[] elems, Func...
FILE: src/api/java/baritone/api/command/helpers/TabCompleteHelper.java
class TabCompleteHelper (line 52) | public class TabCompleteHelper {
method TabCompleteHelper (line 56) | public TabCompleteHelper(String[] base) {
method TabCompleteHelper (line 60) | public TabCompleteHelper(List<String> base) {
method TabCompleteHelper (line 64) | public TabCompleteHelper() {
method append (line 76) | public TabCompleteHelper append(Stream<String> source) {
method append (line 89) | public TabCompleteHelper append(String... source) {
method append (line 101) | public TabCompleteHelper append(Class<? extends Enum<?>> num) {
method prepend (line 117) | public TabCompleteHelper prepend(Stream<String> source) {
method prepend (line 130) | public TabCompleteHelper prepend(String... source) {
method prepend (line 142) | public TabCompleteHelper prepend(Class<? extends Enum<?>> num) {
method map (line 157) | public TabCompleteHelper map(Function<String, String> transform) {
method filter (line 169) | public TabCompleteHelper filter(Predicate<String> filter) {
method sort (line 181) | public TabCompleteHelper sort(Comparator<String> comparator) {
method sortAlphabetically (line 192) | public TabCompleteHelper sortAlphabetically() {
method filterPrefix (line 202) | public TabCompleteHelper filterPrefix(String prefix) {
method filterPrefixNamespaced (line 214) | public TabCompleteHelper filterPrefixNamespaced(String prefix) {
method build (line 227) | public String[] build() {
method stream (line 235) | public Stream<String> stream() {
method addCommands (line 245) | public TabCompleteHelper addCommands(ICommandManager manager) {
method addSettings (line 257) | public TabCompleteHelper addSettings() {
method addModifiedSettings (line 271) | public TabCompleteHelper addModifiedSettings() {
method addToggleableSettings (line 284) | public TabCompleteHelper addToggleableSettings() {
FILE: src/api/java/baritone/api/command/manager/ICommandManager.java
type ICommandManager (line 33) | public interface ICommandManager {
method getBaritone (line 35) | IBaritone getBaritone();
method getRegistry (line 37) | Registry<ICommand> getRegistry();
method getCommand (line 43) | ICommand getCommand(String name);
method execute (line 45) | boolean execute(String string);
method execute (line 47) | boolean execute(Tuple<String, List<ICommandArgument>> expanded);
method tabComplete (line 49) | Stream<String> tabComplete(Tuple<String, List<ICommandArgument>> expan...
method tabComplete (line 51) | Stream<String> tabComplete(String prefix);
FILE: src/api/java/baritone/api/command/registry/Registry.java
class Registry (line 34) | public class Registry<V> {
method registered (line 59) | public boolean registered(V entry) {
method register (line 71) | public boolean register(V entry) {
method unregister (line 86) | public void unregister(V entry) {
method iterator (line 99) | public Iterator<V> iterator() {
method descendingIterator (line 109) | public Iterator<V> descendingIterator() {
method stream (line 118) | public Stream<V> stream() {
method descendingStream (line 128) | public Stream<V> descendingStream() {
FILE: src/api/java/baritone/api/event/events/BlockChangeEvent.java
class BlockChangeEvent (line 30) | public final class BlockChangeEvent {
method BlockChangeEvent (line 35) | public BlockChangeEvent(ChunkPos pos, List<Pair<BlockPos, BlockState>>...
method getChunkPos (line 40) | public ChunkPos getChunkPos() {
method getBlocks (line 44) | public List<Pair<BlockPos, BlockState>> getBlocks() {
FILE: src/api/java/baritone/api/event/events/BlockInteractEvent.java
class BlockInteractEvent (line 28) | public final class BlockInteractEvent {
method BlockInteractEvent (line 40) | public BlockInteractEvent(BlockPos pos, Type type) {
method getPos (line 48) | public final BlockPos getPos() {
method getType (line 55) | public final Type getType() {
type Type (line 59) | public enum Type {
FILE: src/api/java/baritone/api/event/events/ChatEvent.java
class ChatEvent (line 26) | public final class ChatEvent extends Cancellable {
method ChatEvent (line 33) | public ChatEvent(String message) {
method getMessage (line 40) | public final String getMessage() {
FILE: src/api/java/baritone/api/event/events/ChunkEvent.java
class ChunkEvent (line 26) | public final class ChunkEvent {
method ChunkEvent (line 50) | public ChunkEvent(EventState state, Type type, int x, int z) {
method getState (line 60) | public EventState getState() {
method getType (line 67) | public Type getType() {
method getX (line 74) | public int getX() {
method getZ (line 81) | public int getZ() {
method isPostPopulate (line 88) | public boolean isPostPopulate() {
type Type (line 92) | public enum Type {
method isPopulate (line 118) | public final boolean isPopulate() {
FILE: src/api/java/baritone/api/event/events/PacketEvent.java
class PacketEvent (line 28) | public final class PacketEvent {
method PacketEvent (line 36) | public PacketEvent(Connection networkManager, EventState state, Packet...
method getNetworkManager (line 42) | public final Connection getNetworkManager() {
method getState (line 46) | public final EventState getState() {
method getPacket (line 50) | public final Packet<?> getPacket() {
method cast (line 54) | @SuppressWarnings("unchecked")
FILE: src/api/java/baritone/api/event/events/PathEvent.java
type PathEvent (line 20) | public enum PathEvent {
FILE: src/api/java/baritone/api/event/events/PlayerUpdateEvent.java
class PlayerUpdateEvent (line 26) | public final class PlayerUpdateEvent {
method PlayerUpdateEvent (line 33) | public PlayerUpdateEvent(EventState state) {
method getState (line 40) | public final EventState getState() {
FILE: src/api/java/baritone/api/event/events/RenderEvent.java
class RenderEvent (line 27) | public final class RenderEvent {
method RenderEvent (line 37) | public RenderEvent(float partialTicks, PoseStack modelViewStack, Matri...
method getPartialTicks (line 46) | public final float getPartialTicks() {
method getModelViewStack (line 50) | public PoseStack getModelViewStack() {
method getProjectionMatrix (line 54) | public Matrix4f getProjectionMatrix() {
FILE: src/api/java/baritone/api/event/events/RotationMoveEvent.java
class RotationMoveEvent (line 29) | public final class RotationMoveEvent {
method RotationMoveEvent (line 48) | public RotationMoveEvent(Type type, float yaw, float pitch) {
method getOriginal (line 55) | public Rotation getOriginal() {
method setYaw (line 64) | public void setYaw(float yaw) {
method getYaw (line 71) | public float getYaw() {
method setPitch (line 80) | public void setPitch(float pitch) {
method getPitch (line 87) | public float getPitch() {
method getType (line 94) | public Type getType() {
type Type (line 98) | public enum Type {
FILE: src/api/java/baritone/api/event/events/SprintStateEvent.java
class SprintStateEvent (line 24) | public final class SprintStateEvent {
method setState (line 28) | public final void setState(boolean state) {
method getState (line 32) | public final Boolean getState() {
FILE: src/api/java/baritone/api/event/events/TabCompleteEvent.java
class TabCompleteEvent (line 25) | public final class TabCompleteEvent extends Cancellable {
method TabCompleteEvent (line 30) | public TabCompleteEvent(String prefix) {
FILE: src/api/java/baritone/api/event/events/TickEvent.java
class TickEvent (line 33) | public final class TickEvent {
method TickEvent (line 41) | public TickEvent(EventState state, Type type, int count) {
method getCount (line 47) | public int getCount() {
method getType (line 51) | public Type getType() {
method getState (line 55) | public EventState getState() {
method createNextProvider (line 59) | public static synchronized BiFunction<EventState, Type, TickEvent> cre...
type Type (line 64) | public enum Type {
FILE: src/api/java/baritone/api/event/events/WorldEvent.java
class WorldEvent (line 27) | public final class WorldEvent {
method WorldEvent (line 39) | public WorldEvent(ClientLevel world, EventState state) {
method getWorld (line 47) | public final ClientLevel getWorld() {
method getState (line 54) | public final EventState getState() {
FILE: src/api/java/baritone/api/event/events/type/Cancellable.java
class Cancellable (line 24) | public class Cancellable implements ICancellable {
method cancel (line 31) | @Override
method isCancelled (line 36) | @Override
FILE: src/api/java/baritone/api/event/events/type/EventState.java
type EventState (line 24) | public enum EventState {
FILE: src/api/java/baritone/api/event/events/type/ICancellable.java
type ICancellable (line 24) | public interface ICancellable {
method cancel (line 29) | void cancel();
method isCancelled (line 34) | boolean isCancelled();
FILE: src/api/java/baritone/api/event/events/type/Overrideable.java
class Overrideable (line 23) | public class Overrideable<T> {
method Overrideable (line 28) | public Overrideable(T current) {
method get (line 32) | public T get() {
method set (line 36) | public void set(T newValue) {
method wasModified (line 41) | public boolean wasModified() {
method toString (line 45) | @Override
FILE: src/api/java/baritone/api/event/listener/AbstractGameEventListener.java
type AbstractGameEventListener (line 31) | public interface AbstractGameEventListener extends IGameEventListener {
method onTick (line 33) | @Override
method onPostTick (line 36) | @Override
method onPlayerUpdate (line 39) | @Override
method onSendChatMessage (line 42) | @Override
method onPreTabComplete (line 45) | @Override
method onChunkEvent (line 48) | @Override
method onBlockChange (line 51) | @Override
method onRenderPass (line 54) | @Override
method onWorldEvent (line 57) | @Override
method onSendPacket (line 60) | @Override
method onReceivePacket (line 63) | @Override
method onPlayerRotationMove (line 66) | @Override
method onPlayerSprintState (line 69) | @Override
method onBlockInteract (line 72) | @Override
method onPlayerDeath (line 75) | @Override
method onPathEvent (line 78) | @Override
FILE: src/api/java/baritone/api/event/listener/IEventBus.java
type IEventBus (line 28) | public interface IEventBus extends IGameEventListener {
method registerEventListener (line 35) | void registerEventListener(IGameEventListener listener);
FILE: src/api/java/baritone/api/event/listener/IGameEventListener.java
type IGameEventListener (line 33) | public interface IGameEventListener {
method onTick (line 41) | void onTick(TickEvent event);
method onPostTick (line 49) | void onPostTick(TickEvent event);
method onPlayerUpdate (line 57) | void onPlayerUpdate(PlayerUpdateEvent event);
method onSendChatMessage (line 65) | void onSendChatMessage(ChatEvent event);
method onPreTabComplete (line 72) | void onPreTabComplete(TabCompleteEvent event);
method onChunkEvent (line 79) | void onChunkEvent(ChunkEvent event);
method onBlockChange (line 86) | void onBlockChange(BlockChangeEvent event);
method onRenderPass (line 93) | void onRenderPass(RenderEvent event);
method onWorldEvent (line 101) | void onWorldEvent(WorldEvent event);
method onSendPacket (line 109) | void onSendPacket(PacketEvent event);
method onReceivePacket (line 117) | void onReceivePacket(PacketEvent event);
method onPlayerRotationMove (line 126) | void onPlayerRotationMove(RotationMoveEvent event);
method onPlayerSprintState (line 134) | void onPlayerSprintState(SprintStateEvent event);
method onBlockInteract (line 141) | void onBlockInteract(BlockInteractEvent event);
method onPlayerDeath (line 148) | void onPlayerDeath();
method onPathEvent (line 155) | void onPathEvent(PathEvent event);
FILE: src/api/java/baritone/api/pathing/calc/IPath.java
type IPath (line 31) | public interface IPath {
method movements (line 41) | List<IMovement> movements();
method positions (line 49) | List<BetterBlockPos> positions();
method postProcess (line 57) | default IPath postProcess() {
method length (line 66) | default int length() {
method getGoal (line 73) | Goal getGoal();
method getNumNodesConsidered (line 81) | int getNumNodesConsidered();
method getSrc (line 89) | default BetterBlockPos getSrc() {
method getDest (line 99) | default BetterBlockPos getDest() {
method ticksRemainingFrom (line 110) | default double ticksRemainingFrom(int pathPosition) {
method cutoffAtLoadedChunks (line 129) | default IPath cutoffAtLoadedChunks(Object bsi) {
method staticCutoff (line 142) | default IPath staticCutoff(Goal destination) {
method sanityCheck (line 150) | default void sanityCheck() {
FILE: src/api/java/baritone/api/pathing/calc/IPathFinder.java
type IPathFinder (line 30) | public interface IPathFinder {
method getGoal (line 32) | Goal getGoal();
method calculate (line 41) | PathCalculationResult calculate(long primaryTimeout, long failureTimeo...
method isFinished (line 48) | boolean isFinished();
method pathToMostRecentNodeConsidered (line 55) | Optional<IPath> pathToMostRecentNodeConsidered();
method bestPathSoFar (line 65) | Optional<IPath> bestPathSoFar();
FILE: src/api/java/baritone/api/pathing/calc/IPathingControlManager.java
type IPathingControlManager (line 28) | public interface IPathingControlManager {
method registerProcess (line 36) | void registerProcess(IBaritoneProcess process);
method mostRecentInControl (line 41) | Optional<IBaritoneProcess> mostRecentInControl();
method mostRecentCommand (line 46) | Optional<PathingCommand> mostRecentCommand();
FILE: src/api/java/baritone/api/pathing/goals/Goal.java
type Goal (line 27) | public interface Goal {
method isInGoal (line 38) | boolean isInGoal(int x, int y, int z);
method heuristic (line 48) | double heuristic(int x, int y, int z);
method isInGoal (line 50) | default boolean isInGoal(BlockPos pos) {
method heuristic (line 54) | default double heuristic(BlockPos pos) {
method heuristic (line 68) | default double heuristic() {
FILE: src/api/java/baritone/api/pathing/goals/GoalAxis.java
class GoalAxis (line 22) | public class GoalAxis implements Goal {
method isInGoal (line 26) | @Override
method heuristic (line 31) | @Override
method equals (line 45) | @Override
method hashCode (line 50) | @Override
method toString (line 55) | @Override
FILE: src/api/java/baritone/api/pathing/goals/GoalBlock.java
class GoalBlock (line 30) | public class GoalBlock implements Goal, IGoalRenderPos {
method GoalBlock (line 47) | public GoalBlock(BlockPos pos) {
method GoalBlock (line 51) | public GoalBlock(int x, int y, int z) {
method isInGoal (line 57) | @Override
method heuristic (line 62) | @Override
method equals (line 70) | @Override
method hashCode (line 85) | @Override
method toString (line 90) | @Override
method getGoalPos (line 103) | @Override
method calculate (line 108) | public static double calculate(double xDiff, int yDiff, double zDiff) {
FILE: src/api/java/baritone/api/pathing/goals/GoalComposite.java
class GoalComposite (line 29) | public class GoalComposite implements Goal {
method GoalComposite (line 36) | public GoalComposite(Goal... goals) {
method isInGoal (line 40) | @Override
method heuristic (line 50) | @Override
method heuristic (line 60) | @Override
method equals (line 70) | @Override
method hashCode (line 83) | @Override
method toString (line 88) | @Override
method goals (line 93) | public Goal[] goals() {
FILE: src/api/java/baritone/api/pathing/goals/GoalGetToBlock.java
class GoalGetToBlock (line 31) | public class GoalGetToBlock implements Goal, IGoalRenderPos {
method GoalGetToBlock (line 37) | public GoalGetToBlock(BlockPos pos) {
method getGoalPos (line 43) | @Override
method isInGoal (line 48) | @Override
method heuristic (line 56) | @Override
method equals (line 64) | @Override
method hashCode (line 79) | @Override
method toString (line 84) | @Override
FILE: src/api/java/baritone/api/pathing/goals/GoalInverted.java
class GoalInverted (line 32) | public class GoalInverted implements Goal {
method GoalInverted (line 36) | public GoalInverted(Goal origin) {
method isInGoal (line 40) | @Override
method heuristic (line 45) | @Override
method heuristic (line 50) | @Override
method equals (line 55) | @Override
method hashCode (line 68) | @Override
method toString (line 73) | @Override
FILE: src/api/java/baritone/api/pathing/goals/GoalNear.java
class GoalNear (line 27) | public class GoalNear implements Goal, IGoalRenderPos {
method GoalNear (line 34) | public GoalNear(BlockPos pos, int range) {
method isInGoal (line 41) | @Override
method heuristic (line 49) | @Override
method heuristic (line 57) | @Override
method getGoalPos (line 85) | @Override
method equals (line 90) | @Override
method hashCode (line 106) | @Override
method toString (line 111) | @Override
FILE: src/api/java/baritone/api/pathing/goals/GoalRunAway.java
class GoalRunAway (line 33) | public class GoalRunAway implements Goal {
method GoalRunAway (line 41) | public GoalRunAway(double distance, BlockPos... from) {
method GoalRunAway (line 45) | public GoalRunAway(double distance, Integer maintainY, BlockPos... fro...
method isInGoal (line 54) | @Override
method heuristic (line 70) | @Override
method heuristic (line 86) | @Override
method equals (line 128) | @Override
method hashCode (line 143) | @Override
method toString (line 151) | @Override
FILE: src/api/java/baritone/api/pathing/goals/GoalStrictDirection.java
class GoalStrictDirection (line 28) | public class GoalStrictDirection implements Goal {
method GoalStrictDirection (line 36) | public GoalStrictDirection(BlockPos origin, Direction direction) {
method isInGoal (line 47) | @Override
method heuristic (line 52) | @Override
method heuristic (line 68) | @Override
method equals (line 73) | @Override
method hashCode (line 90) | @Override
method toString (line 98) | @Override
FILE: src/api/java/baritone/api/pathing/goals/GoalTwoBlocks.java
class GoalTwoBlocks (line 31) | public class GoalTwoBlocks implements Goal, IGoalRenderPos {
method GoalTwoBlocks (line 48) | public GoalTwoBlocks(BlockPos pos) {
method GoalTwoBlocks (line 52) | public GoalTwoBlocks(int x, int y, int z) {
method isInGoal (line 58) | @Override
method heuristic (line 63) | @Override
method getGoalPos (line 71) | @Override
method equals (line 76) | @Override
method hashCode (line 91) | @Override
method toString (line 96) | @Override
FILE: src/api/java/baritone/api/pathing/goals/GoalXZ.java
class GoalXZ (line 31) | public class GoalXZ implements Goal {
method GoalXZ (line 45) | public GoalXZ(int x, int z) {
method GoalXZ (line 50) | public GoalXZ(BetterBlockPos pos) {
method isInGoal (line 55) | @Override
method heuristic (line 60) | @Override
method equals (line 67) | @Override
method hashCode (line 80) | @Override
method toString (line 88) | @Override
method calculate (line 97) | public static double calculate(double xDiff, double zDiff) {
method fromDirection (line 118) | public static GoalXZ fromDirection(Vec3 origin, float yaw, double dist...
method getX (line 125) | public int getX() {
method getZ (line 129) | public int getZ() {
FILE: src/api/java/baritone/api/pathing/goals/GoalYLevel.java
class GoalYLevel (line 28) | public class GoalYLevel implements Goal, ActionCosts {
method GoalYLevel (line 35) | public GoalYLevel(int level) {
method isInGoal (line 39) | @Override
method heuristic (line 44) | @Override
method calculate (line 49) | public static double calculate(int goalY, int currentY) {
method equals (line 61) | @Override
method hashCode (line 74) | @Override
method toString (line 79) | @Override
FILE: src/api/java/baritone/api/pathing/movement/ActionCosts.java
type ActionCosts (line 20) | public interface ActionCosts {
method generateFallNBlocksCost (line 67) | static double[] generateFallNBlocksCost() {
method velocity (line 75) | static double velocity(int ticks) {
method oldFormula (line 79) | static double oldFormula(double ticks) {
method distanceToTicks (line 83) | static double distanceToTicks(double distance) {
FILE: src/api/java/baritone/api/pathing/movement/IMovement.java
type IMovement (line 27) | public interface IMovement {
method getCost (line 29) | double getCost();
method update (line 31) | MovementStatus update();
method reset (line 36) | void reset();
method resetBlockCache (line 41) | void resetBlockCache();
method safeToCancel (line 46) | boolean safeToCancel();
method calculatedWhileLoaded (line 48) | boolean calculatedWhileLoaded();
method getSrc (line 50) | BetterBlockPos getSrc();
method getDest (line 52) | BetterBlockPos getDest();
method getDirection (line 54) | BlockPos getDirection();
FILE: src/api/java/baritone/api/pathing/movement/MovementStatus.java
type MovementStatus (line 24) | public enum MovementStatus {
method MovementStatus (line 67) | MovementStatus(boolean complete) {
method isComplete (line 71) | public final boolean isComplete() {
FILE: src/api/java/baritone/api/pathing/path/IPathExecutor.java
type IPathExecutor (line 26) | public interface IPathExecutor {
method getPath (line 28) | IPath getPath();
method getPosition (line 30) | int getPosition();
FILE: src/api/java/baritone/api/process/IBaritoneProcess.java
type IBaritoneProcess (line 36) | public interface IBaritoneProcess {
method isActive (line 53) | boolean isActive();
method onTick (line 66) | PathingCommand onTick(boolean calcFailed, boolean isSafeToCancel);
method isTemporary (line 80) | boolean isTemporary();
method onLostControl (line 87) | void onLostControl();
method priority (line 95) | default double priority() {
method displayName (line 104) | default String displayName() {
method displayName0 (line 113) | String displayName0();
FILE: src/api/java/baritone/api/process/IBuilderProcess.java
type IBuilderProcess (line 33) | public interface IBuilderProcess extends IBaritoneProcess {
method build (line 42) | void build(String name, ISchematic schematic, Vec3i origin);
method build (line 52) | boolean build(String name, File schematic, Vec3i origin);
method build (line 54) | @Deprecated
method buildOpenSchematic (line 60) | void buildOpenSchematic();
method buildOpenLitematic (line 62) | void buildOpenLitematic(int i);
method pause (line 64) | void pause();
method isPaused (line 66) | boolean isPaused();
method resume (line 68) | void resume();
method clearArea (line 70) | void clearArea(BlockPos corner1, BlockPos corner2);
method getApproxPlaceable (line 77) | List<BlockState> getApproxPlaceable();
method getMinLayer (line 83) | Optional<Integer> getMinLayer();
method getMaxLayer (line 90) | Optional<Integer> getMaxLayer();
FILE: src/api/java/baritone/api/process/ICustomGoalProcess.java
type ICustomGoalProcess (line 22) | public interface ICustomGoalProcess extends IBaritoneProcess {
method setGoal (line 29) | void setGoal(Goal goal);
method path (line 34) | void path();
method getGoal (line 39) | Goal getGoal();
method mostRecentGoal (line 44) | Goal mostRecentGoal();
method setGoalAndPath (line 51) | default void setGoalAndPath(Goal goal) {
FILE: src/api/java/baritone/api/process/IElytraProcess.java
type IElytraProcess (line 26) | public interface IElytraProcess extends IBaritoneProcess {
method repackChunks (line 28) | void repackChunks();
method currentDestination (line 33) | BlockPos currentDestination();
method getPath (line 38) | List<BetterBlockPos> getPath();
method pathTo (line 40) | void pathTo(BlockPos destination);
method pathTo (line 42) | void pathTo(Goal destination);
method resetState (line 47) | void resetState();
method isLoaded (line 52) | boolean isLoaded();
method isSafeToCancel (line 57) | boolean isSafeToCancel();
FILE: src/api/java/baritone/api/process/IExploreProcess.java
type IExploreProcess (line 22) | public interface IExploreProcess extends IBaritoneProcess {
method explore (line 24) | void explore(int centerX, int centerZ);
method applyJsonFilter (line 26) | void applyJsonFilter(Path path, boolean invert) throws Exception;
FILE: src/api/java/baritone/api/process/IFarmProcess.java
type IFarmProcess (line 22) | public interface IFarmProcess extends IBaritoneProcess {
method farm (line 31) | void farm(int range, BlockPos pos);
method farm (line 36) | default void farm() {farm(0, null);}
method farm (line 44) | default void farm(int range) {farm(range, null);}
FILE: src/api/java/baritone/api/process/IFollowProcess.java
type IFollowProcess (line 30) | public interface IFollowProcess extends IBaritoneProcess {
method follow (line 37) | void follow(Predicate<Entity> filter);
method pickup (line 44) | void pickup(Predicate<ItemStack> filter);
method following (line 49) | List<Entity> following();
method currentFilter (line 51) | Predicate<Entity> currentFilter();
method cancel (line 56) | default void cancel() {
FILE: src/api/java/baritone/api/process/IGetToBlockProcess.java
type IGetToBlockProcess (line 26) | public interface IGetToBlockProcess extends IBaritoneProcess {
method getToBlock (line 28) | void getToBlock(BlockOptionalMeta block);
method getToBlock (line 30) | default void getToBlock(Block block) {
method blacklistClosest (line 34) | boolean blacklistClosest();
FILE: src/api/java/baritone/api/process/IMineProcess.java
type IMineProcess (line 29) | public interface IMineProcess extends IBaritoneProcess {
method mineByName (line 39) | void mineByName(int quantity, String... blocks);
method mine (line 49) | void mine(int quantity, BlockOptionalMetaLookup filter);
method mine (line 56) | default void mine(BlockOptionalMetaLookup filter) {
method mineByName (line 65) | default void mineByName(String... blocks) {
method mine (line 74) | default void mine(int quantity, BlockOptionalMeta... boms) {
method mine (line 83) | default void mine(BlockOptionalMeta... boms) {
method mine (line 93) | default void mine(int quantity, Block... blocks) {
method mine (line 106) | default void mine(Block... blocks) {
method cancel (line 113) | default void cancel() {
FILE: src/api/java/baritone/api/process/PathingCommand.java
class PathingCommand (line 27) | public class PathingCommand {
method PathingCommand (line 50) | public PathingCommand(Goal goal, PathingCommandType commandType) {
method toString (line 57) | @Override
FILE: src/api/java/baritone/api/process/PathingCommandType.java
type PathingCommandType (line 22) | public enum PathingCommandType {
FILE: src/api/java/baritone/api/schematic/AbstractSchematic.java
class AbstractSchematic (line 20) | public abstract class AbstractSchematic implements ISchematic {
method AbstractSchematic (line 26) | public AbstractSchematic() {
method AbstractSchematic (line 30) | public AbstractSchematic(int x, int y, int z) {
method widthX (line 36) | @Override
method heightY (line 41) | @Override
method lengthZ (line 46) | @Override
FILE: src/api/java/baritone/api/schematic/CompositeSchematic.java
class CompositeSchematic (line 24) | public class CompositeSchematic extends AbstractSchematic {
method recalcArr (line 29) | private void recalcArr() {
method CompositeSchematic (line 38) | public CompositeSchematic(int x, int y, int z) {
method put (line 44) | public void put(ISchematic extra, int x, int y, int z) {
method getSchematic (line 49) | private CompositeSchematicEntry getSchematic(int x, int y, int z, Bloc...
method inSchematic (line 59) | @Override
method desiredState (line 65) | @Override
method reset (line 74) | @Override
FILE: src/api/java/baritone/api/schematic/CompositeSchematicEntry.java
class CompositeSchematicEntry (line 20) | public class CompositeSchematicEntry {
method CompositeSchematicEntry (line 27) | public CompositeSchematicEntry(ISchematic schematic, int x, int y, int...
FILE: src/api/java/baritone/api/schematic/FillSchematic.java
class FillSchematic (line 26) | public class FillSchematic extends AbstractSchematic {
method FillSchematic (line 30) | public FillSchematic(int x, int y, int z, BlockOptionalMeta bom) {
method FillSchematic (line 35) | public FillSchematic(int x, int y, int z, BlockState state) {
method getBom (line 39) | public BlockOptionalMeta getBom() {
method desiredState (line 43) | @Override
FILE: src/api/java/baritone/api/schematic/ISchematic.java
type ISchematic (line 30) | public interface ISchematic {
method inSchematic (line 46) | default boolean inSchematic(int x, int y, int z, BlockState currentSta...
method size (line 50) | default int size(Direction.Axis axis) {
method desiredState (line 73) | BlockState desiredState(int x, int y, int z, BlockState current, List<...
method reset (line 78) | default void reset() {}
method widthX (line 83) | int widthX();
method heightY (line 88) | int heightY();
method lengthZ (line 93) | int lengthZ();
FILE: src/api/java/baritone/api/schematic/ISchematicSystem.java
type ISchematicSystem (line 31) | public interface ISchematicSystem {
method getRegistry (line 36) | Registry<ISchematicFormat> getRegistry();
method getByFile (line 44) | Optional<ISchematicFormat> getByFile(File file);
method getFileExtensions (line 49) | List<String> getFileExtensions();
FILE: src/api/java/baritone/api/schematic/IStaticSchematic.java
type IStaticSchematic (line 30) | public interface IStaticSchematic extends ISchematic {
method getDirect (line 41) | BlockState getDirect(int x, int y, int z);
method getColumn (line 52) | default BlockState[] getColumn(int x, int z) {
FILE: src/api/java/baritone/api/schematic/MaskSchematic.java
class MaskSchematic (line 25) | public abstract class MaskSchematic extends AbstractSchematic {
method MaskSchematic (line 29) | public MaskSchematic(ISchematic schematic) {
method partOfMask (line 34) | protected abstract boolean partOfMask(int x, int y, int z, BlockState ...
method inSchematic (line 36) | @Override
method desiredState (line 41) | @Override
method create (line 46) | public static MaskSchematic create(ISchematic schematic, Mask function) {
FILE: src/api/java/baritone/api/schematic/MirroredSchematic.java
class MirroredSchematic (line 26) | public class MirroredSchematic implements ISchematic {
method MirroredSchematic (line 31) | public MirroredSchematic(ISchematic schematic, Mirror mirror) {
method inSchematic (line 36) | @Override
method desiredState (line 46) | @Override
method reset (line 57) | @Override
method widthX (line 62) | @Override
method heightY (line 67) | @Override
method lengthZ (line 72) | @Override
method mirrorX (line 77) | private static int mirrorX(int x, int sizeX, Mirror mirror) {
method mirrorZ (line 88) | private static int mirrorZ(int z, int sizeZ, Mirror mirror) {
method mirror (line 99) | private static BlockState mirror(BlockState state, Mirror mirror) {
method mirror (line 106) | private static List<BlockState> mirror(List<BlockState> states, Mirror...
FILE: src/api/java/baritone/api/schematic/ReplaceSchematic.java
class ReplaceSchematic (line 23) | public class ReplaceSchematic extends MaskSchematic {
method ReplaceSchematic (line 28) | public ReplaceSchematic(ISchematic schematic, BlockOptionalMetaLookup ...
method reset (line 34) | @Override
method partOfMask (line 46) | @Override
FILE: src/api/java/baritone/api/schematic/RotatedSchematic.java
class RotatedSchematic (line 26) | public class RotatedSchematic implements ISchematic {
method RotatedSchematic (line 32) | public RotatedSchematic(ISchematic schematic, Rotation rotation) {
method inSchematic (line 39) | @Override
method desiredState (line 49) | @Override
method reset (line 60) | @Override
method widthX (line 65) | @Override
method heightY (line 70) | @Override
method lengthZ (line 75) | @Override
method flipsCoordinates (line 83) | private static boolean flipsCoordinates(Rotation rotation) {
method rotateX (line 90) | private static int rotateX(int x, int z, int sizeX, int sizeZ, Rotatio...
method rotateZ (line 107) | private static int rotateZ(int x, int z, int sizeX, int sizeZ, Rotatio...
method rotate (line 121) | private static BlockState rotate(BlockState state, Rotation rotation) {
method rotate (line 128) | private static List<BlockState> rotate(List<BlockState> states, Rotati...
FILE: src/api/java/baritone/api/schematic/ShellSchematic.java
class ShellSchematic (line 22) | public class ShellSchematic extends MaskSchematic {
method ShellSchematic (line 24) | public ShellSchematic(ISchematic schematic) {
method partOfMask (line 28) | @Override
FILE: src/api/java/baritone/api/schematic/SubstituteSchematic.java
class SubstituteSchematic (line 31) | public class SubstituteSchematic extends AbstractSchematic {
method SubstituteSchematic (line 37) | public SubstituteSchematic(ISchematic schematic, Map<Block, List<Block...
method inSchematic (line 43) | @Override
method desiredState (line 48) | @Override
method withBlock (line 72) | private BlockState withBlock(BlockState state, Block block) {
method copySingleProp (line 88) | private <T extends Comparable<T>> BlockState copySingleProp(BlockState...
FILE: src/api/java/baritone/api/schematic/WallsSchematic.java
class WallsSchematic (line 22) | public class WallsSchematic extends MaskSchematic {
method WallsSchematic (line 24) | public WallsSchematic(ISchematic schematic) {
method partOfMask (line 28) | @Override
FILE: src/api/java/baritone/api/schematic/format/ISchematicFormat.java
type ISchematicFormat (line 34) | public interface ISchematicFormat {
method parse (line 39) | IStaticSchematic parse(InputStream input) throws IOException;
method isFileType (line 45) | boolean isFileType(File file);
method getFileExtensions (line 50) | List<String> getFileExtensions();
FILE: src/api/java/baritone/api/schematic/mask/AbstractMask.java
class AbstractMask (line 23) | public abstract class AbstractMask implements Mask {
method AbstractMask (line 29) | public AbstractMask(int widthX, int heightY, int lengthZ) {
method widthX (line 35) | @Override
method heightY (line 40) | @Override
method lengthZ (line 45) | @Override
FILE: src/api/java/baritone/api/schematic/mask/Mask.java
type Mask (line 28) | public interface Mask {
method partOfMask (line 37) | boolean partOfMask(int x, int y, int z, BlockState currentState);
method widthX (line 39) | int widthX();
method heightY (line 41) | int heightY();
method lengthZ (line 43) | int lengthZ();
method not (line 45) | default Mask not() {
method union (line 49) | default Mask union(Mask other) {
method intersection (line 53) | default Mask intersection(Mask other) {
method xor (line 57) | default Mask xor(Mask other) {
FILE: src/api/java/baritone/api/schematic/mask/PreComputedMask.java
class PreComputedMask (line 23) | final class PreComputedMask extends AbstractMask implements StaticMask {
method PreComputedMask (line 27) | public PreComputedMask(StaticMask mask) {
method partOfMask (line 40) | @Override
FILE: src/api/java/baritone/api/schematic/mask/StaticMask.java
type StaticMask (line 31) | public interface StaticMask extends Mask {
method partOfMask (line 41) | boolean partOfMask(int x, int y, int z);
method partOfMask (line 54) | @Override
method not (line 59) | @Override
method union (line 64) | default StaticMask union(StaticMask other) {
method intersection (line 68) | default StaticMask intersection(StaticMask other) {
method xor (line 72) | default StaticMask xor(StaticMask other) {
method compute (line 79) | default StaticMask compute() {
FILE: src/api/java/baritone/api/schematic/mask/operator/BinaryOperatorMask.java
class BinaryOperatorMask (line 29) | public final class BinaryOperatorMask extends AbstractMask {
method BinaryOperatorMask (line 35) | public BinaryOperatorMask(Mask a, Mask b, BooleanBinaryOperator operat...
method partOfMask (line 42) | @Override
method partOfMask (line 50) | private static boolean partOfMask(Mask mask, int x, int y, int z, Bloc...
class Static (line 54) | public static final class Static extends AbstractMask implements Stati...
method Static (line 60) | public Static(StaticMask a, StaticMask b, BooleanBinaryOperator oper...
method partOfMask (line 67) | @Override
method partOfMask (line 75) | private static boolean partOfMask(StaticMask mask, int x, int y, int...
FILE: src/api/java/baritone/api/schematic/mask/operator/NotMask.java
class NotMask (line 28) | public final class NotMask extends AbstractMask {
method NotMask (line 32) | public NotMask(Mask source) {
method partOfMask (line 37) | @Override
class Static (line 42) | public static final class Static extends AbstractMask implements Stati...
method Static (line 46) | public Static(StaticMask source) {
method partOfMask (line 51) | @Override
FILE: src/api/java/baritone/api/schematic/mask/shape/CylinderMask.java
class CylinderMask (line 27) | public final class CylinderMask extends AbstractMask implements StaticMa...
method CylinderMask (line 36) | public CylinderMask(int widthX, int heightY, int lengthZ, boolean fill...
method partOfMask (line 46) | @Override
method outside (line 58) | private boolean outside(double da, double db) {
method getA (line 62) | private static int getA(int x, int y, Direction.Axis alignment) {
method getB (line 66) | private static int getB(int y, int z, Direction.Axis alignment) {
FILE: src/api/java/baritone/api/schematic/mask/shape/SphereMask.java
class SphereMask (line 26) | public final class SphereMask extends AbstractMask implements StaticMask {
method SphereMask (line 36) | public SphereMask(int widthX, int heightY, int lengthZ, boolean filled) {
method partOfMask (line 47) | @Override
method outside (line 61) | private boolean outside(double dx, double dy, double dz) {
FILE: src/api/java/baritone/api/selection/ISelection.java
type ISelection (line 29) | public interface ISelection {
method pos1 (line 34) | BetterBlockPos pos1();
method pos2 (line 39) | BetterBlockPos pos2();
method min (line 44) | BetterBlockPos min();
method max (line 49) | BetterBlockPos max();
method size (line 54) | Vec3i size();
method aabb (line 59) | AABB aabb();
method expand (line 68) | ISelection expand(Direction direction, int blocks);
method contract (line 80) | ISelection contract(Direction direction, int blocks);
method shift (line 90) | ISelection shift(Direction direction, int blocks);
FILE: src/api/java/baritone/api/selection/ISelectionManager.java
type ISelectionManager (line 27) | public interface ISelectionManager {
method addSelection (line 34) | ISelection addSelection(ISelection selection);
method addSelection (line 42) | ISelection addSelection(BetterBlockPos pos1, BetterBlockPos pos2);
method removeSelection (line 50) | ISelection removeSelection(ISelection selection);
method removeAllSelections (line 57) | ISelection[] removeAllSelections();
method getSelections (line 62) | ISelection[] getSelections();
method getOnlySelection (line 70) | ISelection getOnlySelection();
method getLastSelection (line 79) | ISelection getLastSelection();
method expand (line 90) | ISelection expand(ISelection selection, Direction direction, int blocks);
method contract (line 104) | ISelection contract(ISelection selection, Direction direction, int blo...
method shift (line 115) | ISelection shift(ISelection selection, Direction direction, int blocks);
FILE: src/api/java/baritone/api/utils/BetterBlockPos.java
class BetterBlockPos (line 35) | public final class BetterBlockPos extends BlockPos {
method BetterBlockPos (line 52) | public BetterBlockPos(int x, int y, int z) {
method BetterBlockPos (line 59) | public BetterBlockPos(double x, double y, double z) {
method BetterBlockPos (line 63) | public BetterBlockPos(BlockPos pos) {
method from (line 73) | public static BetterBlockPos from(BlockPos pos) {
method hashCode (line 81) | @Override
method longHash (line 86) | public static long longHash(BetterBlockPos pos) {
method longHash (line 90) | public static long longHash(int x, int y, int z) {
method equals (line 111) | @Override
method above (line 126) | @Override
method above (line 140) | @Override
method below (line 146) | @Override
method below (line 152) | @Override
method relative (line 158) | @Override
method relative (line 164) | @Override
method north (line 173) | @Override
method north (line 178) | @Override
method south (line 183) | @Override
method south (line 188) | @Override
method east (line 193) | @Override
method east (line 198) | @Override
method west (line 203) | @Override
method west (line 208) | @Override
method distanceSq (line 213) | public double distanceSq(final BetterBlockPos to) {
method distanceTo (line 220) | public double distanceTo(final BetterBlockPos to) {
method toString (line 227) | @Override
method serializeToLong (line 238) | public static long serializeToLong(final int x, final int y, final int...
method deserializeFromLong (line 242) | public static BetterBlockPos deserializeFromLong(final long serialized) {
FILE: src/api/java/baritone/api/utils/BlockOptionalMeta.java
class BlockOptionalMeta (line 74) | public final class BlockOptionalMeta {
method BlockOptionalMeta (line 87) | public BlockOptionalMeta(@Nonnull Block block) {
method BlockOptionalMeta (line 95) | public BlockOptionalMeta(@Nonnull String selector) {
method castToIProperty (line 113) | private static <C extends Comparable<C>, P extends Property<C>> P cast...
method parseProperties (line 118) | private static Map<Property<?>, ?> parseProperties(Block block, String...
method getStates (line 138) | private static Set<BlockState> getStates(@Nonnull Block block, @Nonnul...
method getStateHashes (line 146) | private static ImmutableSet<Integer> getStateHashes(Set<BlockState> bl...
method getStackHashes (line 154) | private static ImmutableSet<Integer> getStackHashes(Set<BlockState> bl...
method getBlock (line 167) | public Block getBlock() {
method matches (line 171) | public boolean matches(@Nonnull Block block) {
method matches (line 175) | public boolean matches(@Nonnull BlockState blockstate) {
method matches (line 180) | public boolean matches(ItemStack stack) {
method toString (line 189) | @Override
method getAnyBlockState (line 194) | public BlockState getAnyBlockState() {
method getAllBlockStates (line 202) | public Set<BlockState> getAllBlockStates() {
method stackHashes (line 206) | public Set<Integer> stackHashes() {
method getVanillaServerPack (line 212) | private static VanillaPackResources getVanillaServerPack() {
method getManager (line 227) | public static LootTables getManager() {
method getPredicateManager (line 243) | public static PredicateManager getPredicateManager() {
method drops (line 247) | private static synchronized List<Item> drops(Block b) {
class ServerLevelStub (line 273) | private static class ServerLevelStub extends ServerLevel {
method ServerLevelStub (line 276) | public ServerLevelStub(MinecraftServer $$0, Executor $$1, LevelStora...
method enabledFeatures (line 280) | @Override
method fastCreate (line 286) | public static ServerLevelStub fastCreate() {
method getUnsafe (line 294) | public static Unsafe getUnsafe() {
FILE: src/api/java/baritone/api/utils/BlockOptionalMetaLookup.java
class BlockOptionalMetaLookup (line 32) | public class BlockOptionalMetaLookup {
method BlockOptionalMetaLookup (line 38) | public BlockOptionalMetaLookup(BlockOptionalMeta... boms) {
method BlockOptionalMetaLookup (line 53) | public BlockOptionalMetaLookup(Block... blocks) {
method BlockOptionalMetaLookup (line 60) | public BlockOptionalMetaLookup(List<Block> blocks) {
method BlockOptionalMetaLookup (line 66) | public BlockOptionalMetaLookup(String... blocks) {
method has (line 72) | public boolean has(Block block) {
method has (line 76) | public boolean has(BlockState state) {
method has (line 80) | public boolean has(ItemStack stack) {
method blocks (line 86) | public List<BlockOptionalMeta> blocks() {
method toString (line 90) | @Override
FILE: src/api/java/baritone/api/utils/BlockUtils.java
class BlockUtils (line 27) | public class BlockUtils {
method blockToString (line 31) | public static String blockToString(Block block) {
method stringToBlockRequired (line 41) | public static Block stringToBlockRequired(String name) {
method stringToBlockNullable (line 51) | public static Block stringToBlockNullable(String name) {
method BlockUtils (line 67) | private BlockUtils() {}
FILE: src/api/java/baritone/api/utils/BooleanBinaryOperator.java
type BooleanBinaryOperator (line 23) | @FunctionalInterface
method applyAsBoolean (line 26) | boolean applyAsBoolean(boolean a, boolean b);
FILE: src/api/java/baritone/api/utils/BooleanBinaryOperators.java
type BooleanBinaryOperators (line 23) | public enum BooleanBinaryOperators implements BooleanBinaryOperator {
method BooleanBinaryOperators (line 30) | BooleanBinaryOperators(BooleanBinaryOperator op) {
method applyAsBoolean (line 34) | @Override
FILE: src/api/java/baritone/api/utils/Helper.java
type Helper (line 39) | public interface Helper {
method getPrefix (line 58) | static Component getPrefix() {
method logToast (line 81) | default void logToast(Component title, Component message) {
method logToast (line 91) | default void logToast(String title, String message) {
method logToast (line 100) | default void logToast(String message) {
method logNotification (line 109) | default void logNotification(String message) {
method logNotification (line 119) | default void logNotification(String message, boolean error) {
method logNotificationDirect (line 131) | default void logNotificationDirect(String message) {
method logNotificationDirect (line 142) | default void logNotificationDirect(String message, boolean error) {
method logDebug (line 151) | default void logDebug(String message) {
method logDirect (line 168) | default void logDirect(boolean logAsToast, Component... components) {
method logDirect (line 187) | default void logDirect(Component... components) {
method logDirect (line 199) | default void logDirect(String message, ChatFormatting color, boolean l...
method logDirect (line 214) | default void logDirect(String message, ChatFormatting color) {
method logDirect (line 225) | default void logDirect(String message, boolean logAsToast) {
method logDirect (line 235) | default void logDirect(String message) {
method logUnhandledException (line 239) | default void logUnhandledException(final Throwable exception) {
FILE: src/api/java/baritone/api/utils/IInputOverrideHandler.java
type IInputOverrideHandler (line 27) | public interface IInputOverrideHandler extends IBehavior {
method isInputForcedDown (line 29) | boolean isInputForcedDown(Input input);
method setInputForceState (line 31) | void setInputForceState(Input input, boolean forced);
method clearAllKeys (line 33) | void clearAllKeys();
FILE: src/api/java/baritone/api/utils/IPlayerContext.java
type IPlayerContext (line 40) | public interface IPlayerContext {
method minecraft (line 42) | Minecraft minecraft();
method player (line 44) | LocalPlayer player();
method playerController (line 46) | IPlayerController playerController();
method world (line 48) | Level world();
method entities (line 50) | default Iterable<Entity> entities() {
method entitiesStream (line 54) | default Stream<Entity> entitiesStream() {
method worldData (line 59) | IWorldData worldData();
method objectMouseOver (line 61) | HitResult objectMouseOver();
method playerFeet (line 63) | default BetterBlockPos playerFeet() {
method playerFeetAsVec (line 84) | default Vec3 playerFeetAsVec() {
method playerHead (line 88) | default Vec3 playerHead() {
method playerMotion (line 92) | default Vec3 playerMotion() {
method viewerPos (line 96) | BetterBlockPos viewerPos();
method playerRotations (line 98) | default Rotation playerRotations() {
method eyeHeight (line 109) | @Deprecated
method getSelectedBlock (line 119) | default Optional<BlockPos> getSelectedBlock() {
method isLookingAt (line 127) | default boolean isLookingAt(BlockPos pos) {
FILE: src/api/java/baritone/api/utils/IPlayerController.java
type IPlayerController (line 36) | public interface IPlayerController {
method syncHeldItem (line 38) | void syncHeldItem();
method hasBrokenBlock (line 40) | boolean hasBrokenBlock();
method onPlayerDamageBlock (line 42) | boolean onPlayerDamageBlock(BlockPos pos, Direction side);
method resetBlockRemoving (line 44) | void resetBlockRemoving();
method windowClick (line 46) | void windowClick(int windowId, int slotId, int mouseButton, ClickType ...
method getGameType (line 48) | GameType getGameType();
method processRightClickBlock (line 50) | InteractionResult processRightClickBlock(LocalPlayer player, Level wor...
method processRightClick (line 52) | InteractionResult processRightClick(LocalPlayer player, Level world, I...
method clickBlock (line 54) | boolean clickBlock(BlockPos loc, Direction face);
method setHittingBlock (line 56) | void setHittingBlock(boolean hittingBlock);
method getBlockReachDistance (line 58) | default double getBlockReachDistance() {
FILE: src/api/java/baritone/api/utils/MyChunkPos.java
class MyChunkPos (line 25) | public class MyChunkPos {
method toString (line 33) | @Override
FILE: src/api/java/baritone/api/utils/NotificationHelper.java
class NotificationHelper (line 31) | public class NotificationHelper {
method notify (line 35) | public static void notify(String text, boolean error) {
method windows (line 45) | private static void windows(String text, boolean error) {
method mac (line 67) | private static void mac(String text) {
method linux (line 80) | private static void linux(String text) {
FILE: src/api/java/baritone/api/utils/Pair.java
class Pair (line 25) | public final class Pair<A, B> {
method Pair (line 30) | public Pair(A a, B b) {
method first (line 35) | public A first() {
method second (line 39) | public B second() {
method equals (line 43) | @Override
method hashCode (line 55) | @Override
FILE: src/api/java/baritone/api/utils/PathCalculationResult.java
class PathCalculationResult (line 25) | public class PathCalculationResult {
method PathCalculationResult (line 30) | public PathCalculationResult(Type type) {
method PathCalculationResult (line 34) | public PathCalculationResult(Type type, IPath path) {
method getPath (line 40) | public final Optional<IPath> getPath() {
method getType (line 44) | public final Type getType() {
type Type (line 48) | public enum Type {
FILE: src/api/java/baritone/api/utils/RayTraceUtils.java
class RayTraceUtils (line 30) | public final class RayTraceUtils {
method RayTraceUtils (line 32) | private RayTraceUtils() {}
method rayTraceTowards (line 44) | public static HitResult rayTraceTowards(Entity entity, Rotation rotati...
method rayTraceTowards (line 48) | public static HitResult rayTraceTowards(Entity entity, Rotation rotati...
method inferSneakingEyePosition (line 65) | public static Vec3 inferSneakingEyePosition(Entity entity) {
FILE: src/api/java/baritone/api/utils/Rotation.java
class Rotation (line 24) | public class Rotation {
method Rotation (line 36) | public Rotation(float yaw, float pitch) {
method getYaw (line 47) | public float getYaw() {
method getPitch (line 54) | public float getPitch() {
method add (line 65) | public Rotation add(Rotation other) {
method subtract (line 79) | public Rotation subtract(Rotation other) {
method clamp (line 89) | public Rotation clamp() {
method normalize (line 99) | public Rotation normalize() {
method normalizeAndClamp (line 109) | public Rotation normalizeAndClamp() {
method withPitch (line 116) | public Rotation withPitch(float pitch) {
method isReallyCloseTo (line 126) | public boolean isReallyCloseTo(Rotation other) {
method yawIsReallyClose (line 130) | public boolean yawIsReallyClose(Rotation other) {
method clampPitch (line 141) | public static float clampPitch(float pitch) {
method normalizeYaw (line 151) | public static float normalizeYaw(float yaw) {
method yawDistanceFromOffset (line 170) | public static float yawDistanceFromOffset(float yaw, float offsetYaw) {
method toString (line 182) | @Override
FILE: src/api/java/baritone/api/utils/RotationUtils.java
class RotationUtils (line 41) | public final class RotationUtils {
method RotationUtils (line 67) | private RotationUtils() {}
method calcRotationFromCoords (line 76) | public static Rotation calcRotationFromCoords(BlockPos orig, BlockPos ...
method wrapAnglesToRelative (line 89) | public static Rotation wrapAnglesToRelative(Rotation current, Rotation...
method calcRotationFromVec3d (line 106) | public static Rotation calcRotationFromVec3d(Vec3 orig, Vec3 dest, Rot...
method calcRotationFromVec3d (line 117) | private static Rotation calcRotationFromVec3d(Vec3 orig, Vec3 dest) {
method calcLookDirectionFromRotation (line 134) | public static Vec3 calcLookDirectionFromRotation(Rotation rotation) {
method calcVec3dFromRotation (line 142) | @Deprecated
method reachable (line 153) | public static Optional<Rotation> reachable(IPlayerContext ctx, BlockPo...
method reachable (line 157) | public static Optional<Rotation> reachable(IPlayerContext ctx, BlockPo...
method reachable (line 173) | public static Optional<Rotation> reachable(IPlayerContext ctx, BlockPo...
method reachable (line 177) | public static Optional<Rotation> reachable(IPlayerContext ctx, BlockPo...
method reachableOffset (line 234) | public static Optional<Rotation> reachableOffset(IPlayerContext ctx, B...
method reachableCenter (line 260) | public static Optional<Rotation> reachableCenter(IPlayerContext ctx, B...
method reachable (line 264) | @Deprecated
method reachable (line 269) | @Deprecated
method reachableOffset (line 276) | @Deprecated
method reachableCenter (line 293) | @Deprecated
FILE: src/api/java/baritone/api/utils/SettingsUtil.java
class SettingsUtil (line 53) | public class SettingsUtil {
method isComment (line 59) | private static boolean isComment(String line) {
method forEachLine (line 63) | private static void forEachLine(Path file, Consumer<String> consumer) ...
method readAndApply (line 75) | public static void readAndApply(Settings settings, String settingsName) {
method save (line 105) | public static synchronized void save(Settings settings) {
method settingsByName (line 116) | private static Path settingsByName(String name) {
method modifiedSettings (line 120) | public static List<Settings.Setting> modifiedSettings(Settings setting...
method settingTypeToString (line 147) | public static String settingTypeToString(Settings.Setting setting) {
method settingValueToString (line 152) | public static <T> String settingValueToString(Settings.Setting<T> sett...
method settingValueToString (line 162) | public static String settingValueToString(Settings.Setting setting) th...
method settingDefaultToString (line 167) | public static String settingDefaultToString(Settings.Setting setting) ...
method maybeCensor (line 172) | public static String maybeCensor(int coord) {
method settingToString (line 180) | public static String settingToString(Settings.Setting setting) throws ...
method javaOnlySetting (line 194) | @Deprecated
method parseAndApply (line 199) | public static void parseAndApply(Settings settings, String settingName...
type ISettingParser (line 213) | private interface ISettingParser<T> {
method parse (line 215) | T parse(Type type, String raw);
method toString (line 217) | String toString(Type type, T value);
method accepts (line 219) | boolean accepts(Type type);
type Parser (line 222) | private enum Parser implements ISettingParser {
method parse (line 253) | @Override
method toString (line 262) | @Override
method accepts (line 272) | @Override
method parse (line 278) | @Override
method toString (line 290) | @Override
method accepts (line 302) | @Override
method Parser (line 312) | Parser() {
method Parser (line 318) | <T> Parser(Class<T> cla$$, Function<String, T> parser) {
method Parser (line 322) | <T> Parser(Class<T> cla$$, Function<String, T> parser, Function<T, S...
method parse (line 328) | @Override
method toString (line 335) | @Override
method accepts (line 340) | @Override
method getParser (line 345) | public static Parser getParser(Type type) {
FILE: src/api/java/baritone/api/utils/TypeUtils.java
class TypeUtils (line 27) | public final class TypeUtils {
method TypeUtils (line 29) | private TypeUtils() {}
method resolveBaseClass (line 39) | public static Class<?> resolveBaseClass(Type type) {
FILE: src/api/java/baritone/api/utils/VecUtils.java
class VecUtils (line 33) | public final class VecUtils {
method VecUtils (line 35) | private VecUtils() {}
method calculateBlockCenter (line 45) | public static Vec3 calculateBlockCenter(Level world, BlockPos pos) {
method getBlockPosCenter (line 77) | public static Vec3 getBlockPosCenter(BlockPos pos) {
method distanceToCenter (line 91) | public static double distanceToCenter(BlockPos pos, double x, double y...
method entityDistanceToCenter (line 107) | public static double entityDistanceToCenter(Entity entity, BlockPos po...
method entityFlatDistanceToCenter (line 120) | public static double entityFlatDistanceToCenter(Entity entity, BlockPo...
FILE: src/api/java/baritone/api/utils/accessor/IItemStack.java
type IItemStack (line 20) | public interface IItemStack {
method getBaritoneHash (line 22) | int getBaritoneHash();
FILE: src/api/java/baritone/api/utils/gui/BaritoneToast.java
class BaritoneToast (line 28) | public class BaritoneToast implements Toast {
method BaritoneToast (line 35) | public BaritoneToast(Component titleComponent, Component subtitleCompo...
method render (line 41) | public Visibility render(PoseStack matrixStack, ToastComponent toastGu...
method setDisplayedText (line 63) | public void setDisplayedText(Component titleComponent, Component subti...
method addOrUpdate (line 69) | public static void addOrUpdate(ToastComponent toast, Component title, ...
method addOrUpdate (line 79) | public static void addOrUpdate(Component title, Component subtitle) {
FILE: src/api/java/baritone/api/utils/input/Input.java
type Input (line 25) | public enum Input {
FILE: src/api/java/baritone/api/utils/interfaces/IGoalRenderPos.java
type IGoalRenderPos (line 22) | public interface IGoalRenderPos {
method getGoalPos (line 24) | BlockPos getGoalPos();
FILE: src/launch/java/baritone/launch/BaritoneMixinConnector.java
class BaritoneMixinConnector (line 23) | public class BaritoneMixinConnector implements IMixinConnector {
method connect (line 25) | @Override
FILE: src/launch/java/baritone/launch/mixins/MixinChunkArray.java
class MixinChunkArray (line 29) | @Mixin(targets = "net.minecraft.client.multiplayer.ClientChunkCache$Stor...
method inRange (line 48) | @Shadow
method getIndex (line 51) | @Shadow
method replace (line 54) | @Shadow
method centerX (line 57) | @Override
method centerZ (line 62) | @Override
method viewDistance (line 67) | @Override
method getChunks (line 72) | @Override
method copyFrom (line 77) | @Override
FILE: src/launch/java/baritone/launch/mixins/MixinClientChunkProvider.java
class MixinClientChunkProvider (line 31) | @Mixin(ClientChunkCache.class)
method createThreadSafeCopy (line 38) | @Override
method extractReferenceArray (line 50) | @Override
FILE: src/launch/java/baritone/launch/mixins/MixinClientPlayNetHandler.java
class MixinClientPlayNetHandler (line 50) | @Mixin(ClientPacketListener.class)
method sendChatMessage (line 81) | @Inject(
method postHandleChunkData (line 98) | @Inject(
method preChunkUnload (line 118) | @Inject(
method postChunkUnload (line 133) | @Inject(
method postHandleBlockChange (line 148) | @Inject(
method postHandleMultiBlockChange (line 174) | @Inject(
method onPlayerDeath (line 197) | @Inject(
FILE: src/launch/java/baritone/launch/mixins/MixinClientPlayerEntity.java
class MixinClientPlayerEntity (line 39) | @Mixin(LocalPlayer.class)
method onPreUpdate (line 42) | @Inject(
method isAllowFlying (line 57) | @Redirect(
method isKeyDown (line 72) | @Redirect(
method updateRidden (line 96) | @Inject(
method tryToStartFallFlying (line 109) | @Redirect(
FILE: src/launch/java/baritone/launch/mixins/MixinCommandSuggestionHelper.java
class MixinCommandSuggestionHelper (line 44) | @Mixin(CommandSuggestions.class)
method preUpdateSuggestion (line 67) | @Inject(
FILE: src/launch/java/baritone/launch/mixins/MixinEntity.java
class MixinEntity (line 31) | @Mixin(Entity.class)
method moveRelativeHead (line 43) | @Inject(
method moveRelativeReturn (line 58) | @Inject(
FILE: src/launch/java/baritone/launch/mixins/MixinEntityRenderManager.java
class MixinEntityRenderManager (line 24) | @Mixin(EntityRenderDispatcher.class)
method renderPosX (line 28) | @Override
method renderPosY (line 33) | @Override
method renderPosZ (line 38) | @Override
FILE: src/launch/java/baritone/launch/mixins/MixinFireworkRocketEntity.java
class MixinFireworkRocketEntity (line 33) | @Mixin(FireworkRocketEntity.class)
method isAttachedToEntity (line 43) | @Shadow
method MixinFireworkRocketEntity (line 46) | private MixinFireworkRocketEntity(Level level) {
method getBoostedEntity (line 50) | @Override
FILE: src/launch/java/baritone/launch/mixins/MixinItemStack.java
class MixinItemStack (line 31) | @Mixin(ItemStack.class)
method getDamageValue (line 41) | @Shadow
method recalculateHash (line 44) | private void recalculateHash() {
method onItemDamageSet (line 48) | @Inject(
method getBaritoneHash (line 56) | @Override
FILE: src/launch/java/baritone/launch/mixins/MixinLivingEntity.java
class MixinLivingEntity (line 42) | @Mixin(LivingEntity.class)
method MixinLivingEntity (line 54) | private MixinLivingEntity(EntityType<?> entityTypeIn, Level worldIn) {
method preMoveRelative (line 58) | @Inject(
method overrideYaw (line 69) | @Redirect(
method onPreElytraMove (line 83) | @Inject(
method onPostElytraMove (line 99) | @Inject(
method getBaritone (line 115) | @Unique
FILE: src/launch/java/baritone/launch/mixins/MixinLootContext.java
class MixinLootContext (line 30) | @Mixin(LootContext.Builder.class)
method getServer (line 33) | @Redirect(
method getLootTableManager (line 47) | @Redirect(
method getLootPredicateManager (line 61) | @Redirect(
FILE: src/launch/java/baritone/launch/mixins/MixinMinecraft.java
class MixinMinecraft (line 46) | @Mixin(Minecraft.class)
method postInit (line 57) | @Inject(
method runTick (line 65) | @Inject(
method postRunTick (line 93) | @Inject(
method postUpdateEntities (line 112) | @Inject(
method preLoadWorld (line 129) | @Inject(
method postLoadWorld (line 149) | @Inject(
method passEvents (line 165) | @Redirect(
FILE: src/launch/java/baritone/launch/mixins/MixinNetworkManager.java
class MixinNetworkManager (line 43) | @Mixin(Connection.class)
method preDispatchPacket (line 53) | @Inject(
method postDispatchPacket (line 69) | @Inject(
method preProcessPacket (line 85) | @Inject(
method postProcessPacket (line 103) | @Inject(
FILE: src/launch/java/baritone/launch/mixins/MixinPalettedContainer$Data.java
class MixinPalettedContainer$Data (line 26) | @Mixin(targets = "net/minecraft/world/level/chunk/PalettedContainer$Data")
method getPalette (line 29) | @Accessor
method getStorage (line 32) | @Accessor
FILE: src/launch/java/baritone/launch/mixins/MixinPalettedContainer.java
class MixinPalettedContainer (line 34) | @Mixin(PalettedContainer.class)
method getPalette (line 76) | @Override
method getStorage (line 81) | @Override
method data (line 86) | @Unique
method sneaky (line 96) | @Unique
FILE: src/launch/java/baritone/launch/mixins/MixinPlayerController.java
class MixinPlayerController (line 27) | @Mixin(MultiPlayerGameMode.class)
method setIsHittingBlock (line 30) | @Accessor("isDestroying")
method isHittingBlock (line 34) | @Accessor("isDestroying")
method getCurrentBlock (line 38) | @Accessor("destroyBlockPos")
method callSyncCurrentPlayItem (line 42) | @Invoker("ensureHasSentCarriedItem")
method setDestroyDelay (line 46) | @Accessor("destroyDelay")
FILE: src/launch/java/baritone/launch/mixins/MixinScreen.java
class MixinScreen (line 37) | @Mixin(Screen.class)
method openLinkInvoker (line 40) | @Override
method handleCustomClickEvent (line 46) | @Inject(at = @At(value = "INVOKE", target = "Lorg/slf4j/Logger;error(L...
FILE: src/launch/java/baritone/launch/mixins/MixinWorldRenderer.java
class MixinWorldRenderer (line 39) | @Mixin(LevelRenderer.class)
method onStartHand (line 42) | @Inject(
FILE: src/main/java/baritone/Baritone.java
class Baritone (line 56) | public class Baritone implements IBaritone {
method Baritone (line 93) | Baritone(Minecraft mc) {
method registerBehavior (line 134) | public void registerBehavior(IBehavior behavior) {
method registerBehavior (line 138) | public <T extends IBehavior> T registerBehavior(Function<Baritone, T> ...
method registerProcess (line 144) | public <T extends IBaritoneProcess> T registerProcess(Function<Bariton...
method getPathingControlManager (line 150) | @Override
method getInputOverrideHandler (line 155) | @Override
method getCustomGoalProcess (line 160) | @Override
method getGetToBlockProcess (line 165) | @Override
method getPlayerContext (line 170) | @Override
method getFollowProcess (line 175) | @Override
method getBuilderProcess (line 180) | @Override
method getInventoryBehavior (line 185) | public InventoryBehavior getInventoryBehavior() {
method getLookBehavior (line 189) | @Override
method getExploreProcess (line 194) | @Override
method getMineProcess (line 199) | @Override
method getFarmProcess (line 204) | @Override
method getInventoryPauserProcess (line 209) | public InventoryPauserProcess getInventoryPauserProcess() {
method getPathingBehavior (line 213) | @Override
method getSelectionManager (line 218) | @Override
method getWorldProvider (line 223) | @Override
method getGameEventHandler (line 228) | @Override
method getCommandManager (line 233) | @Override
method getElytraProcess (line 238) | @Override
method openClick (line 243) | @Override
method getDirectory (line 253) | public Path getDirectory() {
method settings (line 257) | public static Settings settings() {
method getExecutor (line 261) | public static Executor getExecutor() {
FILE: src/main/java/baritone/BaritoneProvider.java
class BaritoneProvider (line 39) | public final class BaritoneProvider implements IBaritoneProvider {
method BaritoneProvider (line 44) | public BaritoneProvider() {
method getPrimaryBaritone (line 53) | @Override
method getAllBaritones (line 58) | @Override
method createBaritone (line 63) | @Override
method destroyBaritone (line 72) | @Override
method getWorldScanner (line 77) | @Override
method getCommandSystem (line 82) | @Override
method getSchematicSystem (line 87) | @Override
FILE: src/main/java/baritone/behavior/Behavior.java
class Behavior (line 30) | public class Behavior implements IBehavior {
method Behavior (line 35) | protected Behavior(Baritone baritone) {
FILE: src/main/java/baritone/behavior/InventoryBehavior.java
class InventoryBehavior (line 46) | public final class InventoryBehavior extends Behavior implements Helper {
method InventoryBehavior (line 51) | public InventoryBehavior(Baritone baritone) {
method onTick (line 55) | @Override
method attemptToPutOnHotbar (line 81) | public boolean attemptToPutOnHotbar(int inMainInvy, Predicate<Integer>...
method getTempHotbarSlot (line 91) | public OptionalInt getTempHotbarSlot(Predicate<Integer> disallowedHotb...
method requestSwapWithHotBar (line 112) | private boolean requestSwapWithHotBar(int inInventory, int inHotbar) {
method firstValidThrowaway (line 128) | private int firstValidThrowaway() { // TODO offhand idk
method bestToolAgainst (line 138) | private int bestToolAgainst(Block against, Class<? extends DiggerItem>...
method hasGenericThrowaway (line 161) | public boolean hasGenericThrowaway() {
method selectThrowawayForLocation (line 170) | public boolean selectThrowawayForLocation(boolean select, int x, int y...
method throwaway (line 186) | public boolean throwaway(boolean select, Predicate<? super ItemStack> ...
method throwaway (line 190) | public boolean throwaway(boolean select, Predicate<? super ItemStack> ...
FILE: src/main/java/baritone/behavior/LookBehavior.java
class LookBehavior (line 35) | public final class LookBehavior extends Behavior implements ILookBehavior {
method LookBehavior (line 59) | public LookBehavior(Baritone baritone) {
method updateTarget (line 66) | @Override
method getAimProcessor (line 71) | @Override
method onTick (line 76) | @Override
method onPlayerUpdate (line 83) | @Override
method onSendPacket (line 136) | @Override
method onWorldEvent (line 148) | @Override
method pig (line 154) | public void pig() {
method getEffectiveRotation (line 161) | public Optional<Rotation> getEffectiveRotation() {
method onPlayerRotationMove (line 169) | @Override
class AimProcessor (line 178) | private static final class AimProcessor extends AbstractAimProcessor {
method AimProcessor (line 180) | public AimProcessor(final IPlayerContext ctx) {
method getPrevRotation (line 184) | @Override
class AbstractAimProcessor (line 191) | private static abstract class AbstractAimProcessor implements ITickabl...
method AbstractAimProcessor (line 198) | public AbstractAimProcessor(IPlayerContext ctx) {
method AbstractAimProcessor (line 203) | private AbstractAimProcessor(final AbstractAimProcessor source) {
method peekRotation (line 210) | @Override
method tick (line 232) | @Override
method advance (line 246) | @Override
method nextRotation (line 253) | @Override
method fork (line 260) | @Override
method getPrevRotation (line 278) | protected abstract Rotation getPrevRotation();
method nudgeToLevel (line 283) | private float nudgeToLevel(float pitch) {
method calculateMouseMove (line 292) | private float calculateMouseMove(float current, float target) {
method angleToMouse (line 298) | private double angleToMouse(float angleDelta) {
method mouseToAngle (line 303) | private float mouseToAngle(double mouseDelta) {
class Target (line 310) | private static class Target {
method Target (line 315) | public Target(Rotation rotation, Mode mode) {
type Mode (line 320) | enum Mode {
method resolve (line 336) | static Mode resolve(IPlayerContext ctx, boolean blockInteract) {
FILE: src/main/java/baritone/behavior/PathingBehavior.java
class PathingBehavior (line 47) | public final class PathingBehavior extends Behavior implements IPathingB...
method PathingBehavior (line 77) | public PathingBehavior(Baritone baritone) {
method queuePathEvent (line 81) | private void queuePathEvent(PathEvent event) {
method dispatchEvents (line 85) | private void dispatchEvents() {
method onTick (line 94) | @Override
method onPlayerSprintState (line 110) | @Override
method tickPath (line 117) | private void tickPath() {
method onPlayerUpdate (line 237) | @Override
method secretInternalSetGoal (line 254) | public void secretInternalSetGoal(Goal goal) {
method secretInternalSetGoalAndPath (line 258) | public boolean secretInternalSetGoalAndPath(PathingCommand command) {
method getGoal (line 286) | @Override
method isPathing (line 291) | @Override
method getCurrent (line 296) | @Override
method getNext (line 301) | @Override
method getInProgress (line 306) | @Override
method isSafeToCancel (line 311) | public boolean isSafeToCancel() {
method requestPause (line 318) | public void requestPause() {
method cancelSegmentIfSafe (line 322) | public boolean cancelSegmentIfSafe() {
method cancelEverything (line 330) | @Override
method calcFailedLastTick (line 340) | public boolean calcFailedLastTick() { // NOT exposed on public api
method softCancelIfSafe (line 344) | public void softCancelIfSafe() {
method secretInternalSegmentCancel (line 358) | public void secretInternalSegmentCancel() {
method forceCancel (line 371) | @Override
method secretInternalGetCalculationContext (line 380) | public CalculationContext secretInternalGetCalculationContext() {
method estimatedTicksToGoal (line 384) | public Optional<Double> estimatedTicksToGoal() {
method resetEstimatedTicksToGoal (line 405) | private void resetEstimatedTicksToGoal() {
method resetEstimatedTicksToGoal (line 409) | private void resetEstimatedTicksToGoal(BlockPos start) {
method resetEstimatedTicksToGoal (line 413) | private void resetEstimatedTicksToGoal(BetterBlockPos start) {
method pathStart (line 423) | public BetterBlockPos pathStart() { // TODO move to a helper or util c...
method findPathInNewThread (line 469) | private void findPathInNewThread(final BlockPos start, final boolean t...
method createPathfinder (line 556) | private AbstractNodeCostSearch createPathfinder(BlockPos start, Goal g...
method onRenderPass (line 575) | @Override
FILE: src/main/java/baritone/behavior/WaypointBehavior.java
class WaypointBehavior (line 40) | public class WaypointBehavior extends Behavior {
method WaypointBehavior (line 43) | public WaypointBehavior(Baritone baritone) {
method onBlockInteract (line 47) | @Override
method onPlayerDeath (line 67) | @Override
FILE: src/main/java/baritone/behavior/look/ForkableRandom.java
class ForkableRandom (line 32) | public final class ForkableRandom {
method ForkableRandom (line 38) | public ForkableRandom() {
method ForkableRandom (line 42) | public ForkableRandom(long seedIn) {
method ForkableRandom (line 58) | private ForkableRandom(long[] s) {
method nextDouble (line 62) | public double nextDouble() {
method next (line 66) | public long next() {
method fork (line 78) | public ForkableRandom fork() {
method rotl (line 82) | private static long rotl(long x, int k) {
FILE: src/main/java/baritone/cache/CachedChunk.java
class CachedChunk (line 39) | public final class CachedChunk {
method CachedChunk (line 157) | CachedChunk(int x, int z, int height, BitSet data, BlockState[] overvi...
method size (line 179) | public static int size(int dimension_height) {
method sizeInBytes (line 183) | public static int sizeInBytes(int size) {
method setSpecial (line 187) | private final void setSpecial() {
method getBlock (line 195) | public final BlockState getBlock(int x, int y, int z, DimensionType di...
method getType (line 231) | private PathingBlockType getType(int index) {
method calculateHeightMap (line 235) | private void calculateHeightMap() {
method getOverview (line 251) | public final BlockState[] getOverview() {
method getRelativeBlocks (line 255) | public final Map<String, List<BlockPos>> getRelativeBlocks() {
method getAbsoluteBlocks (line 259) | public final ArrayList<BlockPos> getAbsoluteBlocks(String blockType) {
method toByteArray (line 273) | public final byte[] toByteArray() {
method getPositionIndex (line 285) | public static int getPositionIndex(int x, int y, int z) {
method validateSize (line 297) | private void validateSize(BitSet data) {
FILE: src/main/java/baritone/cache/CachedRegion.java
class CachedRegion (line 39) | public final class CachedRegion implements ICachedRegion {
method CachedRegion (line 71) | CachedRegion(int x, int z, DimensionType dimension) {
method getBlock (line 78) | @Override
method isCached (line 88) | @Override
method getLocationsOf (line 93) | public final ArrayList<BlockPos> getLocationsOf(String block) {
method updateCachedChunk (line 109) | public final synchronized void updateCachedChunk(int chunkX, int chunk...
method save (line 115) | public synchronized final void save(String directory) {
method load (line 191) | public synchronized void load(String directory) {
method removeExpired (line 310) | public synchronized final void removeExpired() {
method mostRecentlyModified (line 327) | public synchronized final CachedChunk mostRecentlyModified() {
method getX (line 345) | @Override
method getZ (line 353) | @Override
method getRegionFile (line 358) | private static Path getRegionFile(Path cacheDir, int regionX, int regi...
FILE: src/main/java/baritone/cache/CachedWorld.java
class CachedWorld (line 46) | public final class CachedWorld implements ICachedWorld, Helper {
method CachedWorld (line 77) | CachedWorld(Path directory, DimensionType dimension) {
method queueForPacking (line 104) | @Override
method isCached (line 111) | @Override
method regionLoaded (line 120) | public final boolean regionLoaded(int blockX, int blockZ) {
method getLocationsOf (line 124) | @Override
method updateCachedChunk (line 155) | private void updateCachedChunk(CachedChunk chunk) {
method save (line 160) | @Override
method prune (line 186) | private synchronized void prune() {
method guessPosition (line 208) | private BlockPos guessPosition() {
method allRegions (line 234) | private synchronized List<CachedRegion> allRegions() {
method reloadAllFromDisk (line 238) | @Override
method getRegion (line 250) | @Override
method getOrCreateRegion (line 263) | private synchronized CachedRegion getOrCreateRegion(int regionX, int r...
method tryLoadFromDisk (line 271) | public void tryLoadFromDisk(int regionX, int regionZ) {
method getRegionID (line 283) | private long getRegionID(int regionX, int regionZ) {
method isRegionInWorld (line 298) | private boolean isRegionInWorld(int regionX, int regionZ) {
class PackerThread (line 302) | private class PackerThread implements Runnable {
method run (line 304) | public void run() {
FILE: src/main/java/baritone/cache/ChunkPacker.java
class ChunkPacker (line 46) | public final class ChunkPacker {
method ChunkPacker (line 48) | private ChunkPacker() {}
method pack (line 50) | public static CachedChunk pack(LevelChunk chunk) {
method getPathingBlockType (line 119) | private static PathingBlockType getPathingBlockType(BlockState state, ...
method pathingTypeToBlock (line 160) | public static BlockState pathingTypeToBlock(PathingBlockType type, Dim...
FILE: src/main/java/baritone/cache/FasterWorldScanner.java
type FasterWorldScanner (line 48) | public enum FasterWorldScanner implements IWorldScanner {
method scanChunkRadius (line 53) | @Override
method scanChunk (line 62) | @Override
method repack (line 71) | @Override
method repack (line 76) | @Override
method getChunkRange (line 107) | public static List<ChunkPos> getChunkRange(int centerX, int centerZ, i...
method scanChunksInternal (line 132) | private List<BlockPos> scanChunksInternal(IPlayerContext ctx, BlockOpt...
method scanChunkInternal (line 149) | private Stream<BlockPos> scanChunkInternal(IPlayerContext ctx, BlockOp...
method collectChunkSections (line 166) | private List<BlockPos> collectChunkSections(BlockOptionalMetaLookup lo...
method visitSection (line 184) | private void visitSection(BlockOptionalMetaLookup lookup, LevelChunkSe...
method getIncludedFilterIndices (line 244) | private boolean[] getIncludedFilterIndices(BlockOptionalMetaLookup loo...
method getIncludedFilterIndicesFromRegistry (line 272) | private boolean[] getIncludedFilterIndicesFromRegistry(BlockOptionalMe...
method getPalette (line 287) | private static BlockState[] getPalette(Palette<BlockState> palette) {
FILE: src/main/java/baritone/cache/WaypointCollection.java
class WaypointCollection (line 36) | public class WaypointCollection implements IWaypointCollection {
method WaypointCollection (line 46) | WaypointCollection(Path directory) {
method load (line 58) | private void load() {
method load (line 64) | private synchronized void load(Waypoint.Tag tag) {
method save (line 94) | private synchronized void save(Waypoint.Tag tag) {
method addWaypoint (line 115) | @Override
method removeWaypoint (line 123) | @Override
method getMostRecentByTag (line 130) | @Override
method getByTag (line 136) | @Override
method getAllWaypoints (line 141) | @Override
FILE: src/main/java/baritone/cache/WorldData.java
class WorldData (line 33) | public class WorldData implements IWorldData {
method WorldData (line 41) | WorldData(Path directory, DimensionType dimension) {
method onClose (line 48) | public void onClose() {
method getCachedWorld (line 55) | @Override
method getWaypoints (line 60) | @Override
FILE: src/main/java/baritone/cache/WorldProvider.java
class WorldProvider (line 43) | public class WorldProvider implements IWorldProvider {
method WorldProvider (line 57) | public WorldProvider(Baritone baritone) {
method getCurrentWorld (line 62) | @Override
method initWorld (line 73) | public final void initWorld(Level world) {
method closeWorld (line 102) | public final void closeWorld() {
method getWorldDataDirectory (line 112) | private Path getWorldDataDirectory(Path parent, Level world) {
method getSaveDirectories (line 123) | private Optional<Tuple<Path, Path>> getSaveDirectories(Level world) {
method detectAndHandleBrokenLoading (line 166) | private void detectAndHandleBrokenLoading() {
FILE: src/main/java/baritone/cache/WorldScanner.java
type WorldScanner (line 37) | public enum WorldScanner implements IWorldScanner {
method scanChunkRadius (line 41) | @Override
method scanChunk (line 92) | @Override
method repack (line 111) | @Override
method repack (line 116) | @Override
method scanChunkInto (line 146) | private boolean scanChunkInto(int chunkX, int chunkZ, int minY, LevelC...
FILE: src/main/java/baritone/command/CommandSystem.java
type CommandSystem (line 28) | public enum CommandSystem implements ICommandSystem {
method getParserManager (line 31) | @Override
FILE: src/main/java/baritone/command/ExampleBaritoneControl.java
class ExampleBaritoneControl (line 49) | public class ExampleBaritoneControl extends Behavior implements Helper {
method ExampleBaritoneControl (line 54) | public ExampleBaritoneControl(Baritone baritone) {
method onSendChatMessage (line 59) | @Override
method logRanCommand (line 75) | private void logRanCommand(String command, String rest) {
method runCommand (line 94) | public boolean runCommand(String msg) {
method onPreTabComplete (line 145) | @Override
method tabComplete (line 164) | public Stream<String> tabComplete(String msg) {
FILE: src/main/java/baritone/command/argparser/ArgParserManager.java
type ArgParserManager (line 27) | public enum ArgParserManager implements IArgParserManager {
method ArgParserManager (line 32) | ArgParserManager() {
method getParserStateless (line 36) | @Override
method getParserStated (line 47) | @Override
method parseStateless (line 60) | @Override
method parseStated (line 73) | @Override
method getRegistry (line 86) | @Override
FILE: src/main/java/baritone/command/argparser/DefaultArgParsers.java
class DefaultArgParsers (line 27) | public class DefaultArgParsers {
type IntArgumentParser (line 29) | public enum IntArgumentParser implements IArgParser.Stateless<Integer> {
method getTarget (line 32) | @Override
method parseArg (line 37) | @Override
type LongArgumentParser (line 43) | public enum LongArgumentParser implements IArgParser.Stateless<Long> {
method getTarget (line 46) | @Override
method parseArg (line 51) | @Override
type FloatArgumentParser (line 57) | public enum FloatArgumentParser implements IArgParser.Stateless<Float> {
method getTarget (line 60) | @Override
method parseArg (line 65) | @Override
type DoubleArgumentParser (line 75) | public enum DoubleArgumentParser implements IArgParser.Stateless<Doubl...
method getTarget (line 78) | @Override
method parseArg (line 83) | @Override
class BooleanArgumentParser (line 93) | public static class BooleanArgumentParser implements IArgParser.Statel...
method getTarget (line 99) | @Override
method parseArg (line 104) | @Override
FILE: src/main/java/baritone/command/argument/ArgConsumer.java
class ArgConsumer (line 40) | public class ArgConsumer implements IArgConsumer {
method ArgConsumer (line 66) | private ArgConsumer(ICommandManager manager, Deque<ICommandArgument> a...
method ArgConsumer (line 73) | public ArgConsumer(ICommandManager manager, List<ICommandArgument> arg...
method getArgs (line 77) | @Override
method getConsumed (line 82) | @Override
method has (line 87) | @Override
method hasAny (line 92) | @Override
method hasAtMost (line 97) | @Override
method hasAtMostOne (line 102) | @Override
method hasExactly (line 107) | @Override
method hasExactlyOne (line 112) | @Override
method peek (line 117) | @Override
method peek (line 123) | @Override
method is (line 128) | @Override
method is (line 133) | @Override
method peekString (line 138) | @Override
method peekString (line 143) | @Override
method peekEnum (line 148) | @Override
method peekEnum (line 153) | @Override
method peekEnumOrNull (line 158) | @Override
method peekEnumOrNull (line 167) | @Override
method peekAs (line 172) | @Override
method peekAs (line 177) | @Override
method peekAsOrDefault (line 182) | @Override
method peekAsOrDefault (line 191) | @Override
method peekAsOrNull (line 196) | @Override
method peekAsOrNull (line 201) | @Override
method peekDatatype (line 206) | @Override
method peekDatatype (line 211) | @Override
method peekDatatype (line 216) | @Override
method peekDatatypeOrNull (line 221) | @Override
method peekDatatypeOrNull (line 226) | @Override
method peekDatatypePost (line 231) | @Override
method peekDatatypePostOrDefault (line 236) | @Override
method peekDatatypePostOrNull (line 241) | @Override
method peekDatatypeFor (line 246) | @Override
method peekDatatypeForOrDefault (line 251) | @Override
method peekDatatypeForOrNull (line 256) | @Override
method get (line 261) | @Override
method getString (line 269) | @Override
method getEnum (line 274) | @Override
method getEnumOrDefault (line 279) | @Override
method getEnumOrNull (line 289) | @Override
method getAs (line 294) | @Override
method getAsOrDefault (line 299) | @Override
method getAsOrNull (line 310) | @Override
method getDatatypePost (line 315) | @Override
method getDatatypePostOrDefault (line 327) | @Override
method getDatatypePostOrNull (line 342) | @Override
method getDatatypeFor (line 347) | @Override
method getDatatypeForOrDefault (line 359) | @Override
method getDatatypeForOrNull (line 374) | @Override
method tabCompleteDatatype (line 379) | @Override
method rawRest (line 391) | @Override
method requireMin (line 396) | @Override
method requireMax (line 403) | @Override
method requireExactly (line 410) | @Override
method hasConsumed (line 416) | @Override
method consumed (line 421) | @Override
method consumedString (line 426) | @Override
method copy (line 431) | @Override
class Context (line 439) | private final class Context implements IDatatypeContext {
method getBaritone (line 441) | @Override
method getConsumer (line 446) | @Override
FILE: src/main/java/baritone/command/argument/CommandArgument.java
class CommandArgument (line 31) | class CommandArgument implements ICommandArgument {
method CommandArgument (line 37) | CommandArgument(int index, String value, String rawRest) {
method getIndex (line 43) | @Override
method getValue (line 48) | @Override
method getRawRest (line 53) | @Override
method getEnum (line 58) | @Override
method getAs (line 66) | @Override
method is (line 71) | @Override
method getAs (line 81) | @SuppressWarnings("UnusedReturnValue")
method is (line 87) | @Override
FILE: src/main/java/baritone/command/argument/CommandArguments.java
class CommandArguments (line 31) | public final class CommandArguments {
method CommandArguments (line 33) | private CommandArguments() {}
method from (line 45) | public static List<ICommandArgument> from(String string, boolean prese...
method from (line 66) | public static List<ICommandArgument> from(String string) {
method unknown (line 76) | public static CommandArgument unknown() {
FILE: src/main/java/baritone/command/defaults/AxisCommand.java
class AxisCommand (line 31) | public class AxisCommand extends Command {
method AxisCommand (line 33) | public AxisCommand(IBaritone baritone) {
method execute (line 37) | @Override
method tabComplete (line 45) | @Override
method getShortDesc (line 50) | @Override
method getLongDesc (line 55) | @Override
FILE: src/main/java/baritone/command/defaults/BlacklistCommand.java
class BlacklistCommand (line 31) | public class BlacklistCommand extends Command {
method BlacklistCommand (line 33) | public BlacklistCommand(IBaritone baritone) {
method execute (line 37) | @Override
method tabComplete (line 51) | @Override
method getShortDesc (line 56) | @Override
method getLongDesc (line 61) | @Override
FILE: src/main/java/baritone/command/defaults/BuildCommand.java
class BuildCommand (line 38) | public class BuildCommand extends Command {
method BuildCommand (line 42) | public BuildCommand(IBaritone baritone) {
method execute (line 47) | @Override
method tabComplete (line 88) | @Override
method getShortDesc (line 99) | @Override
method getLongDesc (line 104) | @Override
FILE: src/main/java/baritone/command/defaults/ClickCommand.java
class ClickCommand (line 29) | public class ClickCommand extends Command {
method ClickCommand (line 31) | public ClickCommand(IBaritone baritone) {
method execute (line 35) | @Override
method tabComplete (line 42) | @Override
method getShortDesc (line 47) | @Override
method getLongDesc (line 52) | @Override
FILE: src/main/java/baritone/command/defaults/ComeCommand.java
class ComeCommand (line 30) | public class ComeCommand extends Command {
method ComeCommand (line 32) | public ComeCommand(IBaritone baritone) {
method execute (line 36) | @Override
method tabComplete (line 43) | @Override
method getShortDesc (line 48) | @Override
method getLongDesc (line 53) | @Override
FILE: src/main/java/baritone/command/defaults/CommandAlias.java
class CommandAlias (line 28) | public class CommandAlias extends Command {
method CommandAlias (line 33) | public CommandAlias(IBaritone baritone, List<String> names, String sho...
method CommandAlias (line 39) | public CommandAlias(IBaritone baritone, String name, String shortDesc,...
method execute (line 45) | @Override
method tabComplete (line 50) | @Override
method getShortDesc (line 55) | @Override
method getLongDesc (line 60) | @Override
FILE: src/main/java/baritone/command/defaults/DefaultCommands.java
class DefaultCommands (line 25) | public final class DefaultCommands {
method DefaultCommands (line 27) | private DefaultCommands() {
method createAll (line 30) | public static List<ICommand> createAll(IBaritone baritone) {
FILE: src/main/java/baritone/command/defaults/ETACommand.java
class ETACommand (line 33) | public class ETACommand extends Command {
method ETACommand (line 35) | public ETACommand(IBaritone baritone) {
method execute (line 39) | @Override
method tabComplete (line 62) | @Override
method getShortDesc (line 67) | @Override
method getLongDesc (line 72) | @Override
FILE: src/main/java/baritone/command/defaults/ElytraCommand.java
class ElytraCommand (line 44) | public class ElytraCommand extends Command {
method ElytraCommand (line 46) | public ElytraCommand(IBaritone baritone) {
method execute (line 50) | @Override
method warn2b2t (line 103) | private void warn2b2t() {
method suggest2b2tSeeds (line 113) | private Component suggest2b2tSeeds() {
method gatekeep (line 128) | private void gatekeep() {
method detectOn2b2t (line 180) | private boolean detectOn2b2t() {
method tabComplete (line 188) | @Override
method getShortDesc (line 197) | @Override
method getLongDesc (line 202) | @Override
method unsupportedSystemMessage (line 215) | private static String unsupportedSystemMessage() {
FILE: src/main/java/baritone/command/defaults/ExecutionControlCommands.java
class ExecutionControlCommands (line 40) | public class ExecutionControlCommands {
method ExecutionControlCommands (line 47) | public ExecutionControlCommands(IBaritone baritone) {
FILE: src/main/java/baritone/command/defaults/ExploreCommand.java
class ExploreCommand (line 31) | public class ExploreCommand extends Command {
method ExploreCommand (line 33) | public ExploreCommand(IBaritone baritone) {
method execute (line 37) | @Override
method tabComplete (line 51) | @Override
method getShortDesc (line 59) | @Override
method getLongDesc (line 64) | @Override
FILE: src/main/java/baritone/command/defaults/ExploreFilterCommand.java
class ExploreFilterCommand (line 35) | public class ExploreFilterCommand extends Command {
method ExploreFilterCommand (line 37) | public ExploreFilterCommand(IBaritone baritone) {
method execute (line 41) | @Override
method tabComplete (line 65) | @Override
method getShortDesc (line 73) | @Override
method getLongDesc (line 78) | @Override
FILE: src/main/java/baritone/command/defaults/FarmCommand.java
class FarmCommand (line 33) | public class FarmCommand extends Command {
method FarmCommand (line 35) | public FarmCommand(IBaritone baritone) {
method execute (line 39) | @Override
method tabComplete (line 68) | @Override
method getShortDesc (line 73) | @Override
method getLongDesc (line 78) | @Override
FILE: src/main/java/baritone/command/defaults/FindCommand.java
class FindCommand (line 44) | public class FindCommand extends Command {
method FindCommand (line 46) | public FindCommand(IBaritone baritone) {
method execute (line 50) | @Override
method positionToComponent (line 78) | private Component positionToComponent(BetterBlockPos pos) {
method tabComplete (line 91) | @Override
method getShortDesc (line 104) | @Override
method getLongDesc (line 109) | @Override
FILE: src/main/java/baritone/command/defaults/FollowCommand.java
class FollowCommand (line 41) | public class FollowCommand extends Command {
method FollowCommand (line 43) | public FollowCommand(IBaritone baritone) {
method execute (line 47) | @Override
method tabComplete (line 96) | @Override
method getShortDesc (line 121) | @Override
method getLongDesc (line 126) | @Override
type FollowGroup (line 139) | @KeepName
method FollowGroup (line 147) | FollowGroup(Predicate<Entity> filter) {
type FollowList (line 152) | @KeepName
method FollowList (line 159) | FollowList(IDatatypeFor datatype) {
class NoEntitiesException (line 164) | public static class NoEntitiesException extends CommandErrorMessageExc...
method NoEntitiesException (line 166) | protected NoEntitiesException() {
FILE: src/main/java/baritone/command/defaults/ForceCancelCommand.java
class ForceCancelCommand (line 30) | public class ForceCancelCommand extends Command {
method ForceCancelCommand (line 32) | public ForceCancelCommand(IBaritone baritone) {
method execute (line 36) | @Override
method tabComplete (line 45) | @Override
method getShortDesc (line 50) | @Override
method getLongDesc (line 55) | @Override
FILE: src/main/java/baritone/command/defaults/GcCommand.java
class GcCommand (line 29) | public class GcCommand extends Command {
method GcCommand (line 31) | public GcCommand(IBaritone baritone) {
method execute (line 35) | @Override
method tabComplete (line 42) | @Override
method getShortDesc (line 47) | @Override
method getLongDesc (line 52) | @Override
FILE: src/main/java/baritone/command/defaults/GoalCommand.java
class GoalCommand (line 35) | public class GoalCommand extends Command {
method GoalCommand (line 37) | public GoalCommand(IBaritone baritone) {
method execute (line 41) | @Override
method tabComplete (line 61) | @Override
method getShortDesc (line 82) | @Override
method getLongDesc (line 87) | @Override
FILE: src/main/java/baritone/command/defaults/GotoCommand.java
class GotoCommand (line 35) | public class GotoCommand extends Command {
method GotoCommand (line 37) | protected GotoCommand(IBaritone baritone) {
method execute (line 41) | @Override
method tabComplete (line 59) | @Override
method getShortDesc (line 67) | @Override
method getLongDesc (line 72) | @Override
FILE: src/main/java/baritone/command/defaults/HelpCommand.java
class HelpCommand (line 43) | public class HelpCommand extends Command {
method HelpCommand (line 45) | public HelpCommand(IBaritone baritone) {
method execute (line 49) | @Override
method tabComplete (line 102) | @Override
method getShortDesc (line 113) | @Override
method getLongDesc (line 118) | @Override
FILE: src/main/java/baritone/command/defaults/InvertCommand.java
class InvertCommand (line 33) | public class InvertCommand extends Command {
method InvertCommand (line 35) | public InvertCommand(IBaritone baritone) {
method execute (line 39) | @Override
method tabComplete (line 56) | @Override
method getShortDesc (line 61) | @Override
method getLongDesc (line 66) | @Override
FILE: src/main/java/baritone/command/defaults/LitematicaCommand.java
class LitematicaCommand (line 29) | public class LitematicaCommand extends Command {
method LitematicaCommand (line 31) | public LitematicaCommand(IBaritone baritone) {
method execute (line 35) | @Override
method tabComplete (line 42) | @Override
method getShortDesc (line 47) | @Override
method getLongDesc (line 52) | @Override
FILE: src/main/java/baritone/command/defaults/MineCommand.java
class MineCommand (line 33) | public class MineCommand extends Command {
method MineCommand (line 35) | public MineCommand(IBaritone baritone) {
method execute (line 39) | @Override
method tabComplete (line 52) | @Override
method getShortDesc (line 61) | @Override
method getLongDesc (line 66) | @Override
FILE: src/main/java/baritone/command/defaults/PathCommand.java
class PathCommand (line 31) | public class PathCommand extends Command {
method PathCommand (line 33) | public PathCommand(IBaritone baritone) {
method execute (line 37) | @Override
method tabComplete (line 46) | @Override
method getShortDesc (line 51) | @Override
method getLongDesc (line 56) | @Override
FILE: src/main/java/baritone/command/defaults/PickupCommand.java
class PickupCommand (line 35) | public class PickupCommand extends Command {
method PickupCommand (line 37) | public PickupCommand(IBaritone baritone) {
method execute (line 41) | @Override
method tabComplete (line 58) | @Override
method getShortDesc (line 69) | @Override
method getLongDesc (line 74) | @Override
FILE: src/main/java/baritone/command/defaults/ProcCommand.java
class ProcCommand (line 33) | public class ProcCommand extends Command {
method ProcCommand (line 35) | public ProcCommand(IBaritone baritone) {
method execute (line 39) | @Override
method tabComplete (line 64) | @Override
method getShortDesc (line 69) | @Override
method getLongDesc (line 74) | @Override
FILE: src/main/java/baritone/command/defaults/ReloadAllCommand.java
class ReloadAllCommand (line 29) | public class ReloadAllCommand extends Command {
method ReloadAllCommand (line 31) | public ReloadAllCommand(IBaritone baritone) {
method execute (line 35) | @Override
method tabComplete (line 42) | @Override
method getShortDesc (line 47) | @Override
method getLongDesc (line 52) | @Override
FILE: src/main/java/baritone/command/defaults/RenderCommand.java
class RenderCommand (line 30) | public class RenderCommand extends Command {
method RenderCommand (line 32) | public RenderCommand(IBaritone baritone) {
method execute (line 36) | @Override
method tabComplete (line 52) | @Override
method getShortDesc (line 57) | @Override
method getLongDesc (line 62) | @Override
FILE: src/main/java/baritone/command/defaults/RepackCommand.java
class RepackCommand (line 30) | public class RepackCommand extends Command {
method RepackCommand (line 32) | public RepackCommand(IBaritone baritone) {
method execute (line 36) | @Override
method tabComplete (line 42) | @Override
method getShortDesc (line 47) | @Override
method getLongDesc (line 52) | @Override
FILE: src/main/java/baritone/command/defaults/SaveAllCommand.java
class SaveAllCommand (line 29) | public class SaveAllCommand extends Command {
method SaveAllCommand (line 31) | public SaveAllCommand(IBaritone baritone) {
method execute (line 35) | @Override
method tabComplete (line 42) | @Override
method getShortDesc (line 47) | @Override
method getLongDesc (line 52) | @Override
FILE: src/main/java/baritone/command/defaults/SchematicaCommand.java
class SchematicaCommand (line 29) | public class SchematicaCommand extends Command {
method SchematicaCommand (line 31) | public SchematicaCommand(IBaritone baritone) {
method execute (line 35) | @Override
method tabComplete (line 41) | @Override
method getShortDesc (line 46) | @Override
method getLongDesc (line 51) | @Override
FILE: src/main/java/baritone/command/defaults/SelCommand.java
class SelCommand (line 59) | public class SelCommand extends Command {
method SelCommand (line 66) | public SelCommand(IBaritone baritone) {
method execute (line 85) | @Override
method tabComplete (line 271) | @Override
method getShortDesc (line 315) | @Override
method getLongDesc (line 320) | @Override
type Action (line 355) | enum Action {
method Action (line 376) | Action(String... names) {
method getByName (line 380) | public static Action getByName(String name) {
method getAllNames (line 391) | public static String[] getAllNames() {
method isFillAction (line 399) | public final boolean isFillAction() {
type TransformTarget (line 412) | enum TransformTarget {
method TransformTarget (line 419) | TransformTarget(Function<ISelection[], ISelection[]> transform, Stri...
method transform (line 424) | public ISelection[] transform(ISelection[] selections) {
method getByName (line 428) | public static TransformTarget getByName(String name) {
method getAllNames (line 439) | public static String[] getAllNames() {
FILE: src/main/java/baritone/command/defaults/SetCommand.java
class SetCommand (line 48) | public class SetCommand extends Command {
method SetCommand (line 50) | public SetCommand(IBaritone baritone) {
method execute (line 54) | @Override
method tabComplete (line 210) | @Override
method getShortDesc (line 256) | @Override
method getLongDesc (line 261) | @Override
FILE: src/main/java/baritone/command/defaults/SurfaceCommand.java
class SurfaceCommand (line 32) | public class SurfaceCommand extends Command {
method SurfaceCommand (line 34) | protected SurfaceCommand(IBaritone baritone) {
method execute (line 38) | @Override
method tabComplete (line 66) | @Override
method getShortDesc (line 71) | @Override
method getLongDesc (line 76) | @Override
FILE: src/main/java/baritone/command/defaults/ThisWayCommand.java
class ThisWayCommand (line 30) | public class ThisWayCommand extends Command {
method ThisWayCommand (line 32) | public ThisWayCommand(IBaritone baritone) {
method execute (line 36) | @Override
method tabComplete (line 48) | @Override
method getShortDesc (line 53) | @Override
method getLongDesc (line 58) | @Override
FILE: src/main/java/baritone/command/defaults/TunnelCommand.java
class TunnelCommand (line 32) | public class TunnelCommand extends Command {
method TunnelCommand (line 34) | public TunnelCommand(IBaritone baritone) {
method execute (line 38) | @Override
method tabComplete (line 92) | @Override
method getShortDesc (line 97) | @Override
method getLongDesc (line 102) | @Override
FILE: src/main/java/baritone/command/defaults/VersionCommand.java
class VersionCommand (line 30) | public class VersionCommand extends Command {
method VersionCommand (line 32) | public VersionCommand(IBaritone baritone) {
method execute (line 36) | @Override
method tabComplete (line 47) | @Override
method getShortDesc (line 52) | @Override
method getLongDesc (line 57) | @Override
FILE: src/main/java/baritone/command/defaults/WaypointsCommand.java
class WaypointsCommand (line 51) | public class WaypointsCommand extends Command {
method WaypointsCommand (line 55) | public WaypointsCommand(IBaritone baritone) {
method execute (line 59) | @Override
method tabComplete (line 319) | @Override
method getShortDesc (line 352) | @Override
method getLongDesc (line 357) | @Override
type Action (line 382) | private enum Action {
method Action (line 393) | Action(String... names) {
method getByName (line 397) | public static Action getByName(String name) {
method getAllNames (line 408) | public static String[] getAllNames() {
FILE: src/main/java/baritone/command/manager/CommandManager.java
class CommandManager (line 46) | public class CommandManager implements ICommandManager {
method CommandManager (line 51) | public CommandManager(Baritone baritone) {
method getBaritone (line 56) | @Override
method getRegistry (line 61) | @Override
method getCommand (line 66) | @Override
method execute (line 76) | @Override
method execute (line 81) | @Override
method tabComplete (line 90) | @Override
method tabComplete (line 96) | @Override
method from (line 111) | private ExecutionWrapper from(Tuple<String, List<ICommandArgument>> ex...
method expand (line 119) | private static Tuple<String, List<ICommandArgument>> expand(String str...
method expand (line 125) | public static Tuple<String, List<ICommandArgument>> expand(String stri...
class ExecutionWrapper (line 129) | private static final class ExecutionWrapper {
method ExecutionWrapper (line 135) | private ExecutionWrapper(ICommand command, String label, ArgConsumer...
method execute (line 141) | private void execute() {
method tabComplete (line 154) | private Stream<String> tabComplete() {
FILE: src/main/java/baritone/event/GameEventHandler.java
class GameEventHandler (line 42) | public final class GameEventHandler implements IEventBus, Helper {
method GameEventHandler (line 48) | public GameEventHandler(Baritone baritone) {
method onTick (line 52) | @Override
method onPostTick (line 67) | @Override
method onPlayerUpdate (line 72) | @Override
method onSendChatMessage (line 77) | @Override
method onPreTabComplete (line 82) | @Override
method onChunkEvent (line 87) | @Override
method onBlockChange (line 112) | @Override
method onRenderPass (line 131) | @Override
method onWorldEvent (line 136) | @Override
method onSendPacket (line 150) | @Override
method onReceivePacket (line 155) | @Override
method onPlayerRotationMove (line 160) | @Override
method onPlayerSprintState (line 165) | @Override
method onBlockInteract (line 170) | @Override
method onPlayerDeath (line 175) | @Override
method onPathEvent (line 180) | @Override
method registerEventListener (line 185) | @Override
FILE: src/main/java/baritone/pathing/calc/AStarPathFinder.java
class AStarPathFinder (line 40) | public final class AStarPathFinder extends AbstractNodeCostSearch {
method AStarPathFinder (line 45) | public AStarPathFinder(BetterBlockPos realStart, int startX, int start...
method calculate0 (line 51) | @Override
FILE: src/main/java/baritone/pathing/calc/AbstractNodeCostSearch.java
class AbstractNodeCostSearch (line 37) | public abstract class AbstractNodeCostSearch implements IPathFinder, Hel...
method AbstractNodeCostSearch (line 85) | AbstractNodeCostSearch(BetterBlockPos realStart, int startX, int start...
method cancel (line 95) | public void cancel() {
method calculate (line 99) | @Override
method calculate0 (line 141) | protected abstract Optional<IPath> calculate0(long primaryTimeout, lon...
method getDistFromStartSq (line 151) | protected double getDistFromStartSq(PathNode n) {
method getNodeAtPosition (line 171) | protected PathNode getNodeAtPosition(int x, int y, int z, long hashCod...
method pathToMostRecentNodeConsidered (line 180) | @Override
method bestPathSoFar (line 185) | @Override
method bestSoFar (line 190) | protected Optional<IPath> bestSoFar(boolean logInfo, int numNodes) {
method isFinished (line 226) | @Override
method getGoal (line 231) | @Override
method getStart (line 236) | public BetterBlockPos getStart() {
method mapSize (line 240) | protected int mapSize() {
FILE: src/main/java/baritone/pathing/calc/Path.java
class Path (line 42) | class Path extends PathBase {
method Path (line 72) | Path(BetterBlockPos realStart, PathNode start, PathNode end, int numNo...
method getGoal (line 108) | @Override
method assembleMovements (line 113) | private boolean assembleMovements() {
method runBackwards (line 129) | private Movement runBackwards(BetterBlockPos src, BetterBlockPos dest,...
method postProcess (line 145) | @Override
method movements (line 166) | @Override
method positions (line 175) | @Override
method getNumNodesConsidered (line 180) | @Override
method getSrc (line 185) | @Override
method getDest (line 190) | @Override
FILE: src/main/java/baritone/pathing/calc/PathNode.java
class PathNode (line 30) | public final class PathNode {
method PathNode (line 67) | public PathNode(int x, int y, int z, Goal goal) {
method isOpen (line 85) | public boolean isOpen() {
method hashCode (line 94) | @Override
method equals (line 99) | @Override
FILE: src/main/java/baritone/pathing/calc/openset/BinaryHeapOpenSet.java
class BinaryHeapOpenSet (line 29) | public final class BinaryHeapOpenSet implements IOpenSet {
method BinaryHeapOpenSet (line 46) | public BinaryHeapOpenSet() {
method BinaryHeapOpenSet (line 50) | public BinaryHeapOpenSet(int size) {
method size (line 55) | public int size() {
method insert (line 59) | @Override
method update (line 70) | @Override
method isEmpty (line 87) | @Override
method removeLowest (line 92) | @Override
FILE: src/main/java/baritone/pathing/calc/openset/IOpenSet.java
type IOpenSet (line 27) | public interface IOpenSet {
method insert (line 34) | void insert(PathNode node);
method isEmpty (line 39) | boolean isEmpty();
method removeLowest (line 46) | PathNode removeLowest();
method update (line 53) | void update(PathNode node);
FILE: src/main/java/baritone/pathing/calc/openset/LinkedListOpenSet.java
class LinkedListOpenSet (line 29) | class LinkedListOpenSet implements IOpenSet {
method isEmpty (line 33) | @Override
method insert (line 38) | @Override
method update (line 46) | @Override
method removeLowest (line 51) | @Override
class Node (line 86) | public static class Node { //wrapper with next
FILE: src/main/java/baritone/pathing/movement/CalculationContext.java
class CalculationContext (line 48) | public class CalculationContext {
method CalculationContext (line 87) | public CalculationContext(IBaritone baritone) {
method CalculationContext (line 91) | public CalculationContext(IBaritone baritone, boolean forUseOnAnotherT...
method getBaritone (line 136) | public final IBaritone getBaritone() {
method get (line 140) | public BlockState get(int x, int y, int z) {
method isLoaded (line 144) | public boolean isLoaded(int x, int z) {
method get (line 148) | public BlockState get(BlockPos pos) {
method getBlock (line 152) | public Block getBlock(int x, int y, int z) {
method costOfPlacingAt (line 156) | public double costOfPlacingAt(int x, int y, int z, BlockState current) {
method breakCostMultiplierAt (line 175) | public double breakCostMultiplierAt(int x, int y, int z, BlockState cu...
method placeBucketCost (line 185) | public double placeBucketCost() {
method isPossiblyProtected (line 189) | public boolean isPossiblyProtected(int x, int y, int z) {
FILE: src/main/java/baritone/pathing/movement/Movement.java
class Movement (line 34) | public abstract class Movement implements IMovement, MovementHelper {
method Movement (line 67) | protected Movement(IBaritone baritone, BetterBlockPos src, BetterBlock...
method Movement (line 76) | protected Movement(IBaritone baritone, BetterBlockPos src, BetterBlock...
method getCost (line 80) | public double getCost() throws NullPointerException {
method getCost (line 84) | public double getCost(CalculationContext context) {
method calculateCost (line 91) | public abstract double calculateCost(CalculationContext context);
method recalculateCost (line 93) | public double recalculateCost(CalculationContext context) {
method override (line 98) | public void override(double cost) {
method calculateValidPositions (line 102) | protected abstract Set<BetterBlockPos> calculateValidPositions();
method getValidPositions (line 104) | public Set<BetterBlockPos> getValidPositions() {
method playerInValidPosition (line 112) | protected boolean playerInValidPosition() {
method update (line 122) | @Override
method prepared (line 153) | protected boolean prepared(MovementState state) {
method safeToCancel (line 195) | @Override
method safeToCancel (line 200) | protected boolean safeToCancel(MovementState currentState) {
method getSrc (line 204) | @Override
method getDest (line 209) | @Override
method reset (line 214) | @Override
method updateState (line 225) | public MovementState updateState(MovementState state) {
method getDirection (line 239) | @Override
method checkLoadedChunk (line 244) | public void checkLoadedChunk(CalculationContext context) {
method calculatedWhileLoaded (line 248) | @Override
method resetBlockCache (line 253) | @Override
method toBreak (line 260) | public List<BlockPos> toBreak(BlockStateInterface bsi) {
method toPlace (line 274) | public List<BlockPos> toPlace(BlockStateInterface bsi) {
method toWalkInto (line 286) | public List<BlockPos> toWalkInto(BlockStateInterface bsi) { // overrid...
method toBreakAll (line 293) | public BlockPos[] toBreakAll() {
FILE: src/main/java/baritone/pathing/movement/MovementHelper.java
type MovementHelper (line 65) | public interface MovementHelper extends ActionCosts, Helper {
method avoidBreaking (line 67) | static boolean avoidBreaking(BlockStateInterface bsi, int x, int y, in...
method avoidAdjacentBreaking (line 83) | static boolean avoidAdjacentBreaking(BlockStateInterface bsi, int x, i...
method canWalkThrough (line 112) | static boolean canWalkThrough(IPlayerContext ctx, BetterBlockPos pos) {
method canWalkThrough (line 116) | static boolean canWalkThrough(BlockStateInterface bsi, int x, int y, i...
method canWalkThrough (line 120) | static boolean canWalkThrough(CalculationContext context, int x, int y...
method canWalkThrough (line 124) | static boolean canWalkThrough(CalculationContext context, int x, int y...
method canWalkThrough (line 128) | static boolean canWalkThrough(BlockStateInterface bsi, int x, int y, i...
method canWalkThroughBlockState (line 139) | static Ternary canWalkThroughBlockState(BlockState state) {
method canWalkThroughPosition (line 194) | static boolean canWalkThroughPosition(BlockStateInterface bsi, int x, ...
method fullyPassableBlockState (line 239) | static Ternary fullyPassableBlockState(BlockState state) {
method fullyPassable (line 281) | static boolean fullyPassable(CalculationContext context, int x, int y,...
method fullyPassable (line 285) | static boolean fullyPassable(CalculationContext context, int x, int y,...
method fullyPassable (line 289) | static boolean fullyPassable(IPlayerContext ctx, BlockPos pos) {
method fullyPassablePosition (line 301) | static boolean fullyPassablePosition(BlockStateInterface bsi, int x, i...
method isReplaceable (line 305) | static boolean isReplaceable(int x, int y, int z, BlockState state, Bl...
method isReplacable (line 334) | @Deprecated
method isDoorPassable (line 339) | static boolean isDoorPassable(IPlayerContext ctx, BlockPos doorPos, Bl...
method isGatePassable (line 352) | static boolean isGatePassable(IPlayerContext ctx, BlockPos gatePos, Bl...
method isHorizontalBlockPassable (line 365) | static boolean isHorizontalBlockPassable(BlockPos blockPos, BlockState...
method avoidWalkingInto (line 385) | static boolean avoidWalkingInto(BlockState state) {
method canWalkOn (line 411) | static boolean canWalkOn(BlockStateInterface bsi, int x, int y, int z,...
method canWalkOnBlockState (line 422) | static Ternary canWalkOnBlockState(BlockState state) {
method canWalkOnPosition (line 463) | static boolean canWalkOnPosition(BlockStateInterface bsi, int x, int y...
method canWalkOn (line 489) | static boolean canWalkOn(CalculationContext context, int x, int y, int...
method canWalkOn (line 493) | static boolean canWalkOn(CalculationContext context, int x, int y, int...
method canWalkOn (line 497) | static boolean canWalkOn(IPlayerContext ctx, BetterBlockPos pos, Block...
method canWalkOn (line 501) | static boolean canWalkOn(IPlayerContext ctx, BlockPos pos) {
method canWalkOn (line 505) | static boolean canWalkOn(IPlayerContext ctx, BetterBlockPos pos) {
method canWalkOn (line 509) | static boolean canWalkOn(BlockStateInterface bsi, int x, int y, int z) {
method canUseFrostWalker (line 513) | static boolean canUseFrostWalker(CalculationContext context, BlockStat...
method canUseFrostWalker (line 519) | static boolean canUseFrostWalker(IPlayerContext ctx, BlockPos pos) {
method mustBeSolidToWalkOn (line 529) | static boolean mustBeSolidToWalkOn(CalculationContext context, int x, ...
method canPlaceAgainst (line 568) | static boolean canPlaceAgainst(BlockStateInterface bsi, int x, int y, ...
method canPlaceAgainst (line 572) | static boolean canPlaceAgainst(BlockStateInterface bsi, BlockPos pos) {
method canPlaceAgainst (line 576) | static boolean canPlaceAgainst(IPlayerContext ctx, BlockPos pos) {
method canPlaceAgainst (line 580) | static boolean canPlaceAgainst(BlockStateInterface bsi, int x, int y, ...
method getMiningDurationTicks (line 590) | static double getMiningDurationTicks(CalculationContext context, int x...
method getMiningDurationTicks (line 594) | static double getMiningDurationTicks(CalculationContext context, int x...
method isBottomSlab (line 625) | static boolean isBottomSlab(BlockState state) {
method switchToBestToolFor (line 636) | static void switchToBestToolFor(IPlayerContext ctx, BlockState b) {
method switchToBestToolFor (line 647) | static void switchToBestToolFor(IPlayerContext ctx, BlockState b, Tool...
method moveTowards (line 653) | static void moveTowards(IPlayerContext ctx, MovementState state, Block...
method moveTowardsWithoutRotation (line 662) | static void moveTowardsWithoutRotation(IPlayerContext ctx, MovementSta...
method moveTowardsWithoutRotation (line 673) | static void moveTowardsWithoutRotation(IPlayerContext ctx, MovementSta...
method moveTowardsWithSlightRotation (line 682) | static void moveTowardsWithSlightRotation(IPlayerContext ctx, Movement...
method isWater (line 706) | static boolean isWater(BlockState state) {
method isWater (line 719) | static boolean isWater(IPlayerContext ctx, BlockPos bp) {
method isLava (line 723) | static boolean isLava(BlockState state) {
method isLiquid (line 735) | static boolean isLiquid(IPlayerContext ctx, BlockPos p) {
method isLiquid (line 739) | static boolean isLiquid(BlockState blockState) {
method possiblyFlowing (line 743) | static boolean possiblyFlowing(BlockState state) {
method isFlowing (line 749) | static boolean isFlowing(int x, int y, int z, BlockState state, BlockS...
method isBlockNormalCube (line 763) | static boolean isBlockNormalCube(BlockState state) {
method attemptToPlaceABlock (line 781) | static PlaceResult attemptToPlaceABlock(MovementState state, IBaritone...
type PlaceResult (line 837) | enum PlaceResult {
method isTransparent (line 841) | static boolean isTransparent(Block b) {
method steppingOnBlocks (line 848) | static List<BetterBlockPos> steppingOnBlocks(IPlayerContext ctx) {
FILE: src/main/java/baritone/pathing/movement/MovementOption.java
method MovementOption (line 28) | public MovementOption(Input input1, float motionX, float motionZ) {
method setInputs (line 32) | public void setInputs(MovementState movementState) {
method distanceToSq (line 41) | public float distanceToSq(float otherX, float otherZ) {
method getOptions (line 45) | public static Stream<MovementOption> getOptions(float motionX, float mot...
FILE: src/main/java/baritone/pathing/movement/MovementState.java
class MovementState (line 28) | public class MovementState {
method setStatus (line 34) | public MovementState setStatus(MovementStatus status) {
method getStatus (line 39) | public MovementStatus getStatus() {
method getTarget (line 43) | public MovementTarget getTarget() {
method setTarget (line 47) | public MovementState setTarget(MovementTarget target) {
method setInput (line 52) | public MovementState setInput(Input input, boolean forced) {
method getInputStates (line 57) | public Map<Input, Boolean> getInputStates() {
class MovementTarget (line 61) | public static class MovementTarget {
method MovementTarget (line 75) | public MovementTarget() {
method MovementTarget (line 79) | public MovementTarget(Rotation rotation, boolean forceRotations) {
method getRotation (line 84) | public final Optional<Rotation> getRotation() {
method hasToForceRotations (line 88) | public boolean hasToForceRotations() {
FILE: src/main/java/baritone/pathing/movement/Moves.java
type Moves (line 30) | public enum Moves {
method apply0 (line 32) | @Override
method cost (line 37) | @Override
method apply0 (line 44) | @Override
method cost (line 49) | @Override
method apply0 (line 56) | @Override
method cost (line 61) | @Override
method apply0 (line 68) | @Override
method cost (line 73) | @Override
method apply0 (line 80) | @Override
method cost (line 85) | @Override
method apply0 (line 92) | @Override
method cost (line 97) | @Override
method apply0 (line 104) | @Override
method cost (line 109) | @Override
method apply0 (line 116) | @Override
method cost (line 121) | @Override
method apply0 (line 128) | @Override
method cost (line 133) | @Override
method apply0 (line 140) | @Override
method cost (line 145) | @Override
method apply0 (line 152) | @Override
method apply (line 163) | @Override
method apply0 (line 170) | @Override
method apply (line 181) | @Override
method apply0 (line 188) | @Override
method apply (line 199) | @Override
method apply0 (line 206) | @Override
method apply (line 217) | @Override
method apply0 (line 224) | @Override
method apply (line 231) | @Override
method apply0 (line 238) | @Override
method apply (line 245) | @Override
method apply0 (line 252) | @Override
method apply (line 259) | @Override
method apply0 (line 266) | @Override
method apply (line 273) | @Override
method apply0 (line 280) | @Override
method apply (line 285) | @Override
method apply0 (line 292) | @Override
method apply (line 297) | @Override
method apply0 (line 304) | @Override
method apply (line 309) | @Override
method apply0 (line 316) | @Override
method apply (line 321) | @Override
method Moves (line 334) | Moves(int x, int y, int z, boolean dynamicXZ, boolean dynamicY) {
method Moves (line 342) | Moves(int x, int y, int z) {
method apply0 (line 346) | public abstract Movement apply0(CalculationContext context, BetterBloc...
method apply (line 348) | public void apply(CalculationContext context, int x, int y, int z, Mut...
method cost (line 358) | public double cost(CalculationContext context, int x, int y, int z) {
FILE: src/main/java/baritone/pathing/movement/movements/MovementAscend.java
class MovementAscend (line 37) | public class MovementAscend extends Movement {
method MovementAscend (line 41) | public MovementAscend(IBaritone baritone, BetterBlockPos src, BetterBl...
method reset (line 45) | @Override
method calculateCost (line 51) | @Override
method calculateValidPositions (line 56) | @Override
method cost (line 67) | public static double cost(CalculationContext context, int x, int y, in...
method updateState (line 159) | @Override
method headBonkClear (line 229) | public boolean headBonkClear() {
method safeToCancel (line 241) | @Override
FILE: src/main/java/baritone/pathing/movement/movements/MovementDescend.java
class MovementDescend (line 42) | public class MovementDescend extends Movement {
method MovementDescend (line 47) | public MovementDescend(IBaritone baritone, BetterBlockPos start, Bette...
method reset (line 51) | @Override
method forceSafeMode (line 61) | public void forceSafeMode() {
method calculateCost (line 65) | @Override
method calculateValidPositions (line 75) | @Override
method cost (line 80) | public static void cost(CalculationContext context, int x, int y, int ...
method dynamicFallCost (line 137) | public static boolean dynamicFallCost(CalculationContext context, int ...
method updateState (line 226) | @Override
method safeMode (line 272) | public boolean safeMode() {
method skipToAscend (line 291) | public boolean skipToAscend() {
FILE: src/main/java/baritone/pathing/movement/movements/MovementDiagonal.java
class MovementDiagonal (line 42) | public class MovementDiagonal extends Movement {
method MovementDiagonal (line 46) | public MovementDiagonal(IBaritone baritone, BetterBlockPos start, Dire...
method MovementDiagonal (line 51) | private MovementDiagonal(IBaritone baritone, BetterBlockPos start, Bet...
method MovementDiagonal (line 55) | private MovementDiagonal(IBaritone baritone, BetterBlockPos start, Bet...
method safeToCancel (line 59) | @Override
method calculateCost (line 88) | @Override
method calculateValidPositions (line 98) | @Override
method cost (line 111) | public static void cost(CalculationContext context, int x, int y, int ...
method updateState (line 262) | @Override
method sprint (line 285) | private boolean sprint() {
method prepared (line 297) | @Override
method toBreak (line 302) | @Override
method toWalkInto (line 317) | @Override
FILE: src/main/java/baritone/pathing/movement/movements/MovementDownward.java
class MovementDownward (line 33) | public class MovementDownward extends Movement {
method MovementDownward (line 37) | public MovementDownward(IBaritone baritone, BetterBlockPos start, Bett...
method reset (line 41) | @Override
method calculateCost (line 47) | @Override
method calculateValidPositions (line 52) | @Override
method cost (line 57) | public static double cost(CalculationContext context, int x, int y, in...
method updateState (line 74) | @Override
FILE: src/main/java/baritone/pathing/movement/movements/MovementFall.java
class MovementFall (line 50) | public class MovementFall extends Movement {
method MovementFall (line 55) | public MovementFall(IBaritone baritone, BetterBlockPos src, BetterBloc...
method calculateCost (line 59) | @Override
method calculateValidPositions (line 69) | @Override
method willPlaceBucket (line 79) | private boolean willPlaceBucket() {
method updateState (line 85) | @Override
method avoid (line 166) | private Direction avoid() {
method safeToCancel (line 176) | @Override
method buildPositionsToBreak (line 183) | private static BetterBlockPos[] buildPositionsToBreak(BetterBlockPos s...
method prepared (line 195) | @Override
FILE: src/main/java/baritone/pathing/movement/movements/MovementParkour.java
class MovementParkour (line 41) | public class MovementParkour extends Movement {
method MovementParkour (line 49) | private MovementParkour(IBaritone baritone, BetterBlockPos src, int di...
method cost (line 56) | public static MovementParkour cost(CalculationContext context, BetterB...
method cost (line 63) | public static void cost(CalculationContext context, int x, int y, int ...
method checkOvershootSafety (line 203) | private static boolean checkOvershootSafety(BlockStateInterface bsi, i...
method costFromJumpDistance (line 208) | private static double costFromJumpDistance(int dist) {
method calculateCost (line 222) | @Override
method calculateValidPositions (line 232) | @Override
method safeToCancel (line 243) | @Override
method updateState (line 251) | @Override
FILE: src/main/java/baritone/pathing/movement/movements/MovementPillar.java
class MovementPillar (line 49) | public class MovementPillar extends Movement {
method MovementPillar (line 51) | public MovementPillar(IBaritone baritone, BetterBlockPos start, Better...
method calculateCost (line 55) | @Override
method calculateValidPositions (line 60) | @Override
method cost (line 65) | public static double cost(CalculationContext context, int x, int y, in...
method hasAgainst (line 148) | public static boolean hasAgainst(CalculationContext context, int x, in...
method getAgainst (line 155) | public static BlockPos getAgainst(CalculationContext context, BetterBl...
method updateState (line 171) | @Override
method prepared (line 279) | @Override
FILE: src/main/java/baritone/pathing/movement/movements/MovementTraverse.java
class MovementTraverse (line 50) | public class MovementTraverse extends Movement {
method MovementTraverse (line 57) | public MovementTraverse(IBaritone baritone, BetterBlockPos from, Bette...
method reset (line 61) | @Override
method calculateCost (line 67) | @Override
method calculateValidPositions (line 72) | @Override
method cost (line 77) | public static double cost(CalculationContext context, int x, int y, in...
method updateState (line 175) | @Override
method safeToCancel (line 364) | @Override
method prepared (line 372) | @Override
FILE: src/main/java/baritone/pathing/path/CutoffPath.java
class CutoffPath (line 29) | public class CutoffPath extends PathBase {
method CutoffPath (line 39) | public CutoffPath(IPath prev, int firstPositionToInclude, int lastPosi...
method CutoffPath (line 47) | public CutoffPath(IPath prev, int lastPositionToInclude) {
method getGoal (line 51) | @Override
method movements (line 56) | @Override
method positions (line 61) | @Override
method getNumNodesConsidered (line 66) | @Override
FILE: src/main/java/baritone/pathing/path/PathExecutor.java
class PathExecutor (line 48) | public class PathExecutor implements IPathExecutor, Helper {
method PathExecutor (line 79) | public PathExecutor(PathingBehavior behavior, IPath path) {
method onTick (line 92) | public boolean onTick() {
method closestPathPos (line 255) | private Tuple<Double, BlockPos> closestPathPos(IPath path) {
method shouldPause (line 270) | private boolean shouldPause() {
method possiblyOffPath (line 303) | private boolean possiblyOffPath(Tuple<Double, BlockPos> status, double...
method snipsnapifpossible (line 323) | public boolean snipsnapifpossible() {
method shouldSprintNextTick (line 344) | private boolean shouldSprintNextTick() {
method overrideFall (line 477) | private Tuple<Vec3, BlockPos> overrideFall(MovementFall movement) {
method skipNow (line 516) | private static boolean skipNow(IPlayerContext ctx, IMovement current) {
method sprintableAscend (line 531) | private static boolean sprintableAscend(IPlayerContext ctx, MovementTr...
method canSprintFromDescendInto (line 567) | private static boolean canSprintFromDescendInto(IPlayerContext ctx, IM...
method onChangeInPathPosition (line 580) | private void onChangeInPathPosition() {
method clearKeys (line 585) | private void clearKeys() {
method cancel (line 590) | private void cancel() {
method getPosition (line 597) | @Override
method trySplice (line 602) | public PathExecutor trySplice(PathExecutor next) {
method cutIfTooLong (line 621) | private PathExecutor cutIfTooLong() {
method getPath (line 643) | @Override
method failed (line 648) | public boolean failed() {
method finished (line 652) | public boolean finished() {
method toBreak (line 656) | public Set<BlockPos> toBreak() {
method toPlace (line 660) | public Set<BlockPos> toPlace() {
method toWalkInto (line 664) | public Set<BlockPos> toWalkInto() {
method isSprinting (line 668) | public boolean isSprinting() {
FILE: src/main/java/baritone/pathing/path/SplicedPath.java
class SplicedPath (line 28) | public class SplicedPath extends PathBase {
method SplicedPath (line 38) | private SplicedPath(List<BetterBlockPos> path, List<IMovement> movemen...
method getGoal (line 46) | @Override
method movements (line 51) | @Override
method positions (line 56) | @Override
method getNumNodesConsidered (line 61) | @Override
method length (line 66) | @Override
method trySplice (line 71) | public static Optional<SplicedPath> trySplice(IPath first, IPath secon...
FILE: src/main/java/baritone/pathing/precompute/PrecomputedData.java
class PrecomputedData (line 25) | public class PrecomputedData {
method fillData (line 45) | private int fillData(int id, BlockState state) {
method canWalkOn (line 72) | public boolean canWalkOn(BlockStateInterface bsi, int x, int y, int z,...
method canWalkThrough (line 87) | public boolean canWalkThrough(BlockStateInterface bsi, int x, int y, i...
method fullyPassable (line 102) | public boolean fullyPassable(BlockStateInterface bsi, int x, int y, in...
FILE: src/main/java/baritone/pathing/precompute/Ternary.java
type Ternary (line 20) | public enum Ternary {
FILE: src/main/java/baritone/process/BackfillProcess.java
class BackfillProcess (line 36) | public final class BackfillProcess extends BaritoneProcessHelper {
method BackfillProcess (line 40) | public BackfillProcess(Baritone baritone) {
method isActive (line 44) | @Override
method onTick (line 68) | @Override
method amIBreakingABlockHMMMMMMM (line 93) | private void amIBreakingABlockHMMMMMMM() {
method toFillIn (line 100) | public List<BlockPos> toFillIn() {
method partOfCurrentMovement (line 111) | private boolean partOfCurrentMovement(BlockPos pos) {
method onLostControl (line 120) | @Override
method displayName0 (line 127) | @Override
method isTemporary (line 132) | @Override
method priority (line 137) | @Override
FILE: src/main/java/baritone/process/BuilderProcess.java
class BuilderProcess (line 85) | public final class BuilderProcess extends BaritoneProcessHelper implemen...
method BuilderProcess (line 108) | public BuilderProcess(Baritone baritone) {
method build (line 112) | @Override
method resume (line 174) | public void resume() {
method pause (line 178) | public void pause() {
method isPaused (line 182) | @Override
method build (line 187) | @Override
method applyMapArtAndSelection (line 205) | private ISchematic applyMapArtAndSelection(Vec3i origin, IStaticSchema...
method buildOpenSchematic (line 216) | @Override
method buildOpenLitematic (line 233) | @Override
method clearArea (line 250) | public void clearArea(BlockPos corner1, BlockPos corner2) {
method getApproxPlaceable (line 258) | @Override
method isActive (line 263) | @Override
method placeAt (line 268) | public BlockState placeAt(int x, int y, int z, BlockState current) {
method toBreakNearPlayer (line 282) | private Optional<Tuple<BetterBlockPos, Rotation>> toBreakNearPlayer(Bu...
class Placement (line 312) | public static class Placement {
method Placement (line 319) | public Placement(int hotbarSelection, BlockPos placeAgainst, Directi...
method searchForPlacables (line 327) | private Optional<Placement> searchForPlacables(BuilderCalculationConte...
method placementPlausible (line 356) | public boolean placementPlausible(BlockPos pos, BlockState state) {
method possibleToPlace (line 361) | private Optional<Placement> possibleToPlace(BlockState toPlace, int x,...
method hasAnyItemThatWouldPlace (line 397) | private OptionalInt hasAnyItemThatWouldPlace(BlockState desired, HitRe...
method aabbSideMultipliers (line 431) | private static Vec3[] aabbSideMultipliers(Direction side) {
method onTick (line 449) | @Override
method onTick (line 454) | private PathingCommand onTick(boolean calcFailed, boolean isSafeToCanc...
method recalc (line 624) | private boolean recalc(BuilderCalculationContext bcc) {
method trim (line 639) | private void trim() {
method recalcNearby (line 647) | private void recalcNearby(BuilderCalculationContext bcc) {
method fullRecalc (line 673) | private void fullRecalc(BuilderCalculationContext bcc) {
method assemble (line 712) | private Goal assemble(BuilderCalculationContext bcc, List<BlockState> ...
method assemble (line 716) | private Goal assemble(BuilderCalculationContext bcc, List<BlockState> ...
class JankyGoalComposite (line 781) | public static class JankyGoalComposite implements Goal {
method JankyGoalComposite (line 786) | public JankyGoalComposite(Goal primary, Goal fallback) {
method isInGoal (line 792) | @Override
method heuristic (line 797) | @Override
method equals (line 802) | @Override
method hashCode (line 816) | @Override
method toString (line 824) | @Override
class GoalBreak (line 830) | public static class GoalBreak extends GoalGetToBlock {
method GoalBreak (line 832) | public GoalBreak(BlockPos pos) {
method isInGoal (line 836) | @Override
method toString (line 846) | @Override
method hashCode (line 856) | @Override
method placementGoal (line 862) | private Goal placementGoal(BlockPos pos, BuilderCalculationContext bcc) {
method breakGoal (line 877) | private Goal breakGoal(BlockPos pos, BuilderCalculationContext bcc) {
class GoalAdjacent (line 892) | public static class GoalAdjacent extends GoalGetToBlock {
method GoalAdjacent (line 897) | public GoalAdjacent(BlockPos pos, BlockPos no, boolean allowSameLeve...
method isInGoal (line 903) | @Override
method heuristic (line 920) | @Override
method equals (line 926) | @Override
method hashCode (line 937) | @Override
method toString (line 946) | @Override
class GoalPlace (line 957) | public static class GoalPlace extends GoalBlock {
method GoalPlace (line 959) | public GoalPlace(BlockPos placeAt) {
method heuristic (line 963) | @Override
method hashCode (line 969) | @Override
method toString (line 974) | @Override
method onLostControl (line 985) | @Override
method displayName0 (line 997) | @Override
method getMinLayer (line 1002) | @Override
method getMaxLayer (line 1010) | @Override
method approxPlaceable (line 1018) | private List<BlockState> approxPlaceable(int size) {
method sameBlockstate (line 1044) | private static boolean sameBlockstate(BlockState first, BlockState sec...
method containsBlockState (line 1065) | private static boolean containsBlockState(Collection<BlockState> state...
method valid (line 1074) | private static boolean valid(BlockState current, BlockState desired, b...
class BuilderCalculationContext (line 1102) | public class BuilderCalculationContext extends CalculationContext {
method BuilderCalculationContext (line 1110) | public BuilderCalculationContext() {
method getSchematic (line 1122) | private BlockState getSchematic(int x, int y, int z, BlockState curr...
method costOfPlacingAt (line 1130) | @Override
method breakCostMultiplierAt (line 1164) | @Override
FILE: src/main/java/baritone/process/CustomGoalProcess.java
class CustomGoalProcess (line 32) | public final class CustomGoalProcess extends BaritoneProcessHelper imple...
method CustomGoalProcess (line 51) | public CustomGoalProcess(Baritone baritone) {
method setGoal (line 55) | @Override
method path (line 70) | @Override
method getGoal (line 75) | @Override
method mostRecentGoal (line 80) | @Override
method isActive (line 85) | @Override
method onTick (line 90) | @Override
method onLostControl (line 121) | @Override
method displayName0 (line 127) | @Override
type State (line 132) | protected enum State {
FILE: src/main/java/baritone/process/ElytraProcess.java
class ElytraProcess (line 63) | public class ElytraProcess extends BaritoneProcessHelper implements IBar...
method onLostControl (line 72) | @Override
method ElytraProcess (line 82) | private ElytraProcess(Baritone baritone) {
method create (line 87) | public static IElytraProcess create(final Baritone baritone) {
method isActive (line 93) | @Override
method resetState (line 98) | @Override
method onTick (line 110) | @Override
method landingSpotIsBad (line 282) | public void landingSpotIsBad(BetterBlockPos endPos) {
method destroyBehaviorAsync (line 289) | private void destroyBehaviorAsync() {
method priority (line 297) | @Override
method displayName0 (line 302) | @Override
method repackChunks (line 307) | @Override
method currentDestination (line 314) | @Override
method getPath (line 319) | @Override
method pathTo (line 324) | @Override
method pathTo0 (line 329) | private void pathTo0(BlockPos destination, boolean appendDestination) {
method pathTo (line 342) | @Override
method shouldLandForSafety (line 366) | private boolean shouldLandForSafety() {
method isLoaded (line 386) | @Override
method isSafeToCancel (line 391) | @Override
type State (line 396) | public enum State {
method State (line 406) | State(String desc) {
method onRenderPass (line 411) | @Override
method onWorldEvent (line 416) | @Override
method onChunkEvent (line 424) | @Override
method onBlockChange (line 429) | @Override
method onReceivePacket (line 434) | @Override
method onPostTick (line 439) | @Override
class WalkOffCalculationContext (line 448) | public static final class WalkOffCalculationContext extends Calculatio...
method WalkOffCalculationContext (line 450) | public WalkOffCalculationContext(IBaritone baritone) {
method costOfPlacingAt (line 457) | @Override
method breakCostMultiplierAt (line 462) | @Override
method placeBucketCost (line 467) | @Override
method isInBounds (line 473) | private static boolean isInBounds(BlockPos pos) {
method isSafeBlock (line 477) | private boolean isSafeBlock(Block block) {
method isSafeBlock (line 481) | private boolean isSafeBlock(BlockPos pos) {
method isAtEdge (line 485) | private boolean isAtEdge(BlockPos pos) {
method isColumnAir (line 497) | private boolean isColumnAir(BlockPos landingSpot, int minHeight) {
method hasAirBubble (line 509) | private boolean hasAirBubble(BlockPos pos) {
method checkLandingSpot (line 526) | private BetterBlockPos checkLandingSpot(BlockPos pos, LongOpenHashSet ...
method findSafeLandingSpot (line 551) | private BetterBlockPos findSafeLandingSpot(BetterBlockPos start) {
FILE: src/main/java/baritone/process/ExploreProcess.java
class ExploreProcess (line 43) | public final class ExploreProcess extends BaritoneProcessHelper implemen...
method ExploreProcess (line 51) | public ExploreProcess(Baritone baritone) {
method isActive (line 55) | @Override
method explore (line 60) | @Override
method applyJsonFilter (line 66) | @Override
method calcFilter (line 71) | public IChunkFilter calcFilter() {
method onTick (line 81) | @Override
method closestUncachedChunks (line 108) | private Goal[] closestUncachedChunks(BlockPos center, IChunkFilter fil...
method createGoal (line 164) | private static Goal createGoal(int x, int z) {
type Status (line 178) | private enum Status {
type IChunkFilter (line 182) | private interface IChunkFilter {
method isAlreadyExplored (line 184) | Status isAlreadyExplored(int chunkX, int chunkZ);
method countRemain (line 186) | int countRemain();
class BaritoneChunkCache (line 189) | private class BaritoneChunkCache implements IChunkFilter {
method isAlreadyExplored (line 193) | @Override
method countRemain (line 209) | @Override
class JsonChunkFilter (line 215) | private class JsonChunkFilter implements IChunkFilter {
method JsonChunkFilter (line 221) | private JsonChunkFilter(Path path, boolean invert) throws Exception ...
method isAlreadyExplored (line 232) | @Override
method countRemain (line 245) | @Override
class EitherChunk (line 268) | private class EitherChunk implements IChunkFilter {
method EitherChunk (line 273) | private EitherChunk(IChunkFilter a, IChunkFilter b) {
method isAlreadyExplored (line 278) | @Override
method countRemain (line 286) | @Override
method onLostControl (line 292) | @Override
method displayName0 (line 297) | @Override
FILE: src/main/java/baritone/process/FarmProcess.java
class FarmProcess (line 65) | public final class FarmProcess extends BaritoneProcessHelper implements ...
method FarmProcess (line 103) | public FarmProcess(Baritone baritone) {
method isActive (line 107) | @Override
method farm (line 112) | @Override
type Harvest (line 124) | private enum Harvest {
method readyToHarvest (line 134) | @Override
method readyToHarvest (line 143) | @Override
method readyToHarvest (line 152) | @Override
method Harvest (line 163) | Harvest(CropBlock blockCrops) {
method Harvest (line 168) | Harvest(Block block, Predicate<BlockState> readyToHarvest) {
method readyToHarvest (line 173) | public boolean readyToHarvest(Level world, BlockPos pos, BlockState ...
method readyForHarvest (line 178) | private boolean readyForHarvest(Level world, BlockPos pos, BlockState ...
method isPlantable (line 187) | private boolean isPlantable(ItemStack stack) {
method isBoneMeal (line 191) | private boolean isBoneMeal(ItemStack stack) {
method isNetherWart (line 195) | private boolean isNetherWart(ItemStack stack) {
method isCocoa (line 199) | private boolean isCocoa(ItemStack stack) {
method onTick (line 203) | @Override
method onLostControl (line 398) | @Override
method displayName0 (line 403) | @Override
FILE: src/main/java/baritone/process/FollowProcess.java
class FollowProcess (line 45) | public final class FollowProcess extends BaritoneProcessHelper implement...
method FollowProcess (line 51) | public FollowProcess(Baritone baritone) {
method onTick (line 55) | @Override
method towards (line 62) | private Goal towards(Entity following) {
method followable (line 77) | private boolean followable(Entity entity) {
method scanWorld (line 94) | private void scanWorld() {
method isActive (line 102) | @Override
method onLostControl (line 111) | @Override
method displayName0 (line 117) | @Override
method follow (line 122) | @Override
method pickup (line 128) | @Override
method following (line 134) | @Override
method currentFilter (line 139) | @Override
FILE: src/main/java/baritone/process/GetToBlockProcess.java
class GetToBlockProcess (line 41) | public final class GetToBlockProcess extends BaritoneProcessHelper imple...
method GetToBlockProcess (line 51) | public GetToBlockProcess(Baritone baritone) {
method getToBlock (line 55) | @Override
method isActive (line 65) | @Override
method onTick (line 70) | @Override
method blacklistClosest (line 131) | public synchronized boolean blacklistClosest() {
class GetToBlockCalculationContext (line 159) | public class GetToBlockCalculationContext extends CalculationContext {
method GetToBlockCalculationContext (line 161) | public GetToBlockCalculationContext(boolean forUseOnAnotherThread) {
method breakCostMultiplierAt (line 165) | @Override
method areAdjacent (line 172) | private boolean areAdjacent(BlockPos posA, BlockPos posB) {
method onLostControl (line 179) | @Override
method displayName0 (line 188) | @Override
method rescan (line 196) | private synchronized void rescan(List<BlockPos> known, CalculationCont...
method createGoal (line 202) | private Goal createGoal(BlockPos pos) {
method rightClick (line 212) | private boolean rightClick() {
method walkIntoInsteadOfAdjacent (line 235) | private boolean walkIntoInsteadOfAdjacent(Block block) {
method rightClickOnArrival (line 242) | private boolean rightClickOnArrival(Block block) {
method blockOnTopMustBeRemoved (line 249) | private boolean blockOnTopMustBeRemoved(Block block) {
FILE: src/main/java/baritone/process/InventoryPauserProcess.java
class InventoryPauserProcess (line 25) | public class InventoryPauserProcess extends BaritoneProcessHelper {
method InventoryPauserProcess (line 31) | public InventoryPauserProcess(Baritone baritone) {
method isActive (line 35) | @Override
method motion (line 43) | private double motion() {
method stationaryNow (line 47) | private boolean stationaryNow() {
method stationaryForInventoryMove (line 51) | public boolean stationaryForInventoryMove() {
method onTick (line 56) | @Override
method onLostControl (line 71) | @Override
method displayName0 (line 76) | @Override
method priority (line 81) | @Override
method isTemporary (line 86) | @Override
FILE: src/main/java/baritone/process/MineProcess.java
class MineProcess (line 54) | public final class MineProcess extends BaritoneProcessHelper implements ...
method MineProcess (line 65) | public MineProcess(Baritone baritone) {
method isActive (line 69) | @Override
method onTick (line 74) | @Override
method updateLoucaSystem (line 149) | private void updateLoucaSystem() {
method onLostControl (line 166) | @Override
method displayName0 (line 171) | @Override
method updateGoal (line 176) | private PathingCommand updateGoal() {
method rescan (line 226) | private void rescan(List<BlockPos> already, CalculationContext context) {
method internalMiningGoal (line 248) | private boolean internalMiningGoal(BlockPos pos, CalculationContext co...
method coalesce (line 260) | private Goal coalesce(BlockPos loc, List<BlockPos> locs, CalculationCo...
class GoalThreeBlocks (line 302) | private static class GoalThreeBlocks extends GoalTwoBlocks {
method GoalThreeBlocks (line 304) | public GoalThreeBlocks(BlockPos pos) {
method isInGoal (line 308) | @Override
method heuristic (line 313) | @Override
method equals (line 321) | @Override
method hashCode (line 326) | @Override
method toString (line 331) | @Override
method droppedItemsScan (line 342) | public List<BlockPos> droppedItemsScan() {
method searchWorld (line 359) | public static List<BlockPos> searchWorld(CalculationContext ctx, Block...
method addNearby (line 397) | private boolean addNearby() {
method prune (line 429) | private static List<BlockPos> prune(CalculationContext ctx, List<Block...
method isNextToAir (line 471) | public static boolean isNextToAir(CalculationContext ctx, BlockPos pos) {
method plausibleToBreak (line 487) | public static boolean plausibleToBreak(CalculationContext ctx, BlockPo...
method mineByName (line 500) | @Override
method mine (line 505) | @Override
method filterFilter (line 522) | private BlockOptionalMetaLookup filterFilter() {
FILE: src/main/java/baritone/process/elytra/BlockStateOctreeInterface.java
class BlockStateOctreeInterface (line 26) | public final class BlockStateOctreeInterface {
method BlockStateOctreeInterface (line 36) | public BlockStateOctreeInterface(final NetherPathfinderContext context) {
method get0 (line 41) | public boolean get0(final int x, final int y, final int z) {
FILE: src/main/java/baritone/process/elytra/ElytraBehavior.java
class ElytraBehavior (line 65) | public final class ElytraBehavior implements Helper {
method ElytraBehavior (line 119) | public ElytraBehavior(Baritone baritone, ElytraProcess process, BlockP...
class PathManager (line 135) | public final class PathManager {
method PathManager (line 145) | public PathManager() {
method tick (line 150) | public void tick() {
method pathToDestination (line 167) | public CompletableFuture<Void> pathToDestination() {
method pathToDestination (line 171) | public CompletableFuture<Void> pathToDestination(final BlockPos from) {
method pathRecalcSegment (line 195) | public CompletableFuture<Void> pathRecalcSegment(final OptionalInt u...
method pathNextSegment (line 218) | public void pathNextSegment(final int afterIncl) {
method clear (line 256) | public void clear() {
method setPath (line 265) | private void setPath(final UnpackedSegment segment) {
method getPath (line 284) | public NetherPath getPath() {
method getNear (line 288) | public int getNear() {
method path0 (line 293) | private CompletableFuture<Void> path0(BlockPos src, BlockPos dst, Un...
method pathfindAroundObstacles (line 300) | private void pathfindAroundObstacles() {
method attemptNextSegment (line 367) | private void attemptNextSegment() {
method updatePlayerNear (line 378) | public void updatePlayerNear() {
method isComplete (line 408) | public boolean isComplete() {
method onRenderPass (line 413) | public void onRenderPass(RenderEvent event) {
method onChunkEvent (line 448) | public void onChunkEvent(ChunkEvent event) {
method onBlockChange (line 455) | public void onBlockChange(BlockChangeEvent event) {
method onReceivePacket (line 459) | public void onReceivePacket(PacketEvent event) {
method pathTo (line 467) | public void pathTo() {
method destroy (line 473) | public void destroy() {
method repackChunks (line 486) | public void repackChunks() {
method onTick (line 510) | public void onTick() {
method onTick0 (line 521) | private void onTick0() {
method tick (line 576) | public void tick() {
method onPostTick (line 633) | public void onPostTick(TickEvent event) {
method solveAngles (line 645) | private Solution solveAngles(final SolverContext context) {
method tickUseFireworks (line 732) | private void tickUseFireworks(final Vec3 start, final Vec3 goingTo, fi...
class SolverContext (line 769) | private final class SolverContext {
method SolverContext (line 786) | public SolverContext(boolean async) {
method equals (line 812) | @Override
class FireworkBoost (line 832) | private static final class FireworkBoost {
method FireworkBoost (line 843) | public FireworkBoost(final Integer fireworkTicksExisted, final int m...
method isBoosted (line 851) | public boolean isBoosted() {
method getGuaranteedBoostTicks (line 858) | public int getGuaranteedBoostTicks() {
method getMaximumBoostTicks (line 865) | public int getMaximumBoostTicks() {
method equals (line 869) | @Override
class PitchResult (line 889) | private static final class PitchResult {
method PitchResult (line 895) | public PitchResult(float pitch, double dot, List<Vec3> steps) {
class Solution (line 902) | private static final class Solution {
method Solution (line 910) | public Solution(SolverContext context, Rotation rotation, Vec3 going...
method isFireworks (line 919) | public static boolean isFireworks(final ItemStack itemStack) {
method isBoostingFireworks (line 928) | private static boolean isBoostingFireworks(final ItemStack itemStack) {
method getFireworkBoost (line 932) | private static OptionalInt getFireworkBoost(final ItemStack itemStack) {
method getAttachedFirework (line 942) | private Optional<FireworkRocketEntity> getAttachedFirework() {
method isHitboxClear (line 950) | private boolean isHitboxClear(final SolverContext context, final Vec3 ...
method clearView (line 1005) | public boolean clearView(Vec3 start, Vec3 dest, boolean ignoreLava) {
method pitchesToSolveFor (line 1020) | private static FloatArrayList pitchesToSolveFor(final float goodPitch,...
type IntTriFunction (line 1035) | @FunctionalInterface
method apply (line 1037) | T apply(int first, int second, int third);
class IntTriple (line 1040) | private static final class IntTriple {
method IntTriple (line 1045) | public IntTriple(int first, int second, int third) {
method solvePitch (line 1052) | private Pair<Float, Boolean> solvePitch(final SolverContext context, f...
method solvePitch (line 1108) | private PitchResult solvePitch(final SolverContext context, final Vec3...
method simulate (line 1167) | private List<Vec3> simulate(final SolverContext context, final Vec3 go...
method step (line 1226) | private static Vec3 step(final Vec3 motion, final Vec3 lookDirection, ...
method passable (line 1265) | private boolean passable(int x, int y, int z, boolean ignoreLava) {
method tickInventoryTransactions (line 1274) | private void tickInventoryTransactions() {
method queueWindowClick (line 1285) | private void queueWindowClick(int windowId, int slotId, int button, Cl...
method findGoodElytra (line 1289) | private int findGoodElytra() {
method trySwapElytra (line 1300) | private void trySwapElytra() {
method logVerbose (line 1321) | void logVerbose(String message) {
FILE: src/main/java/baritone/process/elytra/NetherPath.java
class NetherPath (line 30) | public final class NetherPath extends AbstractList<BetterBlockPos> {
method NetherPath (line 36) | NetherPath(List<BetterBlockPos> backing) {
method get (line 40) | @Override
method size (line 45) | @Override
method getLast (line 53) | public BetterBlockPos getLast() {
method getVec (line 57) | public Vec3 getVec(int index) {
method emptyPath (line 62) | public static NetherPath emptyPath() {
FILE: src/main/java/baritone/process/elytra/NetherPathfinderContext.java
class NetherPathfinderContext (line 45) | public final class NetherPathfinderContext {
method NetherPathfinderContext (line 57) | public NetherPathfinderContext(long seed) {
method hasChunk (line 63) | public boolean hasChunk(ChunkPos pos) {
method queueCacheCulling (line 67) | public void queueCacheCulling(int chunkX, int chunkZ, int maxDistanceB...
method queueForPacking (line 76) | public void queueForPacking(final LevelChunk chunkIn) {
method queueBlockUpdate (line 89) | public void queueBlockUpdate(BlockChangeEvent event) {
method pathFindAsync (line 103) | public CompletableFuture<PathSegment> pathFindAsync(final BlockPos src...
method raytrace (line 133) | public boolean raytrace(final double startX, final double startY, fina...
method raytrace (line 146) | public boolean raytrace(final Vec3 start, final Vec3 end) {
method raytrace (line 150) | public boolean raytrace(final int count, final double[] src, final dou...
method raytrace (line 163) | public void raytrace(final int count, final double[] src, final double...
method cancel (line 167) | public void cancel() {
method destroy (line 171) | public void destroy() {
method getSeed (line 185) | public long getSeed() {
method writeChunkData (line 189) | private static void writeChunkData(LevelChunk chunk, long ptr) {
class Visibility (line 226) | public static final class Visibility {
method Visibility (line 232) | private Visibility() {}
method isSupported (line 235) | public static boolean isSupported() {
FILE: src/main/java/baritone/process/elytra/NullElytraProcess.java
class NullElytraProcess (line 34) | public final class NullElytraProcess extends BaritoneProcessHelper imple...
method NullElytraProcess (line 36) | public NullElytraProcess(Baritone baritone) {
method repackChunks (line 40) | @Override
method currentDestination (line 45) | @Override
method getPath (line 50) | @Override
method pathTo (line 55) | @Override
method pathTo (line 60) | @Override
method resetState (line 65) | @Override
method isActive (line 70) | @Override
method onTick (line 75) | @Override
method onLostControl (line 80) | @Override
method displayName0 (line 85) | @Override
method isLoaded (line 90) | @Override
method isSafeToCancel
Condensed preview — 396 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,828K chars).
[
{
"path": ".gitattributes",
"chars": 12,
"preview": "* text=auto\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug.md",
"chars": 963,
"preview": "---\nname: Bug report\nabout: Please file a separate report for each issue\ntitle: Please add a brief but descriptive title"
},
{
"path": ".github/ISSUE_TEMPLATE/question.md",
"chars": 400,
"preview": "---\nname: Question\nabout: Please file a separate report for each question\ntitle: Please add a brief but descriptive titl"
},
{
"path": ".github/ISSUE_TEMPLATE/suggestion.md",
"chars": 626,
"preview": "---\nname: Suggestion\nabout: Please file a separate report for each suggestion\ntitle: Please add a brief but descriptive "
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 35,
"preview": "<!-- No UwU's or OwO's allowed -->\n"
},
{
"path": ".github/workflows/gradle_build.yml",
"chars": 995,
"preview": "# This workflow will build a Java project with Gradle\n# For more information see: https://help.github.com/actions/langua"
},
{
"path": ".github/workflows/run_tests.yml",
"chars": 408,
"preview": "\nname: Tests\n\non:\n push:\n pull_request:\n\njobs:\n test:\n\n runs-on: ubuntu-latest\n\n steps:\n - uses: actions/che"
},
{
"path": ".gitignore",
"chars": 497,
"preview": ".DS_Store\n**/*.swp\n\nrun/\nautotest/\ndist/\nvolderyarn/\n\n# Gradle\nbuild/\n.gradle/\nclasses/\n*.class\n\n/out\n\n# IntelliJ Files\n"
},
{
"path": ".gitlab-ci.yml",
"chars": 207,
"preview": "image: java:8\n\nbefore_script:\n - which java\n - which javac\n\nbuild:\n script:\n - ./gradlew build\n - ./gradlew bui"
},
{
"path": ".gitmessage",
"chars": 1176,
"preview": "<emoji> <title> (<ticket>)\n\n# 📝 Update README.md (WD-1234)\n# ✅ Add unit test for inputs (WD-1234)\n\n# <emoji> can be:\n# 🎨"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3672,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
},
{
"path": "Dockerfile",
"chars": 201,
"preview": "FROM ubuntu:focal\n\nENV DEBIAN_FRONTEND noninteractive\n\nRUN apt update -y\n\nRUN apt install \\\n openjdk-17-jdk \\\n\t"
},
{
"path": "FEATURES.md",
"chars": 7094,
"preview": "# Pathing features\n- **Long distance pathing and splicing** Baritone calculates paths in segments, and precalculates the"
},
{
"path": "LICENSE",
"chars": 7651,
"preview": " GNU LESSER GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007"
},
{
"path": "README.md",
"chars": 15843,
"preview": "# Baritone\n<p align=\"center\">\n <a href=\"https://github.com/cabaletta/baritone/releases/\"><img src=\"https://img.shields."
},
{
"path": "SETUP.md",
"chars": 5389,
"preview": "# Installation\n\nThe easiest way to install Baritone is to install it as Forge/Neoforge/Fabric mod, but if you know how y"
},
{
"path": "USAGE.md",
"chars": 8234,
"preview": "(assuming you already have Baritone [set up](SETUP.md))\n\n# Prefix\n\nBaritone's chat control prefix is `#` by default. In "
},
{
"path": "build.gradle",
"chars": 4654,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "buildSrc/.gitignore",
"chars": 20,
"preview": "build/\n.gradle/\nout/"
},
{
"path": "buildSrc/build.gradle",
"chars": 1432,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "buildSrc/src/main/java/baritone/gradle/task/BaritoneGradleTask.java",
"chars": 4453,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "buildSrc/src/main/java/baritone/gradle/task/CreateDistTask.java",
"chars": 3708,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "buildSrc/src/main/java/baritone/gradle/task/ProguardTask.java",
"chars": 9520,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "buildSrc/src/main/java/baritone/gradle/util/Determinizer.java",
"chars": 7010,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "fabric/build.gradle",
"chars": 2774,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "fabric/src/main/resources/fabric.mod.json",
"chars": 743,
"preview": "\n{\n \"schemaVersion\": 1,\n \"id\": \"baritone\",\n \"version\": \"${version}\",\n\n \"name\": \"Baritone\",\n \"description\": \"Google "
},
{
"path": "forge/build.gradle",
"chars": 3256,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "forge/gradle.properties",
"chars": 703,
"preview": "#\n# This file is part of Baritone.\n#\n# Baritone is free software: you can redistribute it and/or modify\n# it under the t"
},
{
"path": "forge/src/main/java/baritone/launch/BaritoneForgeModXD.java",
"chars": 820,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "forge/src/main/resources/META-INF/mods.toml",
"chars": 2024,
"preview": "# This is an example mods.toml file. It contains the data relating to the loading mods.\n# There are several mandatory fi"
},
{
"path": "forge/src/main/resources/pack.mcmeta",
"chars": 79,
"preview": "{\n \"pack\": {\n \"description\": \"null\",\n \"pack_format\": 8\n }\n}"
},
{
"path": "gradle/wrapper/gradle-wrapper.properties",
"chars": 200,
"preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributi"
},
{
"path": "gradle.properties",
"chars": 360,
"preview": "org.gradle.jvmargs=-Xmx4G\n\nmod_version=1.9.5\nmaven_group=baritone\narchives_base_name=baritone\n\njava_version=17\n\nminecraf"
},
{
"path": "gradlew",
"chars": 5774,
"preview": "#!/usr/bin/env sh\n\n#\n# Copyright 2015 the original author or authors.\n#\n# Licensed under the Apache License, Version 2.0"
},
{
"path": "gradlew.bat",
"chars": 2674,
"preview": "@rem\n@rem Copyright 2015 the original author or authors.\n@rem\n@rem Licensed under the Apache License, Version 2.0 (the \""
},
{
"path": "jitpack.yml",
"chars": 119,
"preview": "before_install:\n - curl -s \"https://get.sdkman.io\" | bash\n - sdk install java 17.0.5-tem\n - sdk use java 17.0.5-tem\n"
},
{
"path": "scripts/proguard.pro",
"chars": 15144,
"preview": "-keepattributes Signature\n-keepattributes *Annotation*\n-keepattributes InnerClasses\n\n-optimizationpasses 5\n-verbose\n\n-al"
},
{
"path": "settings.gradle",
"chars": 1556,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/BaritoneAPI.java",
"chars": 1586,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/IBaritone.java",
"chars": 3904,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/IBaritoneProvider.java",
"chars": 4872,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/Settings.java",
"chars": 65061,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/behavior/IBehavior.java",
"chars": 1055,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/behavior/ILookBehavior.java",
"chars": 2028,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/behavior/IPathingBehavior.java",
"chars": 4436,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/behavior/look/IAimProcessor.java",
"chars": 1619,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/behavior/look/ITickableAimProcessor.java",
"chars": 1453,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/cache/IBlockTypeAccess.java",
"chars": 1069,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/cache/ICachedRegion.java",
"chars": 1557,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/cache/ICachedWorld.java",
"chars": 3078,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/cache/IWaypoint.java",
"chars": 3613,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/cache/IWaypointCollection.java",
"chars": 1914,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/cache/IWorldData.java",
"chars": 1296,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/cache/IWorldProvider.java",
"chars": 1222,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/cache/IWorldScanner.java",
"chars": 4486,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/cache/Waypoint.java",
"chars": 2934,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/Command.java",
"chars": 2218,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/IBaritoneChatControl.java",
"chars": 1807,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/ICommand.java",
"chars": 2035,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/ICommandSystem.java",
"chars": 914,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/argparser/IArgParser.java",
"chars": 2144,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/argparser/IArgParserManager.java",
"chars": 2764,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/argument/IArgConsumer.java",
"chars": 26348,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/argument/ICommandArgument.java",
"chars": 3765,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/BlockById.java",
"chars": 2004,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/EntityClassById.java",
"chars": 1897,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/ForAxis.java",
"chars": 1592,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/ForBlockOptionalMeta.java",
"chars": 5788,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/ForDirection.java",
"chars": 1571,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/ForWaypoints.java",
"chars": 3178,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/IDatatype.java",
"chars": 2576,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/IDatatypeContext.java",
"chars": 1461,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/IDatatypeFor.java",
"chars": 1814,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/IDatatypePost.java",
"chars": 1658,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/IDatatypePostFunction.java",
"chars": 943,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/ItemById.java",
"chars": 1970,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/NearbyPlayer.java",
"chars": 2089,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/RelativeBlockPos.java",
"chars": 2163,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/RelativeCoordinate.java",
"chars": 2385,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/RelativeFile.java",
"chars": 4005,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/RelativeGoal.java",
"chars": 2229,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/RelativeGoalBlock.java",
"chars": 2000,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/RelativeGoalXZ.java",
"chars": 1884,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/datatypes/RelativeGoalYLevel.java",
"chars": 1755,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandErrorMessageException.java",
"chars": 1026,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandException.java",
"chars": 1012,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandInvalidArgumentException.java",
"chars": 1567,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandInvalidStateException.java",
"chars": 912,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandInvalidTypeException.java",
"chars": 1593,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandNoParserForTypeException.java",
"chars": 986,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandNotEnoughArgumentsException.java",
"chars": 985,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandNotFoundException.java",
"chars": 1300,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandTooManyArgumentsException.java",
"chars": 978,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/CommandUnhandledException.java",
"chars": 1314,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/exception/ICommandException.java",
"chars": 1825,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/helpers/Paginator.java",
"chars": 7800,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/helpers/TabCompleteHelper.java",
"chars": 10135,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/manager/ICommandManager.java",
"chars": 1532,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/command/registry/Registry.java",
"chars": 6098,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/BlockChangeEvent.java",
"chars": 1400,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/BlockInteractEvent.java",
"chars": 1824,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/ChatEvent.java",
"chars": 1174,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/ChunkEvent.java",
"chars": 2726,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/PacketEvent.java",
"chars": 1641,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/PathEvent.java",
"chars": 1067,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/PlayerUpdateEvent.java",
"chars": 1170,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/RenderEvent.java",
"chars": 1638,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/RotationMoveEvent.java",
"chars": 2476,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/SprintStateEvent.java",
"chars": 1005,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/TabCompleteEvent.java",
"chars": 1059,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/TickEvent.java",
"chars": 2303,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/WorldEvent.java",
"chars": 1559,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/type/Cancellable.java",
"chars": 1117,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/type/EventState.java",
"chars": 988,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/type/ICancellable.java",
"chars": 988,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/events/type/Overrideable.java",
"chars": 1340,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/listener/AbstractGameEventListener.java",
"chars": 2226,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/listener/IEventBus.java",
"chars": 1205,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/event/listener/IGameEventListener.java",
"chars": 4234,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/calc/IPath.java",
"chars": 6313,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/calc/IPathFinder.java",
"chars": 2336,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/calc/IPathingControlManager.java",
"chars": 1442,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/Goal.java",
"chars": 2277,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalAxis.java",
"chars": 1799,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalBlock.java",
"chars": 3226,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalComposite.java",
"chars": 2622,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalGetToBlock.java",
"chars": 2647,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalInverted.java",
"chars": 2226,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalNear.java",
"chars": 3864,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalRunAway.java",
"chars": 5270,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalStrictDirection.java",
"chars": 3365,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalTwoBlocks.java",
"chars": 2874,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalXZ.java",
"chars": 3672,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/goals/GoalYLevel.java",
"chars": 2229,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/movement/ActionCosts.java",
"chars": 3992,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/movement/IMovement.java",
"chars": 1426,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/movement/MovementStatus.java",
"chars": 1876,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/pathing/path/IPathExecutor.java",
"chars": 904,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/IBaritoneProcess.java",
"chars": 4521,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/IBuilderProcess.java",
"chars": 3332,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/ICustomGoalProcess.java",
"chars": 1449,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/IElytraProcess.java",
"chars": 1679,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/IExploreProcess.java",
"chars": 938,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/IFarmProcess.java",
"chars": 1470,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/IFollowProcess.java",
"chars": 1694,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/IGetToBlockProcess.java",
"chars": 1165,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/IMineProcess.java",
"chars": 3348,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/PathingCommand.java",
"chars": 1684,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/process/PathingCommandType.java",
"chars": 1872,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/AbstractSchematic.java",
"chars": 1243,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/CompositeSchematic.java",
"chars": 3015,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/CompositeSchematicEntry.java",
"chars": 1070,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/FillSchematic.java",
"chars": 1738,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/ISchematic.java",
"chars": 3514,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/ISchematicSystem.java",
"chars": 1554,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/IStaticSchematic.java",
"chars": 2202,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/MaskSchematic.java",
"chars": 1963,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/MirroredSchematic.java",
"chars": 3293,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/ReplaceSchematic.java",
"chars": 1828,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/RotatedSchematic.java",
"chars": 4388,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/ShellSchematic.java",
"chars": 1139,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/SubstituteSchematic.java",
"chars": 3929,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/WallsSchematic.java",
"chars": 1107,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/format/ISchematicFormat.java",
"chars": 1508,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/mask/AbstractMask.java",
"chars": 1306,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/mask/Mask.java",
"chars": 1955,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/mask/PreComputedMask.java",
"chars": 1456,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/mask/StaticMask.java",
"chars": 3128,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/mask/operator/BinaryOperatorMask.java",
"chars": 2913,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/mask/operator/NotMask.java",
"chars": 1783,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/mask/shape/CylinderMask.java",
"chars": 2518,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/schematic/mask/shape/SphereMask.java",
"chars": 2279,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/selection/ISelection.java",
"chars": 3175,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/selection/ISelectionManager.java",
"chars": 4384,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/BetterBlockPos.java",
"chars": 8242,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/BlockOptionalMeta.java",
"chars": 12498,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/BlockOptionalMetaLookup.java",
"chars": 3180,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/BlockUtils.java",
"chars": 2607,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/BooleanBinaryOperator.java",
"chars": 870,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/BooleanBinaryOperators.java",
"chars": 1159,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/Helper.java",
"chars": 8954,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/IInputOverrideHandler.java",
"chars": 1047,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/IPlayerContext.java",
"chars": 4326,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/IPlayerController.java",
"chars": 2053,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/MyChunkPos.java",
"chars": 1044,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/NotificationHelper.java",
"chars": 3126,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/Pair.java",
"chars": 1500,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/PathCalculationResult.java",
"chars": 1462,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/RayTraceUtils.java",
"chars": 2719,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/Rotation.java",
"chars": 5110,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/RotationUtils.java",
"chars": 13972,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/SettingsUtil.java",
"chars": 13665,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/TypeUtils.java",
"chars": 1496,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/VecUtils.java",
"chars": 4790,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/accessor/IItemStack.java",
"chars": 799,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/gui/BaritoneToast.java",
"chars": 3385,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/input/Input.java",
"chars": 1445,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/api/java/baritone/api/utils/interfaces/IGoalRenderPos.java",
"chars": 842,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/launch/java/baritone/launch/BaritoneMixinConnector.java",
"chars": 1003,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
},
{
"path": "src/launch/java/baritone/launch/mixins/MixinChunkArray.java",
"chars": 2799,
"preview": "/*\n * This file is part of Baritone.\n *\n * Baritone is free software: you can redistribute it and/or modify\n * it under "
}
]
// ... and 196 more files (download for full content)
About this extraction
This page contains the full source code of the cabaletta/baritone GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 396 files (1.7 MB), approximately 400.4k tokens, and a symbol index with 2889 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.