diff options
Diffstat (limited to 'player.gd')
-rw-r--r-- | player.gd | 23 |
1 files changed, 14 insertions, 9 deletions
@@ -4,7 +4,9 @@ extends CharacterBody3D var selection_block: MeshInstance3D var selection_block_data: Block -var previous_looked_at_block_position: Vector3 = Vector3.ZERO +var previous_looked_at_block_position: Vector3i = Vector3i.ZERO + +var current_chunk_position: Vector3i const SPEED = 5.0#10.0#20.0 const JUMP_VELOCITY = 5.0#10.0#20.0 @@ -13,7 +15,7 @@ var acc = 0 func _ready() -> void: - Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + #Input.mouse_mode = Input.MOUSE_MODE_CAPTURED selection_block = MeshInstance3D.new() selection_block.visible = false @@ -24,9 +26,10 @@ func _ready() -> void: selection_block_data = Block.new() selection_block_data.type = Block.Type.SELECTION - #set_physics_process(false) - #await get_tree().create_timer(3.0).timeout - #set_physics_process(true) + current_chunk_position = Chunk.global_to_chunk(global_position, Vector3.ZERO) + self.set_physics_process(false) + await get_tree().create_timer(3.0).timeout + self.set_physics_process(true) func _input(event: InputEvent) -> void: @@ -82,6 +85,8 @@ func _process(_delta: float) -> void: func _physics_process(delta: float) -> void: + current_chunk_position = Chunk.global_to_chunk(global_position, Vector3.ZERO) + # Add the gravity. if not is_on_floor(): velocity += get_gravity() * delta * 1.5 @@ -121,13 +126,13 @@ func maybe_update_selection_block(collision_point: Vector3) -> void: if Chunk.chunk_exists(chunk_idx): var chunk: Chunk = Global.chunks[chunk_idx] - var block: Block = chunk.blocks[block_chunk_idx.x][block_chunk_idx.y][block_chunk_idx.z] + var block: Block = chunk.get_block(block_chunk_idx) selection_block.visible = true - if previous_looked_at_block_position != block.position: - update_selection_block(block.position) - previous_looked_at_block_position = block.position + if previous_looked_at_block_position != block.global_position: + update_selection_block(block.global_position) + previous_looked_at_block_position = block.global_position func update_selection_block(new_position: Vector3): |