forked from erlehmann/xmaps
Fill land with checkerboard pattern
This commit is contained in:
parent
8626175ed4
commit
88d90cfa20
54
init.lua
54
init.lua
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue