Add height data to maps
This commit is contained in:
parent
e5371e19ed
commit
1404058a06
|
@ -29,20 +29,29 @@ local function generate_map(data, x, y, w, h, player_x, player_y, spawn_x, spawn
|
||||||
local name = minetest.get_biome_name(column[j].biome);
|
local name = minetest.get_biome_name(column[j].biome);
|
||||||
local height = column[j].height;
|
local height = column[j].height;
|
||||||
local biome = cartographer.get_biome_texture(name, math.floor(height + 0.5), detail);
|
local biome = cartographer.get_biome_texture(name, math.floor(height + 0.5), detail);
|
||||||
|
local depth = math.min(math.max(math.floor(height / 8), -8), 0) * -1
|
||||||
|
height = math.max(math.min(math.floor(height / 4), 8), 0)
|
||||||
|
|
||||||
|
local mod = "";
|
||||||
|
if height > 0 then
|
||||||
|
mod = "^[colorize:white:"..tostring(height * 10)
|
||||||
|
elseif depth > 0 then
|
||||||
|
mod = "^[colorize:#1f1f34:"..tostring(depth * 10)
|
||||||
|
end
|
||||||
|
|
||||||
if biome == nil then
|
if biome == nil then
|
||||||
-- minetest.chat_send_all(name);
|
-- minetest.chat_send_all(name);
|
||||||
str = str..tile:format(fx, fy, scale, scale, "cartographer_unknown_biome." .. tostring(get_variant(random)) .. ".png")
|
str = str..tile:format(fx, fy, scale, scale, "cartographer_unknown_biome." .. tostring(get_variant(random)) .. ".png")
|
||||||
else
|
else
|
||||||
if height > 0 then
|
if height > 0 then
|
||||||
str = str..tile:format(fx, fy, scale, scale, "cartographer_cliff.png")
|
str = str..tile:format(fx, fy - (height * 0.05) + scale - 0.01, scale, (height * 0.05) + 0.01, "cartographer_cliff.png")
|
||||||
end
|
end
|
||||||
|
|
||||||
str = str..tile:format(fx, fy, scale, scale, biome .. "." .. tostring(get_variant(random)) .. ".png")
|
str = str..tile:format(fx, fy - (height * 0.05), scale, scale, biome .. "." .. tostring(get_variant(random)) .. ".png" .. mod)
|
||||||
end
|
end
|
||||||
|
|
||||||
if i == player_x and j == player_y then
|
if i == player_x and j == player_y then
|
||||||
str = str..marker:format(fx, fy, scale, scale, "cartographer_player_icon.png", 2, 500)
|
str = str..marker:format(fx, fy - (height * 0.05), scale, scale, "cartographer_player_icon.png", 2, 500)
|
||||||
-- elseif i == death_x and j == death_y then
|
-- elseif i == death_x and j == death_y then
|
||||||
-- str = str..marker:format(fx, fy - (height * 0.025), scale, scale, "dicon.png")
|
-- str = str..marker:format(fx, fy - (height * 0.025), scale, scale, "dicon.png")
|
||||||
-- elseif i == spawn_x and j == spawn_y then
|
-- elseif i == spawn_x and j == spawn_y then
|
||||||
|
|
|
@ -58,7 +58,11 @@ cartographer.register_biome("Wasteland", {
|
||||||
"cartographer_colored_sand",
|
"cartographer_colored_sand",
|
||||||
"cartographer_colored_sand",
|
"cartographer_colored_sand",
|
||||||
"cartographer_wasteland",
|
"cartographer_wasteland",
|
||||||
});
|
}, 1);
|
||||||
|
cartographer.register_biome("Wasteland", {
|
||||||
|
"cartographer_simple_water",
|
||||||
|
"cartographer_colored_water",
|
||||||
|
}, nil, 0);
|
||||||
cartographer.register_biome("Grassland Ocean", {
|
cartographer.register_biome("Grassland Ocean", {
|
||||||
"cartographer_simple_water",
|
"cartographer_simple_water",
|
||||||
"cartographer_colored_water",
|
"cartographer_colored_water",
|
||||||
|
@ -66,16 +70,16 @@ cartographer.register_biome("Grassland Ocean", {
|
||||||
cartographer.register_biome("Grassland Ocean", {
|
cartographer.register_biome("Grassland Ocean", {
|
||||||
"cartographer_simple_land",
|
"cartographer_simple_land",
|
||||||
"cartographer_colored_sand",
|
"cartographer_colored_sand",
|
||||||
}, 0);
|
}, 1);
|
||||||
|
cartographer.register_biome("Gravel Beach", {
|
||||||
|
"cartographer_simple_water",
|
||||||
|
"cartographer_colored_water",
|
||||||
|
}, nil, 0);
|
||||||
cartographer.register_biome("Gravel Beach", {
|
cartographer.register_biome("Gravel Beach", {
|
||||||
"cartographer_simple_land",
|
"cartographer_simple_land",
|
||||||
"cartographer_colored_sand",
|
"cartographer_colored_sand",
|
||||||
"cartographer_gravel",
|
"cartographer_gravel",
|
||||||
}, 0);
|
}, 1);
|
||||||
cartographer.register_biome("Gravel Beach", {
|
|
||||||
"cartographer_simple_water",
|
|
||||||
"cartographer_colored_water",
|
|
||||||
}, nil, 0);
|
|
||||||
cartographer.register_biome("Savanna Ocean", {
|
cartographer.register_biome("Savanna Ocean", {
|
||||||
"cartographer_simple_water",
|
"cartographer_simple_water",
|
||||||
"cartographer_colored_water",
|
"cartographer_colored_water",
|
||||||
|
@ -83,7 +87,7 @@ cartographer.register_biome("Savanna Ocean", {
|
||||||
cartographer.register_biome("Savanna Ocean", {
|
cartographer.register_biome("Savanna Ocean", {
|
||||||
"cartographer_simple_land",
|
"cartographer_simple_land",
|
||||||
"cartographer_colored_sand",
|
"cartographer_colored_sand",
|
||||||
}, 0);
|
}, 1);
|
||||||
|
|
||||||
-- Materials
|
-- Materials
|
||||||
cartographer.register_map_material_name("default:paper", "fiber", 5);
|
cartographer.register_map_material_name("default:paper", "fiber", 5);
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 963 B After Width: | Height: | Size: 963 B |
Loading…
Reference in New Issue
Block a user