summaryrefslogtreecommitdiffstats
path: root/ChunkGen.gd
diff options
context:
space:
mode:
Diffstat (limited to 'ChunkGen.gd')
-rw-r--r--ChunkGen.gd14
1 files changed, 14 insertions, 0 deletions
diff --git a/ChunkGen.gd b/ChunkGen.gd
index 6e1f0eb..ef29365 100644
--- a/ChunkGen.gd
+++ b/ChunkGen.gd
@@ -21,6 +21,7 @@ func gen_chunk(chunk):
var gen_tree = Spatial.new()
gen_tree.name = "gen_tree"
chunk.add_child(gen_tree)
+ iterate_chunk(chunk, Vector2(10.0,10.0), funcref(self,"gen_rocks"))
func v2_coords(coords:Vector3):
return Vector2(coords.x,coords.z)
@@ -33,3 +34,16 @@ func iterate_chunk(chunk,step:Vector2,cb:FuncRef):
for x in range(-chunk_size_rounded.x,chunk_size_rounded.x,step.x):
for y in range(-chunk_size_rounded.y,chunk_size_rounded.y,step.y):
cb.call_func(chunk,Vector2(x,y))
+
+onready var Rock = preload("res://Rock.tscn")
+const rock_size = 5.0
+func make_rock(chunk,xform:Transform):
+ var rock = Rock.instance()
+ rock.transform = xform
+ chunk.get_node("gen_tree").add_child(rock)
+
+func gen_rocks(chunk,chunk_coords:Vector2):
+ var world_coords = chunk_coords + v2_coords(chunk.transform.origin)
+ var noise_val = self.noise.get_noise_2dv(world_coords)
+ if noise_val > 0.4:
+ make_rock(chunk,Transform(Basis().scaled(Vector3(2.0,2.0,2.0)),v3_coords(chunk_coords)))