aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xREADME.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/README.md b/README.md
index ed6ed46f..6502b0ae 100755
--- a/README.md
+++ b/README.md
@@ -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;
+}
+```