Construct generation
All checks were successful
linting & formatting / build (push) Successful in 12s

This commit is contained in:
Rob Kelly 2025-09-29 19:17:35 -06:00
parent b709118be2
commit e2e786a198

View File

@ -4,6 +4,10 @@ class_name Chunk extends Node3D
const SIZE := Vector2(64, 64)
const SCENE := preload("res://src/world/generation/chunk/chunk.tscn")
@export var construct_offset := Vector2(0.1, 0.0)
@export var construct_height_factor := 300.0
@export var construct_height_threshold := 30.0
func chunk_position() -> Vector2:
return Chunk.world_to_chunk(position)
@ -13,6 +17,18 @@ func generate() -> void:
# TODO: this
print_debug("Generating chunk at ", chunk_position())
# Let's generate a building...
var construct_noise := WorldGenManager.noise.get_noise_2dv(chunk_position() + construct_offset)
var construct_height := construct_noise * construct_height_factor
if construct_height > construct_height_threshold:
print_debug("GENERATING CONSTRUCT")
var construct := CSGBox3D.new()
add_child(construct)
construct.size = Vector3(60, construct_height, 60)
construct.position = Vector3(2, construct_height / 2, 2)
construct.collision_layer = 1
construct.use_collision = true
static func chunk_to_world(chunk_pos: Vector2) -> Vector3:
return Vector3(chunk_pos.x * SIZE.x, 0, chunk_pos.y * SIZE.y)