* start adding azalea-inventory * design more of how inventories are defined * start working on az-inv-macros * inventory macro works * start adding inventory codegen * update some deps * add inventory codegen * manually write inventory menus * put the inventories in Client * start on containersetcontent * inventory menu should hopefully work * checks in containersetcontent * format a comment * move some variant matches * inventory.rs * inventory stuff * more inventory stuff * inventory/container tracking works * start adding interact function * sequence number * start adding HitResultComponent * implement traverse_blocks * start adding clip * add clip function * update_hit_result_component * start trying to fix * fix * make some stuff simpler * clippy * lever * chest * container handle * fix ambiguity * fix some doc tests * move some container stuff from az-client to azalea * clicking container * start implementing simulate_click * keep working on simulate click * implement more of simulate_click this is really boring * inventory fixes * start implementing shift clicking * fix panic in azalea-chat i hope * shift clicking implemented * more inventory stuff * fix items not showing in containers sometimes * fix test * fix all warnings * remove a println --------- Co-authored-by: mat <git@matdoes.dev> |
||
---|---|---|
.cargo | ||
.github | ||
.vscode | ||
azalea | ||
azalea-auth | ||
azalea-block | ||
azalea-brigadier | ||
azalea-buf | ||
azalea-chat | ||
azalea-client | ||
azalea-core | ||
azalea-crypto | ||
azalea-inventory | ||
azalea-language | ||
azalea-nbt | ||
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.19.4
.
⚠️ Azalea is still very unfinished, though most crates are in a somewhat useable state
Docs
The "stable" documentation is available at docs.rs/azalea and the unstable docs are at azalea.matdoes.dev
Matrix/Discord
If you'd like to chat about Azalea, you can join the Matrix space at #azalea:matdoes.dev or the Discord server at discord.gg/FaRey6ytmC.
Why
This project was heavily inspired by PrismarineJS. I wanted a fun excuse to do something cool with Rust, and I also felt like I could do better than Mineflayer in some areas. Also it's named Azalea because it sounds like a cool word and this is a cool library.
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.
Stretch goals
- Server implementation.
Branches
There are several branches in the Azalea repository that target older Minecraft versions. It is not guaranteed that they will be up-to-date with the latest version of Azalea. If you'd like to update them or add more, please open a PR.