|
|
|
@ -2,13 +2,6 @@
|
|
|
|
|
-- Idea by Sokomine
|
|
|
|
|
-- Code & textures by Mossmanikin
|
|
|
|
|
|
|
|
|
|
abstract_molehills = {}
|
|
|
|
|
|
|
|
|
|
local molehills_rarity = tonumber(minetest.settings:get("molehills_rarity")) or 99.5
|
|
|
|
|
local molehills_rarity_fertility = tonumber(minetest.settings:get("molehills_rarity_fertility")) or 1
|
|
|
|
|
local molehills_fertility = tonumber(minetest.settings:get("molehills_fertility")) or -0.6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- support for i18n
|
|
|
|
|
local S = minetest.get_translator("molehills")
|
|
|
|
|
-----------------------------------------------------------------------------------------------
|
|
|
|
@ -48,29 +41,18 @@ minetest.register_craft({ -- molehills --> dirt
|
|
|
|
|
-----------------------------------------------------------------------------------------------
|
|
|
|
|
-- GeNeRaTiNG
|
|
|
|
|
-----------------------------------------------------------------------------------------------
|
|
|
|
|
abstract_molehills.place_molehill = function(pos)
|
|
|
|
|
local right_here = {x=pos.x , y=pos.y+1, z=pos.z }
|
|
|
|
|
if minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z }).name ~= "air"
|
|
|
|
|
and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z }).name ~= "air"
|
|
|
|
|
and minetest.get_node({x=pos.x , y=pos.y, z=pos.z+1}).name ~= "air"
|
|
|
|
|
and minetest.get_node({x=pos.x , y=pos.y, z=pos.z-1}).name ~= "air"
|
|
|
|
|
and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z+1}).name ~= "air"
|
|
|
|
|
and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z-1}).name ~= "air"
|
|
|
|
|
and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z+1}).name ~= "air"
|
|
|
|
|
and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z-1}).name ~= "air" then
|
|
|
|
|
minetest.swap_node(right_here, {name="molehills:molehill"})
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
biome_lib.register_on_generate({
|
|
|
|
|
surface = {"default:dirt_with_grass"},
|
|
|
|
|
rarity = molehills_rarity,
|
|
|
|
|
rarity_fertility = molehills_rarity_fertility,
|
|
|
|
|
plantlife_limit = molehills_fertility,
|
|
|
|
|
min_elevation = 1,
|
|
|
|
|
max_elevation = 40,
|
|
|
|
|
avoid_nodes = {"group:tree","group:liquid","group:stone","group:falling_node"--[[,"air"]]},
|
|
|
|
|
avoid_radius = 4,
|
|
|
|
|
minetest.register_decoration({
|
|
|
|
|
decoration = {
|
|
|
|
|
"molehills:molehill"
|
|
|
|
|
},
|
|
|
|
|
abstract_molehills.place_molehill
|
|
|
|
|
)
|
|
|
|
|
fill_ratio = 0.002,
|
|
|
|
|
y_min = 1,
|
|
|
|
|
y_max = 40,
|
|
|
|
|
place_on = {
|
|
|
|
|
"default:dirt_with_grass"
|
|
|
|
|
},
|
|
|
|
|
spawn_by = "air",
|
|
|
|
|
num_spawn_by = 3,
|
|
|
|
|
deco_type = "simple",
|
|
|
|
|
flags = "all_floors",
|
|
|
|
|
})
|
|
|
|
|