aboutsummaryrefslogtreecommitdiff
path: root/bot/src/main.rs
blob: 2686636b18f04223b8f93ba837acbd2a7339ec72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use azalea_client::{Account, Event};
use azalea_core::{BlockPos, ChunkPos};

#[tokio::main]
async fn main() {
    println!("Hello, world!");

    // let address = "95.111.249.143:10000";
    let address = "172.23.192.1:61385";
    // let response = azalea_client::ping::ping_server(&address.try_into().unwrap())
    //     .await
    //     .unwrap();

    // println!("{}", response.description.to_ansi(None));
    let account = Account::offline("bot");
    let mut client = account.join(&address.try_into().unwrap()).await.unwrap();
    println!("connected");

    while let Some(e) = client.next().await {
        match e {
            // TODO: have a "loaded" or "ready" event that fires when all chunks are loaded
            Event::Login => {}
            Event::Chat(p) => {
                println!("{}", p.message.to_ansi(None));
                if p.message.to_ansi(None) == "<py5> ok" {
                    let state = client.state.lock().await;
                    let world = state.world.as_ref().unwrap();
                    // let c = world[&BlockPos::new(5, 78, -2)]
                    //     .as_ref()
                    //     .unwrap()
                    //     .lock()
                    //     .unwrap();
                    // println!("{:?}", c);
                }
            }
        }
    }

    println!("done");
}