Fill land with checkerboard pattern

This commit is contained in:
Nils Dagsson Moskopp 2022-05-19 14:20:28 +02:00
parent 8626175ed4
commit 88d90cfa20
Signed by untrusted user who does not match committer: erlehmann
GPG Key ID: A3BC671C35191080
1 changed files with 28 additions and 26 deletions

View File

@ -108,7 +108,8 @@ maps.create_map = function(pos, player_name)
local pixels = {}
local colormap = {
{ 195, 175, 140 }, -- background
{ 195, 175, 140 }, -- background checkerboard light
{ 180, 160, 125 }, -- background checkerboard dark
{ 60, 35, 16 }, -- dark line
{ 210, 170, 130 }, -- liquid light
{ 135, 90, 40 }, -- liquid dark
@ -120,7 +121,7 @@ maps.create_map = function(pos, player_name)
}
for x = 1,size,1 do
for z = 1,size,1 do
local color = 0
local color = 0 + ( ( x + z ) % 2 )
pixels[z] = pixels[z] or {}
pixels[z][x] = { color }
end
@ -135,33 +136,34 @@ maps.create_map = function(pos, player_name)
if 14 == minetest.get_node_light(p, 0.5) then
local z = p.z - minp.z + 1
local x = p.x - minp.x + 1
pixels[z][x] = { 2 }
pixels[z][x] = { 3 }
end
end
-- draw coastline
for x = 1,size,1 do
for z = 1,size,1 do
if pixels[z][x][1] >= 2 then
pixels[z][x] = { 2 + ( z % 2 ) } -- stripes
if pixels[z][x][1] == 3 then
pixels[z][x] = { 3 + ( ( math.floor( x / 7 ) + math.floor( 1.3 * z * z ) ) % 4 ) }
if pixels[z][x][1] >= 3 then
pixels[z][x] = { 3 + ( z % 2 ) } -- stripes
if pixels[z][x][1] == 4 then
local color = { 4 + ( ( math.floor( x / 7 ) + math.floor( 1.3 * z * z ) ) % 4 ) }
pixels[z][x] = color
end
if z > 1 and pixels[z-1][x][1] < 2 then
pixels[z-1][x] = { 1 }
pixels[z][x] = { 3 }
if z > 1 and pixels[z-1][x][1] < 3 then
pixels[z-1][x] = { 2 }
pixels[z][x] = { 4 }
end
if z < size and pixels[z+1][x][1] < 2 then
pixels[z+1][x] = { 1 }
pixels[z][x] = { 3 }
if z < size and pixels[z+1][x][1] < 3 then
pixels[z+1][x] = { 2 }
pixels[z][x] = { 4 }
end
if x > 1 and pixels[z][x-1][1] < 2 then
pixels[z][x-1] = { 1 }
pixels[z][x] = { 3 }
if x > 1 and pixels[z][x-1][1] < 3 then
pixels[z][x-1] = { 2 }
pixels[z][x] = { 4 }
end
if x < size and pixels[z][x+1][1] < 2 then
pixels[z][x+1] = { 1 }
pixels[z][x] = { 3 }
if x < size and pixels[z][x+1][1] < 3 then
pixels[z][x+1] = { 2 }
pixels[z][x] = { 4 }
end
end
end
@ -198,8 +200,8 @@ maps.create_map = function(pos, player_name)
if draw_tree then
local tree = {}
local _ = { nil } -- transparent
local O = { 7 } -- outline
local F = { 8 } -- filling
local O = { 8 } -- outline
local F = { 9 } -- filling
if nil ~= node.name:find("pine") then
tree = {
{ _, _, _, _, _, _, _ },
@ -230,12 +232,12 @@ maps.create_map = function(pos, player_name)
z = z - 1,
},
{
[3] = true,
[4] = true,
[5] = true,
[6] = true,
[7] = true,
[8] = true
[8] = true,
[9] = true,
}
)
end
@ -257,7 +259,7 @@ maps.create_map = function(pos, player_name)
)
if draw_grass then
local _ = { nil } -- transparent
local G = { 8 } -- line
local G = { 9 } -- line
local grass = {
{ _, _, _, _, _, _, _ },
{ _, G, _, G, _, G, _ },
@ -272,12 +274,12 @@ maps.create_map = function(pos, player_name)
z = z - 1,
},
{
[3] = true,
[4] = true,
[5] = true,
[6] = true,
[7] = true,
[8] = true
[8] = true,
[9] = true,
}
)
end