write example code

This commit is contained in:
mat 2022-04-25 16:18:12 +00:00
parent d6f0449344
commit b9c874249f

View file

@ -11,3 +11,59 @@ I named this Azalea because it sounds like a cool word and this is a cool librar
- Bypass most/all anticheats
- Support the latest Minecraft version
- Be fast
## Example code
Note that this doesn't work yet, it's just how I want the API to look.
```rs
use azalea::{Bot, Event};
let bot = Bot::offline("bot");
// or let bot = azalea::Bot::microsoft("access token").await;
bot.join("localhost".try_into().unwrap()).await.unwrap();
loop {
match bot.recv().await {
Event::Message(m) {
if m.username == bot.username { return };
bot.chat(m.message).await;
},
Event::Kicked(m) {
println!(m);
bot.reconnect().await.unwrap();
},
_ => {}
}
}
```
You can use the `azalea::Bots` struct to control many bots as one unit.
```rs
use azalea::{Bot, Bots, Event, pathfinder};
#[tokio::main]
async fn main() {
let bots = Bots::new();
for i in 0..10 {
bots.add(Bot::offline(format!("bot{}", i)));
}
bots.join("localhost".try_into().unwrap()).await.unwrap();
bots.goto(pathfinder::GotoGoal(azalea::BlockCoord(0, 70, 0))).await;
// destroy the blocks in this area and then leave
bots.fill(
pathfinder::FillGoal(
azalea::BlockCoord(-5, 60, -5),
azalea::BlockCoord(5, 70, 5)
),
azalea::block::Air
).await;
}
```