Better biomes

This commit is contained in:
Duane Robertson 2016-05-23 18:52:48 -05:00
parent 7b969e0009
commit f4e6c52f2f
5 changed files with 149 additions and 35 deletions

View file

@ -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
View file

@ -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")

View file

@ -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)

View file

@ -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",
}) })

View file

@ -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 = {}