azalea/README.md

47 lines
1.7 KiB
Markdown
Raw Normal View History

2021-12-16 05:10:55 +00:00
# Azalea
2022-10-30 20:05:54 +00:00
[![docs.rs](https://img.shields.io/docsrs/azalea)](https://docs.rs/azalea)
2022-10-30 20:05:14 +00:00
2022-10-15 22:47:41 +00:00
A collection of Rust crates for making Minecraft bots, clients, and tools.
2022-05-15 01:47:37 +00:00
2022-05-01 20:22:28 +00:00
<p align="center">
<img src="https://cdn.matdoes.dev/images/flowering_azalea.webp" alt="Azalea" height="200">
</p>
2021-12-20 21:22:02 +00:00
2022-05-25 01:28:08 +00:00
<!-- The line below is automatically read and updated by the migrate script, so don't change it manually. -->
*Currently supported Minecraft version: `1.19.2`.*
2022-05-25 01:28:08 +00:00
2022-10-31 15:56:15 +00:00
## ⚠️ Azalea is still very unfinished, though most crates are in a somewhat useable state
2022-07-18 21:55:55 +00:00
Physics (#11) * Put physics module in azalea-entity * port aabb * add more stuff to PositionXYZ * azalea-physics * important collision things * more physics stuff * backup because i'm about to delete shapes * more shape stuff * CubeVoxelShape * no compile errors??? insane * impl VoxelShape for ArrayVoxelShape * Shapes stuff * collide_x but it doesn't work yet * binary_search * it compiles * Entity has bounding box * Update discrete_voxel_shape.rs * Entity::make_bounding_box * ok i'm about to merge az-entity and az-world might be a terrible idea which is why i'm committing first * ok so i moved entity to world * on_pos and move_entity compiles * add send_position * move collision stuff to collision module in az-physics * dimension is no longer an Option * start trying to do collision for the client * collision works :tada: * start adding palette resizing * get_and_set (pain) * it compiles but probably won't work * add a test * remove printlns * add more tests for palette stuff * ClientboundMoveVec3Packet -> ClientboundMoveEntityPosPacket i think i changed this on accident once * palette resizing works todo: remove the printlns * Remove printlns in palette.rs * fix issues from merge * fixes + work a bit more on physics * Better entities (#19) * well it compiles * add tests to entity storage * add suggestions in azalea-brigadier * this probably causes ub * fix brigadiersuggestions * get rid of entityid * test From<EntityMut> for EntityRef * don't mention other libraries since there's too many * fix warnings * do todos in brigadier suggestions * work on physics * more physics stuff * remove trait feature on az-block i think rust gets confused and compiles the macro without the feature * bump ahash * aes tests in az-crypto * optimize aes's deps * fix crashes * fix section_index for negative numbers and test * fix BlockPos protocol implementation * remove some debug prints * prepare to add ai_step * make ai step work * clippy
2022-08-30 01:41:01 +00:00
I named this Azalea because it sounds like a cool word and this is a cool library.
This project was heavily inspired by [PrismarineJS](https://github.com/PrismarineJS).
2021-12-16 05:26:15 +00:00
2022-12-04 04:04:39 +00:00
## Matrix/Discord
If you'd like to chat about Azalea, you can join the Matrix space at [#azaleamc:matrix.org](https://matrix.to/#/#azaleamc:matrix.org) or the Discord server at [discord.gg/FaRey6ytmC](https://discord.gg/FaRey6ytmC).
2022-12-04 04:04:39 +00:00
2022-05-02 23:07:06 +00:00
## Why
I wanted a fun excuse to do something cool with Rust, and I also felt like I could do better than [Mineflayer](https://github.com/prismarinejs/mineflayer) in some areas.
2021-12-16 05:26:15 +00:00
## Goals
2022-05-10 00:14:13 +00:00
- Do everything a vanilla client can do.
2022-05-15 01:50:20 +00:00
- Be intuitive and easy to use.
- Make it easy to have many bots working at the same time.
- Don't trigger anticheats.
2022-05-10 00:14:13 +00:00
- Support the latest Minecraft version.
- Be fast and memory efficient.
2022-04-25 16:18:12 +00:00
2022-07-30 23:00:54 +00:00
## Non-goals
- Supporting several versions of Minecraft on the same branch.
- Bedrock edition.
2022-07-30 23:00:54 +00:00
- Graphics.
## Stretch goals
- Server implementation. (if you're interested in making this then please contact me, I'd love for it to be a thing. [@mat:matdoes.dev](https://matrix.to/#/@mat:matdoes.dev) / mat#1592)
- Having branches for several popular Minecraft versions.