# Terrain generator not working as intended

You can write your topic however you want, but you need to answer these questions:

1. What do you want to achieve? Keep it simple and clear!

The terrain generator I scripted works, but I want to prevent these holes from appearing, and these weird lines. I would appreciate any help.

1. What is the issue? Include screenshots / videos if possible!
I tried breaking the loop to prevent these massive holes from happening when you stop generating the terrain, but instead, it made the problem worse.

2. What solutions have you tried so far? Did you look for solutions on the Developer Hub?

function generate()
local positions = {}
local ypos

local totalx
local totalz
local zoom = 75
local height = 100
local size = 2048
for x = -30,size do
for z = -30,size do

local pos = CFrame.new(x,math.noise(x/zoom,z/zoom)*height+25,z)
ypos = pos.Y
table.insert(positions,pos)
local size = Vector3.new(1,1,1)
if (pos.Y>math.random(60,80)) then
workspace.Terrain:FillBlock(pos,size,Enum.Material.Rock)
elseif (pos.Y<math.random(1,5)) then
workspace.Terrain:FillBlock(pos,size,Enum.Material.LeafyGrass)
else
workspace.Terrain:FillBlock(pos,size,Enum.Material.Grass)

end
if(z>=1000-260 and pos.Y<2) then
totalz = z
break
end
end
if(x>=1000 and ypos<2) then
totalx = x
break
end
end
print(totalx,totalz)

workspace.Terrain:FillBlock(CFrame.new(totalx/2,30,totalz/2),Vector3.new(totalx*2,10,totalz*2),Enum.Material.Grass)
workspace.Terrain:FillBlock(CFrame.new(totalx/2,-2,totalz/2),Vector3.new(totalx*5,1,totalz*5),Enum.Material.Sand)
workspace.Terrain:FillBlock(CFrame.new(totalx/2,5,totalz/2),Vector3.new(totalx*5,5,totalz*5),Enum.Material.Water)
end

generate()

Any help is appreciated