From c9b4dccd7eaeed68ce96cf5167916417d0baa6a7 Mon Sep 17 00:00:00 2001 From: mat <27899617+mat-1@users.noreply.github.com> Date: Sun, 2 Oct 2022 12:29:47 -0500 Subject: All block shapes & collisions (#22) * start adding shapes * add more collision stuff * DiscreteCubeMerger * more mergers * start adding BitSetDiscreteVoxelShape::join * i love rust :smiley: :smiley: :smiley: * r * IT COMPILES???? * fix warning * fix error * fix more clippy issues * add box_shape * more shape stuff * make DiscreteVoxelShape an enum * Update shape.rs * also make VoxelShape an enum * implement BitSet::clear * add more missing things * it compiles W * start block shape codegen * optimize shape codegen * make az-block/blocks.rs look better (broken) * almost new block macro * make the codegen not generate 'type' * try to fix * work more on the blocks macro * wait it compiles * fix clippy issues * shapes codegen works * well it's almost working * simplify some shape codegen * enum type names are correct * W it compiles * cargo check no longer warns * fix some clippy issues * start making it so the shape impl is on BlockStates * insane code * new impl compiles * fix wrong find_bits + TESTS PASS! * add a test for slab collision * fix clippy issues * ok rust * fix error that happens when on stairs * add test for top slabs * start adding join_is_not_empty * add more to join_is_not_empty * top slabs still don't work!! * x..=0 doesn't work in rust :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: :smiley: * remove comment since i added more useful names * remove some printlns * fix walls in some configurations erroring * fix some warnings * change comment to \`\`\`ignore instead of \`\`\`no_run * players are .6 wide not .8 * fix clippy's complaints * i missed one clippy warning --- azalea-client/src/client.rs | 12 +----------- azalea-client/src/movement.rs | 5 +++-- 2 files changed, 4 insertions(+), 13 deletions(-) (limited to 'azalea-client/src') diff --git a/azalea-client/src/client.rs b/azalea-client/src/client.rs index f3229e76..cca932c0 100644 --- a/azalea-client/src/client.rs +++ b/azalea-client/src/client.rs @@ -1,6 +1,5 @@ use crate::{movement::MoveDirection, Account, Player}; use azalea_auth::game_profile::GameProfile; -use azalea_block::BlockState; use azalea_chat::component::Component; use azalea_core::{ChunkPos, ResourceLocation, Vec3}; use azalea_protocol::{ @@ -618,17 +617,8 @@ impl Client { } ClientboundGamePacket::BlockUpdate(p) => { debug!("Got block update packet {:?}", p); - // TODO: update world let mut dimension = client.dimension.lock()?; - // dimension.get_block_state(pos) - if let Ok(block_state) = BlockState::try_from(p.block_state) { - dimension.set_block_state(&p.pos, block_state); - } else { - warn!( - "Non-existent block state for block update packet {:?}", - p.block_state - ); - } + dimension.set_block_state(&p.pos, p.block_state); } ClientboundGamePacket::Animate(p) => { debug!("Got animate packet {:?}", p); diff --git a/azalea-client/src/movement.rs b/azalea-client/src/movement.rs index 0a4a05e8..193f2017 100644 --- a/azalea-client/src/movement.rs +++ b/azalea-client/src/movement.rs @@ -180,7 +180,8 @@ impl Client { let mut forward_impulse: f32 = 0.; let mut left_impulse: f32 = 0.; - match physics_state.move_direction { + let move_direction = physics_state.move_direction; + match move_direction { MoveDirection::Forward | MoveDirection::ForwardRight | MoveDirection::ForwardLeft => { forward_impulse += 1.; } @@ -191,7 +192,7 @@ impl Client { } _ => {} }; - match physics_state.move_direction { + match move_direction { MoveDirection::Right | MoveDirection::ForwardRight | MoveDirection::BackwardRight => { left_impulse += 1.; } -- cgit v1.2.3