# cabaletta/baritone

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cabaletta-baritone).**

8,661 stars · 1,785 forks · Java · lgpl-3.0

## Links

- GitHub: https://github.com/cabaletta/baritone
- awesome-repositories: https://awesome-repositories.com/repository/cabaletta-baritone.md

## Topics

`astar` `astar-algorithm` `astar-pathfinding` `forgegradle` `gradle` `impact` `java` `minecraft` `pathfinding`

## Description

Baritone is a pathfinding library and automation bot for Minecraft. It provides a programmatic navigation engine that implements A* pathfinding to calculate and execute movement paths for characters within three-dimensional block-based environments.

The system distinguishes itself through a navigation API that allows external clients to embed movement logic and waypoint management. It features a command-based configuration interface for modifying settings via chat and employs memory-mapped environment caching to accelerate the retrieval of long-distance routes.

Its capabilities cover a wide range of autonomous tasks, including resource extraction, crop farming, and the construction of structures from saved schematic files. The engine handles complex movement maneuvers such as bridging, climbing, and aerial navigation while performing terrain analysis to avoid environmental hazards.

The project is written in Java.

## Tags

### Education & Learning Resources

- [Pathfinding](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/data-ordering-and-retrieval/pathfinding.md) — Implements an A* coordinate-based routing system to find efficient paths through 3D block-based environments.

### Game Development

