azalea/README.md

41 lines
1.2 KiB
Markdown
Raw Normal View History

2021-12-16 05:10:55 +00:00
# Azalea
2022-06-17 23:13:34 +00:00
A collection of Rust crates primarily for creating Minecraft bots.
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
## ⚠️ Azalea is still very unfinished, though some 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-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.
2022-05-10 00:14:13 +00:00
- Bypass most/all anticheats.
- 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.
- Having branches for several popular Minecraft versions.