From f42d630544165d11a544224ac273d6aaf89d8095 Mon Sep 17 00:00:00 2001 From: mat <27899617+mat-1@users.noreply.github.com> Date: Mon, 29 Aug 2022 20:41:01 -0500 Subject: 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 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 --- bot/src/main.rs | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) (limited to 'bot/src') diff --git a/bot/src/main.rs b/bot/src/main.rs index 0f3ea31a..c8f6bea7 100644 --- a/bot/src/main.rs +++ b/bot/src/main.rs @@ -1,12 +1,14 @@ +#![allow(unused_variables, unused_imports)] use azalea_client::{Account, Event}; -use azalea_core::PositionXYZ; +use azalea_core::{PositionXYZ, Vec3}; +use azalea_physics::collision::{HasCollision, MoverType}; #[tokio::main] async fn main() -> Result<(), Box> { println!("Hello, world!"); // let address = "95.111.249.143:10000"; - let address = "localhost:25565"; + let address = "localhost"; // let response = azalea_client::ping::ping_server(&address.try_into().unwrap()) // .await // .unwrap(); @@ -38,19 +40,31 @@ async fn main() -> Result<(), Box> { // // println!("block state: {:?}", c); // // } // } - Event::Chat(_m) => { - let new_pos = { - let dimension_lock = client.dimension.lock().unwrap(); - let dimension = dimension_lock.as_ref().unwrap(); - let player = client.player.lock().unwrap(); - let entity = player - .entity(dimension) - .expect("Player entity is not in world"); - entity.pos().add_y(0.5) - }; - - println!("{:?}", new_pos); - client.move_to(new_pos).await.unwrap(); + Event::Chat(m) => { + // let new_pos = { + // let dimension_lock = client.dimension.lock().unwrap(); + // let player = client.player.lock().unwrap(); + // let entity = player + // .entity(&dimension_lock) + // .expect("Player entity is not in world"); + // entity.pos().add_y(-0.5) + // }; + + // println!("{:?}", new_pos); + // client.set_pos(new_pos).await.unwrap(); + // client.move_entity() + + // println!("{}", m.to_ansi(None)); + if let Err(e) = client + .move_entity(&Vec3 { + x: 0., + y: -0.5, + z: 0., + }) + .await + { + eprintln!("{:?}", e); + } } _ => {} } -- cgit v1.2.3