- [Character Automation](https://awesome-repositories.com/f/game-development/character-automation.md) — Controls a character to move to specific coordinates, follow entities, or traverse long distances automatically.
- [Coordinate-Based Movement](https://awesome-repositories.com/f/game-development/coordinate-based-movement.md) — Executes paths to precise X, Y, and Z coordinates to move a character to a specific location. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/README.md))
- [Cost-Based Terrain Analysis](https://awesome-repositories.com/f/game-development/cost-based-terrain-analysis.md) — Assigns numerical weights to block types to determine the safest and most efficient paths while avoiding hazards.
- [Game Automation Bots](https://awesome-repositories.com/f/game-development/game-automation-bots.md) — Provides a bot that autonomously executes repetitive in-game tasks like farming, mining, and construction.
- [Navigation APIs](https://awesome-repositories.com/f/game-development/navigation-apis.md) — Offers a programmatic navigation engine and API for external clients to embed movement and waypoint logic.
- [Navigation Library Embeddings](https://awesome-repositories.com/f/game-development/navigation-library-embeddings.md) — Provides a programmatic navigation engine that external clients can embed to automate movement and routing. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/README.md))
- [3D Coordinate Calculation](https://awesome-repositories.com/f/game-development/path-trajectory-calculators/3d-coordinate-calculation.md) — Calculates optimal 3D paths through block environments to navigate characters to target destinations. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/gradle.properties))
- [Pathfinding Integration](https://awesome-repositories.com/f/game-development/pathfinding-integration.md) — Embedding a programmatic navigation engine into custom clients to handle complex 3D movement and routing.
- [Pathfinding Libraries](https://awesome-repositories.com/f/game-development/pathfinding-libraries.md) — Provides a programmatic navigation engine for calculating and executing character movement paths in Minecraft.
- [Pathfinding Library Integrations](https://awesome-repositories.com/f/game-development/pathfinding-library-integrations.md) — Offers programmatic navigation and route configuration capabilities for integration into custom software clients. ([source](https://github.com/cabaletta/baritone#readme))
- [Resource Gathering Automation](https://awesome-repositories.com/f/game-development/resource-gathering-automation.md) — Provides automatic locating and mining of block types and harvesting of crops to collect materials.
- [Schematic-Based Construction](https://awesome-repositories.com/f/game-development/schematic-based-construction.md) — Implements automated building of complex shapes and structures using saved schematic layout files.
- [State-Driven Movement Execution](https://awesome-repositories.com/f/game-development/state-driven-movement-execution.md) — Translates calculated paths into a sequence of physical actions like jumping, climbing, and bridging.
- [Automatic Crop Farming](https://awesome-repositories.com/f/game-development/automatic-crop-farming.md) — Automates the harvesting, replanting, and fertilizing of crops within a defined area. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/USAGE.md))
- [Automatic Resource Extraction](https://awesome-repositories.com/f/game-development/automatic-resource-extraction.md) — Locates specific block types and navigates to them for automatic mining and collection. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/USAGE.md))
- [Autonomous Environment Exploration](https://awesome-repositories.com/f/game-development/autonomous-environment-exploration.md) — Automates mapping of the world by pathing to unseen regions.
- [Complex Movement Maneuvers](https://awesome-repositories.com/f/game-development/complex-movement-maneuvers.md) — Handles complex physical interactions including jumping gaps, climbing ladders, and opening doors. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/FEATURES.md))
- [Entity Tracking and Following](https://awesome-repositories.com/f/game-development/entity-tracking-and-following.md) — Tracks and maintains a set distance from specific players or entity types to move in tandem. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/USAGE.md))
- [Environmental Hazard Avoidance](https://awesome-repositories.com/f/game-development/environmental-hazard-avoidance.md) — Analyzes block types and liquids to prevent movement through hazards like fire and lava. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/FEATURES.md))
- [Interaction-Based Pathing](https://awesome-repositories.com/f/game-development/interaction-based-pathing.md) — Determines efficient paths by calculating the cost of breaking or placing blocks to create bridges. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/FEATURES.md))
- [Schematic-Based Construction](https://awesome-repositories.com/f/game-development/level-construction/schematic-based-construction.md) — Constructs structures by placing blocks according to a saved layout file starting from a specified origin point. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/USAGE.md))
- [Schematic-Based Block Placement](https://awesome-repositories.com/f/game-development/schematic-based-block-placement.md) — Interprets saved layout files to automate the placement of blocks relative to a specific origin point.
- [Segmented Long-Distance Routing](https://awesome-repositories.com/f/game-development/segmented-long-distance-routing.md) — Breaks distant destinations into smaller manageable legs to maintain continuous movement without overloading memory.
- [Tunnel Excavation](https://awesome-repositories.com/f/game-development/tunnel-excavation.md) — Automatically clears a rectangular volume of blocks to create a passage or narrow path through solid terrain. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/USAGE.md))
- [Unseen Terrain Exploration](https://awesome-repositories.com/f/game-development/unseen-terrain-exploration.md) — Paths toward the nearest unexplored areas to map the environment using filters to target specific regions. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/USAGE.md))
- [Waypoint Management](https://awesome-repositories.com/f/game-development/waypoint-management.md) — Saves and recalls specific coordinates to use as navigation goals for returning to important locations. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/USAGE.md))

### Scientific & Mathematical Computing

- [Pathfinding Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/numerical-mathematical-foundations/algorithms-and-complexity/pathfinding-algorithms.md) — Implements an A* pathfinding algorithm to calculate the shortest route through a 3D grid of blocks.

### Data & Databases

- [Pathfinding Data Caches](https://awesome-repositories.com/f/data-databases/in-memory-caches/pathfinding-data-caches.md) — Stores simplified environment data in memory or on disk to accelerate long-distance route calculation. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/FEATURES.md))

### Development Tools & Productivity

- [Chat-Based Administration Interfaces](https://awesome-repositories.com/f/development-tools-productivity/chat-based-administration-interfaces.md) — Executes commands and modifies settings by processing prefixed text entered directly into the game communication interface. ([source](https://github.com/cabaletta/baritone/blob/1.19.4/USAGE.md))
- [Slash Command Interfaces](https://awesome-repositories.com/f/development-tools-productivity/slash-command-interfaces.md) — Provides a command-based interface using slash-prefixed text to modify settings and trigger automation routines.

### Software Engineering & Architecture

- [Environment Caching](https://awesome-repositories.com/f/software-engineering-architecture/environment-caching.md) — Employs memory-mapped environment caching to accelerate the retrieval of paths for recurring long-distance routes.

### User Interface & Experience

- [Dynamic Target Tracking](https://awesome-repositories.com/f/user-interface-experience/component-utilities/animation-engines/animation-targets/dynamic-target-tracking.md) — Dynamically updates navigation goals in real-time to follow the coordinates of other players or entities.
