Use structs for PumpkinBlock trait function arguments (#962)

* Make all arguments structs

* use_with_item

* use_with_item

* explode

* on_synced_block_event

* on_place

* random_tick

* remove lifetime names

* can_place_at

* can_update_at

* placed

* player_placed

* broken

* on_neighbor_update

* prepare

* get_state_for_neighbor_update

* on_scheduled_tick

* on_state_replaced

* emits_redstone_power

* get_weak_redstone_power/get_strong_redstone_power

* get_comparator_output

* remove BlockDirection borrow

* #939
This commit is contained in:
とぴ。(おーけ
2025-07-03 16:37:18 +09:00
committed by GitHub
parent 70dd33eb09
commit 8ee7150715
86 changed files with 2393 additions and 4295 deletions

View File

@@ -1194,7 +1194,7 @@ impl Player {
.await;
server
.block_registry
.broken(Arc::clone(world), block, self, location, server, state)
.broken(world, block, self, &location, server, state)
.await;
self.update_sequence(player_action.sequence.0);
return;
@@ -1217,14 +1217,7 @@ impl Player {
.await;
server
.block_registry
.broken(
Arc::clone(world),
block,
self,
location,
server,
broken_state,
)
.broken(world, block, self, &location, server, broken_state)
.await;
} else {
self.mining
@@ -1294,7 +1287,7 @@ impl Player {
server
.block_registry
.broken(Arc::clone(world), block, self, location, server, state)
.broken(world, block, self, &location, server, state)
.await;
self.update_sequence(player_action.sequence.0);
@@ -1400,18 +1393,15 @@ impl Player {
// Using block with empty hand
server
.block_registry
.on_use(block, self, location, server, world)
.on_use(block, self, &location, server, world)
.await;
}
return Ok(());
}
if !sneaking {
let item_stack = held_item.lock().await;
let item = item_stack.item;
drop(item_stack);
let action_result = server
.block_registry
.use_with_item(block, self, location, item, server, world)
.use_with_item(block, self, &location, &held_item, server, world)
.await;
match action_result {
BlockActionResult::Continue => {}