* Determine rust channel by parsing rustc output The RUSTUP_TOOLCHAIN environment variable might not always be present. This is the case for e.g. NixOS where rust is routinely not installed via rustup, thus not setting this env var, causing build failures. Instead, build.rs will now run `rustc -V` and check if the output contains the word "nightly". * Check env vars first, fall back to rustc in $PATH * Try to check RUSTUP_TOOLCHAIN first |
||
---|---|---|
.cargo | ||
.github | ||
azalea | ||
azalea-auth | ||
azalea-block | ||
azalea-brigadier | ||
azalea-buf | ||
azalea-chat | ||
azalea-client | ||
azalea-core | ||
azalea-crypto | ||
azalea-entity | ||
azalea-inventory | ||
azalea-language | ||
azalea-physics | ||
azalea-protocol | ||
azalea-registry | ||
azalea-world | ||
codegen | ||
.gitignore | ||
.gitpod.yml | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE.md | ||
README.md | ||
rust-toolchain | ||
rustfmt.toml |
Azalea
A collection of Rust crates for making Minecraft bots, clients, and tools.
Currently supported Minecraft version: 1.21
.
Warning
Azalea is still very unfinished, though most crates are in a somewhat useable state
Features
- Accurate physics (but some features like entity collisions and water physics aren't yet implemented)
- Pathfinder
- Swarms
- Breaking blocks
- Block interactions & building (this doesn't predict the block interactions/placement on the client yet but it's usually fine)
- Inventories
- Attacking entities (but you can't get the entity at the crosshair yet)
Docs
The "stable" documentation is available at docs.rs/azalea and the unstable docs are at azalea.matdoes.dev (recommended).
Matrix/Discord
If you'd like to chat about Azalea, you can join the Matrix space at #azalea:matdoes.dev (recommended) or the Discord server at discord.gg/FaRey6ytmC (they're bridged so you don't need to join both).
Goals
- Do everything a vanilla client can do.
- Be intuitive and easy to use.
- Make it easy to have many bots working at the same time.
- Don't trigger anticheats.
- Support the latest Minecraft version.
- Be fast and memory efficient.
Non-goals
- Supporting several versions of Minecraft on the same branch*.
- Bedrock edition.
- Graphics.
Branches
There are several branches in the Azalea repository that target older Minecraft versions. Most of them are severely outdated compared to the latest version of Azalea. If you'd like to update them or add more, please open a PR.