extends Area3D # Called when the node enters the scene tree for the first time. func _ready(): body_entered.connect(_on_area_entered) func _on_area_entered(_body : Node3D) -> void: # Cubes cannot be pushed on tiles where the player cannot go! if get_node("../raycast_ground").get_collider() != null: get_parent_node_3d().buffer = quaternion * Vector3.DOWN * 3