forked from mtcontrib/riesenpilz
…
This commit is contained in:
parent
f56ccc4747
commit
e1641d4eef
@ -1,2 +1,2 @@
|
|||||||
default
|
default
|
||||||
|
vector_extras
|
||||||
|
73
init.lua
73
init.lua
@ -443,41 +443,94 @@ local mushrooms_list = {
|
|||||||
description = "brown mushroom",
|
description = "brown mushroom",
|
||||||
box = BOX.BROWN,
|
box = BOX.BROWN,
|
||||||
growing = {
|
growing = {
|
||||||
|
r = {min=3, max=4},
|
||||||
}
|
grounds = {soil=1, crumbly=3},
|
||||||
|
neighbours = {"default:tree"},
|
||||||
|
light = {min=1, max=4},
|
||||||
|
interval = 100,
|
||||||
|
chance = 18,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
["red"] = {
|
["red"] = {
|
||||||
description = "red mushroom",
|
description = "red mushroom",
|
||||||
box = BOX.RED
|
box = BOX.RED,
|
||||||
|
growing = {
|
||||||
|
r = {min=4, max=5},
|
||||||
|
grounds = {soil=2},
|
||||||
|
neighbours = {"default:water_flowing"},
|
||||||
|
light = {min=3, max=10},
|
||||||
|
interval = 50,
|
||||||
|
chance = 30,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
["fly_agaric"] = {
|
["fly_agaric"] = {
|
||||||
description = "fly agaric",
|
description = "fly agaric",
|
||||||
box = BOX.FLY_AGARIC
|
box = BOX.FLY_AGARIC,
|
||||||
|
growing = {
|
||||||
|
r = 4,
|
||||||
|
grounds = {soil=1, crumbly=3},
|
||||||
|
neighbours = {"default:pinetree"},
|
||||||
|
light = {min=2, max=7},
|
||||||
|
interval = 101,
|
||||||
|
chance = 30,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
["lavashroom"] = {
|
["lavashroom"] = {
|
||||||
description = "Lavashroom",
|
description = "Lavashroom",
|
||||||
box = BOX.LAVASHROOM
|
box = BOX.LAVASHROOM,
|
||||||
|
growing = {
|
||||||
|
r = {min=5, max=6},
|
||||||
|
grounds = {cracky=3},
|
||||||
|
neighbours = {"default:lava_source"},
|
||||||
|
light = {min=10, max=14},
|
||||||
|
interval = 1010,
|
||||||
|
chance = 60,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
["glowshroom"] = {
|
["glowshroom"] = {
|
||||||
description = "Glowshroom",
|
description = "Glowshroom",
|
||||||
box = BOX.GLOWSHROOM
|
box = BOX.GLOWSHROOM,
|
||||||
|
growing = {
|
||||||
|
r = 3,
|
||||||
|
grounds = {soil=1, crumbly=3},
|
||||||
|
neighbours = {"default:stone"},
|
||||||
|
light = 0,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
["nether_shroom"] = {
|
["nether_shroom"] = {
|
||||||
description = "Nether mushroom",
|
description = "Nether mushroom",
|
||||||
box = BOX.NETHER_SHROOM,
|
box = BOX.NETHER_SHROOM,
|
||||||
burntime = 6
|
burntime = 6,
|
||||||
},
|
},
|
||||||
["parasol"] = {
|
["parasol"] = {
|
||||||
description = "white parasol mushroom",
|
description = "white parasol mushroom",
|
||||||
box = BOX.PARASOL
|
box = BOX.PARASOL,
|
||||||
|
growing = {
|
||||||
|
r = {min=3, max=5},
|
||||||
|
grounds = {soil=1, crumbly=3},
|
||||||
|
neighbours = {"default:pinetree"},
|
||||||
|
light = {min=1, max=7},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
["red45"] = {
|
["red45"] = {
|
||||||
description = "45 red mushroom",
|
description = "45 red mushroom",
|
||||||
box = BOX.RED45
|
box = BOX.RED45,
|
||||||
|
growing = {
|
||||||
|
r = {min=3, max=4},
|
||||||
|
grounds = {soil=2},
|
||||||
|
neighbours = {"default:water_source"},
|
||||||
|
light = {min=2, max=3},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
["brown45"] = {
|
["brown45"] = {
|
||||||
description = "45 brown mushroom",
|
description = "45 brown mushroom",
|
||||||
box = BOX.BROWN45
|
box = BOX.BROWN45,
|
||||||
|
growing = {
|
||||||
|
r = {min=2, max=3},
|
||||||
|
grounds = {tree=1},
|
||||||
|
neighbours = {"default:water_flowing"},
|
||||||
|
light = {min=7, max=11},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
18
mapgen.lua
18
mapgen.lua
@ -42,7 +42,7 @@ local function define_contents()
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
local function find_grond(a,list)
|
local function find_ground(a,list)
|
||||||
for _,nam in ipairs(list) do
|
for _,nam in ipairs(list) do
|
||||||
if a == nam then
|
if a == nam then
|
||||||
return true
|
return true
|
||||||
@ -53,13 +53,13 @@ end
|
|||||||
|
|
||||||
|
|
||||||
function riesenpilz_circle(nam, pos, radius, chance)
|
function riesenpilz_circle(nam, pos, radius, chance)
|
||||||
for i = -radius, radius do
|
for _,p in pairs(vector.circle(radius)) do
|
||||||
for j = -radius, radius do
|
if pr:next(1,chance) == 1 then
|
||||||
if math.floor( math.sqrt(i^2+j^2) +0.5) == radius
|
local p = vector.add(pos, p)
|
||||||
and data[area:index(pos.x+i, pos.y, pos.z+j)] == c.air
|
local p_p = area:indexp(p)
|
||||||
and pr:next(1,chance) == 1
|
if data[p_p] == c.air
|
||||||
and data[area:index(pos.x+i, pos.y-1, pos.z+j)] == c.ground then
|
and data[area:index(p.x, p.y-1, p.z)] == c.ground then
|
||||||
data[area:index(pos.x+i, pos.y, pos.z+j)] = nam
|
data[p_p] = nam
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -184,7 +184,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
|
|||||||
local ground_y = nil --Definition des Bodens:
|
local ground_y = nil --Definition des Bodens:
|
||||||
-- for y=maxp.y,0,-1 do
|
-- for y=maxp.y,0,-1 do
|
||||||
for y=maxp.y,1,-1 do
|
for y=maxp.y,1,-1 do
|
||||||
if find_grond(data[area:index(x, y, z)], c.GROUND) then
|
if find_ground(data[area:index(x, y, z)], c.GROUND) then
|
||||||
ground_y = y
|
ground_y = y
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 105 B After Width: | Height: | Size: 119 B |
Binary file not shown.
Before Width: | Height: | Size: 105 B After Width: | Height: | Size: 113 B |
Loading…
Reference in New Issue
Block a user