summaryrefslogtreecommitdiff
path: root/player.gd
diff options
context:
space:
mode:
Diffstat (limited to 'player.gd')
-rw-r--r--player.gd23
1 files changed, 14 insertions, 9 deletions
diff --git a/player.gd b/player.gd
index d4c43dc..5f0f600 100644
--- a/player.gd
+++ b/player.gd
@@ -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):