From 0d16f01571ec8315f3979eae46981e559ade1cf9 Mon Sep 17 00:00:00 2001 From: mat <27899617+mat-1@users.noreply.github.com> Date: Fri, 10 Jan 2025 16:45:27 -0600 Subject: Fluid physics (#199) * start implementing fluid physics * Initial implementation of fluid pushing * different travel function in water * bubble columns * jumping in water * cleanup * change ultrawarm to be required * fix for clippy --- azalea/src/auto_tool.rs | 10 +++++++--- azalea/src/pathfinder/mining.rs | 4 +++- azalea/src/pathfinder/simulation.rs | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'azalea/src') diff --git a/azalea/src/auto_tool.rs b/azalea/src/auto_tool.rs index 768d3089..9aea23d7 100644 --- a/azalea/src/auto_tool.rs +++ b/azalea/src/auto_tool.rs @@ -1,8 +1,7 @@ -use azalea_block::{Block, BlockState}; +use azalea_block::{fluid_state::FluidKind, Block, BlockState}; use azalea_client::{inventory::Inventory, Client}; use azalea_entity::{FluidOnEyes, Physics}; use azalea_inventory::{components, ItemStack, Menu}; -use azalea_registry::Fluid; #[derive(Debug)] pub struct BestToolResult { @@ -34,7 +33,12 @@ pub fn best_tool_in_hotbar_for_block(block: BlockState, menu: &Menu) -> BestTool let mut physics = Physics::default(); physics.set_on_ground(true); - accurate_best_tool_in_hotbar_for_block(block, menu, &physics, &FluidOnEyes::new(Fluid::Empty)) + accurate_best_tool_in_hotbar_for_block( + block, + menu, + &physics, + &FluidOnEyes::new(FluidKind::Empty), + ) } pub fn accurate_best_tool_in_hotbar_for_block( diff --git a/azalea/src/pathfinder/mining.rs b/azalea/src/pathfinder/mining.rs index 62963306..8c1b2e1d 100644 --- a/azalea/src/pathfinder/mining.rs +++ b/azalea/src/pathfinder/mining.rs @@ -1,6 +1,8 @@ use std::{cell::UnsafeCell, ops::RangeInclusive}; -use azalea_block::{properties::Waterlogged, BlockState, BlockStateIntegerRepr, BlockStates}; +use azalea_block::{ + block_state::BlockStateIntegerRepr, properties::Waterlogged, BlockState, BlockStates, +}; use azalea_inventory::Menu; use nohash_hasher::IntMap; diff --git a/azalea/src/pathfinder/simulation.rs b/azalea/src/pathfinder/simulation.rs index 630dd591..1f29ad24 100644 --- a/azalea/src/pathfinder/simulation.rs +++ b/azalea/src/pathfinder/simulation.rs @@ -38,6 +38,7 @@ impl SimulatedPlayerBundle { attributes: Attributes { speed: AttributeInstance::new(0.1), attack_speed: AttributeInstance::new(4.0), + water_movement_efficiency: AttributeInstance::new(0.0), }, inventory: Inventory::default(), } -- cgit v1.2.3