Better biomes
This commit is contained in:
parent
7b969e0009
commit
f4e6c52f2f
5 changed files with 149 additions and 35 deletions
18
danglers.lua
18
danglers.lua
|
@ -81,15 +81,6 @@ mobs:register_spawn("fun_caves:dangler", {"fun_caves:stone_with_moss", "fun_cave
|
||||||
|
|
||||||
mobs:register_egg("fun_caves:dangler", "Dangling Spider", "mobs_cobweb.png", 1)
|
mobs:register_egg("fun_caves:dangler", "Dangling Spider", "mobs_cobweb.png", 1)
|
||||||
|
|
||||||
minetest.register_abm({
|
|
||||||
nodenames = {"mobs:cobweb"},
|
|
||||||
interval = 500,
|
|
||||||
chance = 50,
|
|
||||||
action = function(pos, node)
|
|
||||||
minetest.set_node(pos, {name = "air"})
|
|
||||||
end
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
-- cobweb
|
-- cobweb
|
||||||
if not minetest.registered_nodes['mobs:cobweb'] then
|
if not minetest.registered_nodes['mobs:cobweb'] then
|
||||||
|
@ -122,3 +113,12 @@ if not minetest.registered_nodes['mobs:cobweb'] then
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = {"mobs:cobweb"},
|
||||||
|
interval = 500,
|
||||||
|
chance = 50,
|
||||||
|
action = function(pos, node)
|
||||||
|
minetest.set_node(pos, {name = "air"})
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
138
deco.lua
138
deco.lua
|
@ -13,17 +13,6 @@ minetest.register_node("fun_caves:sand_with_rocks", {
|
||||||
drop = {max_items=2, items={{items={"fun_caves:small_rocks"}, rarity=1}, {items={"default:sand"}, rarity=1}}},
|
drop = {max_items=2, items={{items={"fun_caves:small_rocks"}, rarity=1}, {items={"default:sand"}, rarity=1}}},
|
||||||
})
|
})
|
||||||
|
|
||||||
--minetest.register_decoration({
|
|
||||||
-- deco_type = "simple",
|
|
||||||
-- place_on = {"default:dirt_with_grass"},
|
|
||||||
-- sidelen = 80,
|
|
||||||
-- fill_ratio = 0.1,
|
|
||||||
-- biomes = {"rainforest", "desertstone_grassland"},
|
|
||||||
-- y_min = 1,
|
|
||||||
-- y_max = 31000,
|
|
||||||
-- decoration = "default:junglegrass",
|
|
||||||
--})
|
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "default:stick 2",
|
output = "default:stick 2",
|
||||||
recipe = {
|
recipe = {
|
||||||
|
@ -33,6 +22,133 @@ minetest.register_craft({
|
||||||
|
|
||||||
minetest.add_group("default:cactus", {oddly_breakable_by_hand=1})
|
minetest.add_group("default:cactus", {oddly_breakable_by_hand=1})
|
||||||
|
|
||||||
|
|
||||||
|
local biome_mod = {
|
||||||
|
coniferous_forest_dunes = { heat_point = 35, humidity_point = 60, },
|
||||||
|
coniferous_forest = { heat_point = 35, humidity_point = 60, },
|
||||||
|
coniferous_forest_ocean = { heat_point = 35, humidity_point = 60, },
|
||||||
|
deciduous_forest = { heat_point = 60, humidity_point = 60, },
|
||||||
|
deciduous_forest_ocean = { heat_point = 60, humidity_point = 60, },
|
||||||
|
deciduous_forest_swamp = { heat_point = 60, humidity_point = 60, },
|
||||||
|
desert = { heat_point = 80, humidity_point = 10, },
|
||||||
|
desert_ocean = { heat_point = 80, humidity_point = 10, },
|
||||||
|
glacier = {},
|
||||||
|
glacier_ocean = {},
|
||||||
|
rainforest = { heat_point = 85, humidity_point = 70, },
|
||||||
|
rainforest_ocean = { heat_point = 85, humidity_point = 70, },
|
||||||
|
rainforest_swamp = { heat_point = 85, humidity_point = 70, },
|
||||||
|
sandstone_grassland_dunes = { heat_point = 55, humidity_point = 40, },
|
||||||
|
sandstone_grassland = { heat_point = 55, humidity_point = 40, },
|
||||||
|
sandstone_grassland_ocean = { heat_point = 55, humidity_point = 40, },
|
||||||
|
savanna = { heat_point = 80, humidity_point = 25, },
|
||||||
|
savanna_ocean = { heat_point = 80, humidity_point = 25, },
|
||||||
|
savanna_swamp = { heat_point = 80, humidity_point = 25, },
|
||||||
|
stone_grassland_dunes = { heat_point = 35, humidity_point = 40, },
|
||||||
|
stone_grassland = { heat_point = 35, humidity_point = 40, },
|
||||||
|
stone_grassland_ocean = { heat_point = 35, humidity_point = 40, },
|
||||||
|
taiga = {},
|
||||||
|
taiga_ocean = {},
|
||||||
|
tundra = {},
|
||||||
|
tundra_beach = {},
|
||||||
|
tundra_ocean = {},
|
||||||
|
}
|
||||||
|
local rereg = {}
|
||||||
|
|
||||||
|
for n, bi in pairs(biome_mod) do
|
||||||
|
for i, rbi in pairs(minetest.registered_biomes) do
|
||||||
|
if rbi.name == n then
|
||||||
|
rereg[#rereg+1] = table.copy(rbi)
|
||||||
|
for j, prop in pairs(bi) do
|
||||||
|
rereg[#rereg][j] = prop
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.clear_registered_biomes()
|
||||||
|
|
||||||
|
for _, bi in pairs(rereg) do
|
||||||
|
minetest.register_biome(bi)
|
||||||
|
end
|
||||||
|
|
||||||
|
rereg = {}
|
||||||
|
for _, dec in pairs(minetest.registered_decorations) do
|
||||||
|
rereg[#rereg+1] = dec
|
||||||
|
end
|
||||||
|
minetest.clear_registered_decorations()
|
||||||
|
for _, dec in pairs(rereg) do
|
||||||
|
minetest.register_decoration(dec)
|
||||||
|
end
|
||||||
|
rereg = nil
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_biome({
|
||||||
|
name = "cold_desert",
|
||||||
|
--node_dust = "",
|
||||||
|
node_top = "default:desert_sand",
|
||||||
|
depth_top = 1,
|
||||||
|
node_filler = "default:desert_sand",
|
||||||
|
depth_filler = 1,
|
||||||
|
node_stone = "default:desert_stone",
|
||||||
|
--node_water_top = "",
|
||||||
|
--depth_water_top = ,
|
||||||
|
--node_water = "",
|
||||||
|
--node_river_water = "",
|
||||||
|
y_min = 5,
|
||||||
|
y_max = 31000,
|
||||||
|
heat_point = 25,
|
||||||
|
humidity_point = 0,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_biome({
|
||||||
|
name = "cold_desert_ocean",
|
||||||
|
--node_dust = "",
|
||||||
|
node_top = "default:sand",
|
||||||
|
depth_top = 1,
|
||||||
|
node_filler = "default:sand",
|
||||||
|
depth_filler = 3,
|
||||||
|
node_stone = "default:desert_stone",
|
||||||
|
--node_water_top = "",
|
||||||
|
--depth_water_top = ,
|
||||||
|
--node_water = "",
|
||||||
|
--node_river_water = "",
|
||||||
|
y_min = -112,
|
||||||
|
y_max = 4,
|
||||||
|
heat_point = 25,
|
||||||
|
humidity_point = 10,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_biome({
|
||||||
|
name = "desertstone_grassland",
|
||||||
|
--node_dust = "",
|
||||||
|
node_top = "default:dirt_with_grass",
|
||||||
|
depth_top = 1,
|
||||||
|
node_filler = "default:dirt",
|
||||||
|
depth_filler = 1,
|
||||||
|
node_stone = "default:desert_stone",
|
||||||
|
--node_water_top = "",
|
||||||
|
--depth_water_top = ,
|
||||||
|
--node_water = "",
|
||||||
|
--node_river_water = "",
|
||||||
|
y_min = 6,
|
||||||
|
y_max = 31000,
|
||||||
|
heat_point = 80,
|
||||||
|
humidity_point = 55,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_decoration({
|
||||||
|
deco_type = "simple",
|
||||||
|
place_on = {"default:dirt_with_grass"},
|
||||||
|
sidelen = 80,
|
||||||
|
fill_ratio = 0.1,
|
||||||
|
biomes = {"desertstone_grassland", },
|
||||||
|
y_min = 1,
|
||||||
|
y_max = 31000,
|
||||||
|
decoration = "default:junglegrass",
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
dofile(fun_caves.path.."/deco_caves.lua")
|
dofile(fun_caves.path.."/deco_caves.lua")
|
||||||
--dofile(fun_caves.path.."/deco_dirt.lua")
|
--dofile(fun_caves.path.."/deco_dirt.lua")
|
||||||
dofile(fun_caves.path.."/deco_plants.lua")
|
dofile(fun_caves.path.."/deco_plants.lua")
|
||||||
|
|
|
@ -151,21 +151,19 @@ local function register_flower(name, seed, biomes)
|
||||||
|
|
||||||
-- Let rainforest plants show up more often.
|
-- Let rainforest plants show up more often.
|
||||||
local key1 = table.contains(biomes, "rainforest")
|
local key1 = table.contains(biomes, "rainforest")
|
||||||
--local key2 = table.contains(biomes, "desertstone_grassland")
|
local key2 = table.contains(biomes, "desertstone_grassland")
|
||||||
--if key1 or key2 then
|
if key1 or key2 then
|
||||||
if key1 then
|
|
||||||
if key1 then
|
if key1 then
|
||||||
table.remove(param.biomes, key1)
|
table.remove(param.biomes, key1)
|
||||||
--else
|
else
|
||||||
-- table.remove(param.biomes, key2)
|
table.remove(param.biomes, key2)
|
||||||
end
|
end
|
||||||
if #param.biomes > 0 then
|
if #param.biomes > 0 then
|
||||||
minetest.register_decoration(param)
|
minetest.register_decoration(param)
|
||||||
end
|
end
|
||||||
|
|
||||||
local param2 = table.copy(param)
|
local param2 = table.copy(param)
|
||||||
--param2.biomes = {"rainforest", "desertstone_grassland", }
|
param2.biomes = {"rainforest", "desertstone_grassland", }
|
||||||
param2.biomes = {"rainforest", }
|
|
||||||
param2.noise_params.seed = param2.noise_params.seed + 20
|
param2.noise_params.seed = param2.noise_params.seed + 20
|
||||||
param2.noise_params.offset = param2.noise_params.offset + 0.01
|
param2.noise_params.offset = param2.noise_params.offset + 0.01
|
||||||
minetest.register_decoration(param2)
|
minetest.register_decoration(param2)
|
||||||
|
@ -174,11 +172,11 @@ local function register_flower(name, seed, biomes)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
register_flower("bird_of_paradise", 8402, {"rainforest", })
|
register_flower("bird_of_paradise", 8402, {"rainforest", "desertstone_grassland", })
|
||||||
register_flower("orchid", 3944, {"sandstone_grassland", "tundra", "taiga", "stone_grassland", "coniferous_forest", "deciduous_forest", "savanna", "rainforest", "rainforest_swamp", })
|
register_flower("orchid", 3944, {"sandstone_grassland", "tundra", "taiga", "stone_grassland", "coniferous_forest", "deciduous_forest", "savanna", "rainforest", "rainforest_swamp", "desertstone_grassland", })
|
||||||
register_flower("hibiscus", 7831, {"sandstone_grassland", "deciduous_forest", "savanna", "rainforest", "rainforest_swamp", })
|
register_flower("hibiscus", 7831, {"sandstone_grassland", "deciduous_forest", "savanna", "rainforest", "rainforest_swamp", "desertstone_grassland", })
|
||||||
--register_flower("calla_lily", 7985, {"sandstone_grassland", "stone_grassland", "deciduous_forest", "rainforest", })
|
--register_flower("calla_lily", 7985, {"sandstone_grassland", "stone_grassland", "deciduous_forest", "rainforest", "desertstone_grassland", })
|
||||||
register_flower("gerbera", 1976, {"savanna", "rainforest", })
|
register_flower("gerbera", 1976, {"savanna", "rainforest", "desertstone_grassland", })
|
||||||
|
|
||||||
do
|
do
|
||||||
-- Water Plant
|
-- Water Plant
|
||||||
|
@ -187,7 +185,7 @@ do
|
||||||
place_on = {"group:sand"},
|
place_on = {"group:sand"},
|
||||||
decoration = {"fun_caves:water_plant_1_water_sand"},
|
decoration = {"fun_caves:water_plant_1_water_sand"},
|
||||||
--biomes = {"sandstone_grassland", "stone_grassland", "coniferous_forest", "deciduous_forest", "desert", "savanna", "rainforest", "rainforest_swamp", },
|
--biomes = {"sandstone_grassland", "stone_grassland", "coniferous_forest", "deciduous_forest", "desert", "savanna", "rainforest", "rainforest_swamp", },
|
||||||
biomes = {"sandstone_grassland", "stone_grassland", "coniferous_forest", "deciduous_forest", "savanna", "rainforest", "rainforest_swamp","sandstone_grassland_ocean", "stone_grassland_ocean", "coniferous_forest_ocean", "deciduous_forest_ocean", "desert_ocean", "savanna_ocean", },
|
biomes = {"sandstone_grassland", "stone_grassland", "coniferous_forest", "deciduous_forest", "savanna", "rainforest", "rainforest_swamp","sandstone_grassland_ocean", "stone_grassland_ocean", "coniferous_forest_ocean", "deciduous_forest_ocean", "desert_ocean", "savanna_ocean", "desertstone_grassland", },
|
||||||
y_max = 60,
|
y_max = 60,
|
||||||
}
|
}
|
||||||
local water_plant_1_def_soil = table.copy(water_plant_1_def_sand)
|
local water_plant_1_def_soil = table.copy(water_plant_1_def_sand)
|
||||||
|
|
|
@ -52,7 +52,7 @@ for grid_count = 1,6 do
|
||||||
sidelen = 80,
|
sidelen = 80,
|
||||||
place_on = {"group:soil", "group:sand"},
|
place_on = {"group:soil", "group:sand"},
|
||||||
fill_ratio = 0.001,
|
fill_ratio = 0.001,
|
||||||
biomes = {"sandstone_grassland", "tundra", "taiga", "stone_grassland", "coniferous_forest", "deciduous_forest", "desert", "savanna", "rainforest", },
|
biomes = {"sandstone_grassland", "tundra", "taiga", "stone_grassland", "coniferous_forest", "deciduous_forest", "desert", "savanna", "rainforest", "desertstone_grassland", },
|
||||||
flags = "place_center_x, place_center_z",
|
flags = "place_center_x, place_center_z",
|
||||||
rotation = "random",
|
rotation = "random",
|
||||||
})
|
})
|
||||||
|
|
|
@ -3,7 +3,7 @@ local light_depth = -13
|
||||||
local water_level = 1
|
local water_level = 1
|
||||||
|
|
||||||
local water_lily_biomes = {}
|
local water_lily_biomes = {}
|
||||||
for _, i in pairs({"rainforest_swamp", "rainforest", "savanna_swamp", "savanna", "deciduous_forest_swamp", "deciduous_forest", }) do
|
for _, i in pairs({"rainforest_swamp", "rainforest", "savanna_swamp", "savanna", "deciduous_forest_swamp", "deciduous_forest", "desertstone_grassland", }) do
|
||||||
water_lily_biomes[i] = true
|
water_lily_biomes[i] = true
|
||||||
end
|
end
|
||||||
local coral_biomes = {}
|
local coral_biomes = {}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue