From 9b2bd09dcc57add44b96517e2b7be598063c8a4f Mon Sep 17 00:00:00 2001 From: Alexander Medvedev Date: Thu, 16 Apr 2026 20:50:36 +0200 Subject: [PATCH] fix: rust 1.95 lints --- Cargo.toml | 2 +- pumpkin-codecs/src/json_ops.rs | 22 ++++++++++------------ pumpkin/src/block/blocks/plant/bamboo.rs | 17 +++++++++++------ 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 8a4c8dc40..7de9d01b0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,7 +73,7 @@ struct_excessive_bools = "allow" [workspace.package] version = "0.1.0-dev+26.1" edition = "2024" -rust-version = "1.94" +rust-version = "1.95" license = "GPL-3.0" [profile.release] diff --git a/pumpkin-codecs/src/json_ops.rs b/pumpkin-codecs/src/json_ops.rs index 11c595e9f..76d4040a8 100644 --- a/pumpkin-codecs/src/json_ops.rs +++ b/pumpkin-codecs/src/json_ops.rs @@ -119,19 +119,17 @@ impl DynamicOps for JsonOps { DataResult::new_success, ); } - Value::String(string) => { - if self.compressed { - if let Ok(i) = string.parse::() { - return DataResult::new_success(Number::Int(i)); - } - if let Ok(l) = string.parse::() { - return DataResult::new_success(Number::Long(l)); - } - if let Ok(d) = string.parse::() { - return DataResult::new_success(Number::Double(d)); - } - return DataResult::new_error(format!("Number could not be parsed: {string}")); + Value::String(string) if self.compressed => { + if let Ok(i) = string.parse::() { + return DataResult::new_success(Number::Int(i)); } + if let Ok(l) = string.parse::() { + return DataResult::new_success(Number::Long(l)); + } + if let Ok(d) = string.parse::() { + return DataResult::new_success(Number::Double(d)); + } + return DataResult::new_error(format!("Number could not be parsed: {string}")); } _ => {} } diff --git a/pumpkin/src/block/blocks/plant/bamboo.rs b/pumpkin/src/block/blocks/plant/bamboo.rs index d2be6fb3b..87f0eec29 100644 --- a/pumpkin/src/block/blocks/plant/bamboo.rs +++ b/pumpkin/src/block/blocks/plant/bamboo.rs @@ -251,21 +251,26 @@ async fn count_bamboo_above(world: Arc, pos: &BlockPos) -> usize { async fn bone_meal(world: Arc, position: &BlockPos) { let mut bamboo_above = count_bamboo_above(Arc::clone(&world), position).await; let bamboo_below = count_bamboo_below(Arc::clone(&world), position).await; - let mut new_height = bamboo_above + bamboo_below + 1; - let l = rand::rng().random_range(0..=2) + 1; // what is this? - for _ in 0..l { + + let growth_amount = rand::rng().random_range(1..=3); + + for _ in 0..growth_amount { + let current_total_height = bamboo_above + bamboo_below + 1; + let next_pos = position.up_height(bamboo_above as i32); let next_state = world.get_block_state(&next_pos).await; - if !next_state.is_air() || new_height >= 16 { + + if !next_state.is_air() || current_total_height >= 16 { return; } - let next_props = BambooLikeProperties::from_state_id(next_state.id, &Block::BAMBOO); + let next_props = BambooLikeProperties::from_state_id(next_state.id, &Block::BAMBOO); if next_props.stage == Integer0To1::L1 { return; } + update_leaves_and_grow(Arc::clone(&world), position).await; - new_height += 1; + bamboo_above += 1; } }