From 5495d8892e809e9f0cf43b3b0f9cd569753460e4 Mon Sep 17 00:00:00 2001 From: Ryan Reed Date: Sun, 30 Mar 2025 17:41:18 -0400 Subject: [PATCH] Tweak is_valid_placement() --- scenes/player/ray_cast_look.gd | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scenes/player/ray_cast_look.gd b/scenes/player/ray_cast_look.gd index 21bcdcc..5ac5e77 100644 --- a/scenes/player/ray_cast_look.gd +++ b/scenes/player/ray_cast_look.gd @@ -31,13 +31,16 @@ func _process(_delta: float) -> void: func is_valid_placement_target(block_pos: Vector3i) -> bool: - # This could probably use some work - var collision_shape_radius: float = player.collision_shape_standing.shape.radius + # This needs some work as it's still not quite reliable + # Sometimes can't place in the position directly in front of the player + var collision_shape_radius: float = player.collision_shape_standing.shape.radius - 0.2 # Fuzzy magic number (bad dev, bad) - var maximums: Vector3 = Vector3(collision_shape_radius, player.current_height, collision_shape_radius) + var maximums: Vector3 = Vector3(collision_shape_radius, 0, collision_shape_radius) var position_min: Vector3i = Vector3i(player.global_position - maximums) var position_max: Vector3i = Vector3i(player.global_position + maximums) + position_max.y = player.current_height + if ( block_pos.x >= position_min.x and block_pos.x <= position_max.x and block_pos.y >= position_min.y and block_pos.y <= position_max.y and