nalc/nalc_riesenpilz/init.lua

1662 lines
34 KiB
Lua

--- Schematics definitions ---
local _ = {name = "air", prob = 0}
local Q = {name = "riesenpilz:stem", force_place = true}
local Y = {name = "riesenpilz:stem", force_place = true}
local R = {name = "riesenpilz:head_red", force_place = true}
local Z = {name = "riesenpilz:head_red", prob = 127, force_place = true}
local S = {name = "riesenpilz:head_red_side", force_place = true}
local T = {name = "riesenpilz:head_red_side", param2 = 1, force_place = true}
local U = {name = "riesenpilz:head_red_side", param2 = 2, force_place = true}
local V = {name = "riesenpilz:head_red_side", param2 = 3, force_place = true}
local L = {name = "riesenpilz:lamellas", force_place = true}
local B = {name = "riesenpilz:head_brown", force_place = true}
local W = {name = "riesenpilz:head_white", force_place = true}
local E = {name = "riesenpilz:head_beige", force_place = true}
local F = {name = "riesenpilz:head_brown_bright", force_place = true}
local G = {name = "riesenpilz:head_brown_bright", prob = 191, force_place = true}
local H = {name = "riesenpilz:head_brown_bright", prob = 63, force_place = true}
local I = {name = "riesenpilz:head_orange", force_place = true}
local J = {name = "riesenpilz:head_yellow", force_place = true}
local K = {name = "riesenpilz:head_brown_full", force_place = true}
local M = {name = "riesenpilz:stem_brown", force_place = true}
local N = {name = "riesenpilz:stem_blue", force_place = true}
local O = {name = "riesenpilz:head_blue", force_place = true}
local P = {name = "riesenpilz:head_blue_bright", force_place = true}
local X = {name = "riesenpilz:stem_red", force_place = true}
-- Giant Young Mushroom Red
local gymr_schem = {
size = {x=5, y=10, z=5},
data = {
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,U,U,U,_,
_,U,U,U,_,
_,U,U,U,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
V,_,_,_,T,
V,_,_,_,T,
V,_,_,_,T,
_,R,R,R,_,
_,_,Q,_,_,
_,_,Y,_,_,
_,_,Q,_,_,
_,_,Q,_,_,
_,_,Q,_,_,
_,_,Q,_,_,
V,_,Q,_,T,
V,_,Q,_,T,
V,_,Q,_,T,
_,R,R,R,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
V,_,_,_,T,
V,_,_,_,T,
V,_,_,_,T,
_,R,R,R,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,S,S,S,_,
_,S,S,S,_,
_,S,S,S,_,
_,_,_,_,_,
},
yslice_prob = {
{ypos = 2, prob = 31},
{ypos = 3, prob = 62},
{ypos = 4, prob = 93},
{ypos = 5, prob = 127},
},
}
-- Giant Mushroom Red Tiny
local gmr_tiny_schem = {
size = {x=5, y=6, z=5},
data = {
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
R,R,R,R,R,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
R,L,L,L,R,
_,R,R,R,_,
_,_,Q,_,_,
_,_,Y,_,_,
_,_,Q,_,_,
_,_,Q,_,_,
R,L,Q,L,R,
_,R,R,R,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
R,L,L,L,R,
_,R,R,R,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
R,R,R,R,R,
_,_,_,_,_,
},
yslice_prob = {
{ypos = 2, prob = 127},
{ypos = 4, prob = 127},
},
}
-- Giant Mushroom Red Middle
local gmr_mid_schem = {
size = {x=7, y=7, z=7},
data = {
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,R,R,R,R,R,R,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,L,L,L,L,L,R,
_,R,R,R,R,R,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,L,L,L,L,L,R,
_,R,R,R,R,R,_,
_,_,_,Q,_,_,_,
_,_,_,Y,_,_,_,
_,_,_,Q,_,_,_,
_,_,_,Q,_,_,_,
_,_,_,Q,_,_,_,
R,L,L,Q,L,L,R,
_,R,R,R,R,R,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,L,L,L,L,L,R,
_,R,R,R,R,R,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,L,L,L,L,L,R,
_,R,R,R,R,R,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,R,R,R,R,R,R,
_,_,_,_,_,_,_,
},
yslice_prob = {
{ypos = 2, prob = 127},
{ypos = 5, prob = 63},
},
}
-- Giant Mushroom Red Big
local gmr_big_schem = {
size = {x=9, y=8, z=9},
data = {
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
R,R,R,R,R,R,R,R,R,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
R,L,L,L,L,L,L,L,R,
_,R,R,R,R,R,R,R,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
R,L,L,L,L,L,L,L,R,
_,R,R,R,R,R,R,R,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
R,L,L,L,L,L,L,L,R,
_,R,R,R,R,R,R,R,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Y,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
R,L,L,L,Q,L,L,L,R,
_,R,R,R,R,R,R,R,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
R,L,L,L,L,L,L,L,R,
_,R,R,R,R,R,R,R,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
R,L,L,L,L,L,L,L,R,
_,R,R,R,R,R,R,R,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
R,L,L,L,L,L,L,L,R,
_,R,R,R,R,R,R,R,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
R,R,R,R,R,R,R,R,R,
_,_,_,_,_,_,_,_,_,
},
yslice_prob = {
{ypos = 2, prob = 127},
{ypos = 6, prob = 31},
},
}
-- Giant Mushroom Brown Tiny
local gmb_tiny_schem = {
size = {x=5, y=6, z=5},
data = {
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,B,B,B,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
B,B,B,B,B,
_,_,Q,_,_,
_,_,Y,_,_,
_,_,Q,_,_,
_,_,Q,_,_,
_,_,Q,_,_,
B,B,B,B,B,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
B,B,B,B,B,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,B,B,B,_,
},
yslice_prob = {
{ypos = 2, prob = 127},
},
}
-- Giant Mushroom Brown Middle
local gmb_mid_schem = {
size = {x=7, y=7, z=7},
data = {
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,B,B,B,B,B,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
B,B,B,B,B,B,B,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
B,B,B,B,B,B,B,
_,_,_,Q,_,_,_,
_,_,_,Y,_,_,_,
_,_,_,Q,_,_,_,
_,_,_,Q,_,_,_,
_,_,_,Q,_,_,_,
_,_,_,Q,_,_,_,
B,B,B,B,B,B,B,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
B,B,B,B,B,B,B,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
B,B,B,B,B,B,B,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,B,B,B,B,B,_,
},
yslice_prob = {
{ypos = 2, prob = 63},
},
}
-- Giant Mushroom Brown Big
local gmb_big_schem = {
size = {x=9, y=8, z=9},
data = {
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,B,B,B,B,B,B,B,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
B,B,B,B,B,B,B,B,B,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
B,B,B,B,B,B,B,B,B,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
B,B,B,B,B,B,B,B,B,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Y,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
B,B,B,B,B,B,B,B,B,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
B,B,B,B,B,B,B,B,B,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
B,B,B,B,B,B,B,B,B,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
B,B,B,B,B,B,B,B,B,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,B,B,B,B,B,B,B,_,
},
yslice_prob = {
{ypos = 2, prob = 31},
},
}
-- Giant Mushroom White Big
local gmw_big_schem = {
size = {x=11, y=12, z=11},
data = {
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,E,E,E,E,E,E,E,E,E,E,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,W,W,W,W,W,W,W,W,W,E,
_,E,E,E,E,E,E,E,E,E,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,E,E,_,
_,_,H,H,H,H,H,H,H,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,E,E,_,
_,_,H,G,G,G,G,G,H,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,W,W,W,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,E,E,_,
_,_,H,G,F,F,F,G,H,_,_,
_,_,_,_,_,Q,_,_,_,_,_,
_,_,_,_,_,Y,_,_,_,_,_,
_,_,_,_,_,Q,_,_,_,_,_,
_,_,_,_,_,Q,_,_,_,_,_,
_,_,_,_,W,Q,W,_,_,_,_,
_,_,_,_,_,Q,_,_,_,_,_,
_,_,_,_,_,Q,_,_,_,_,_,
_,_,_,_,_,Q,_,_,_,_,_,
_,_,_,_,_,Q,_,_,_,_,_,
E,W,_,_,_,Q,_,_,_,W,E,
_,E,E,E,E,E,E,E,E,E,_,
_,_,H,G,F,F,F,G,H,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,W,W,W,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,E,E,_,
_,_,H,G,F,F,F,G,H,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,E,E,_,
_,_,H,G,G,G,G,G,H,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,E,E,_,
_,_,H,H,H,H,H,H,H,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,W,W,W,W,W,W,W,W,W,E,
_,E,E,E,E,E,E,E,E,E,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
E,E,E,E,E,E,E,E,E,E,E,
_,_,_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,_,_,
},
yslice_prob = {
{ypos = 2, prob = 127},
{ypos = 5, prob = 127},
{ypos = 6, prob = 127},
},
}
-- Giant Mushroom White Middle
local gmw_mid_schem = {
size = {x=9, y=12, z=9},
data = {
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
E,E,E,E,E,E,E,E,E,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
E,W,W,W,W,W,W,W,E,
_,E,E,E,E,E,E,E,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,_,
_,_,H,H,H,H,H,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,W,W,W,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,_,
_,_,H,F,F,F,H,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Y,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,W,Q,W,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
_,_,_,_,Q,_,_,_,_,
E,W,_,_,Q,_,_,W,E,
_,E,E,E,E,E,E,E,_,
_,_,H,F,F,F,H,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,W,W,W,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,_,
_,_,H,F,F,F,H,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
E,W,_,_,_,_,_,W,E,
_,E,E,E,E,E,E,E,_,
_,_,H,H,H,H,H,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
E,W,W,W,W,W,W,W,E,
_,E,E,E,E,E,E,E,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
E,E,E,E,E,E,E,E,E,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
},
yslice_prob = {
{ypos = 2, prob = 127},
{ypos = 5, prob = 127},
{ypos = 6, prob = 127},
},
}
-- Giant Lavashroom
local gml_schem = {
size = {x=9, y=12, z=9},
data = {
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,I,I,I,I,I,I,J,_,
_,I,I,I,I,I,I,J,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,I,I,K,K,K,I,I,_,
I,_,_,_,_,_,_,_,J,
I,_,_,_,_,_,_,_,I,
_,I,I,I,I,J,I,I,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,K,K,K,K,K,_,_,
_,I,I,K,K,K,I,I,_,
I,_,_,_,_,_,_,_,J,
I,_,_,_,_,_,_,_,I,
_,I,_,_,_,_,_,I,_,
_,_,I,I,I,I,J,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,K,K,_,K,K,_,_,
_,K,K,_,_,_,K,K,_,
I,_,_,_,_,_,_,_,I,
J,_,_,_,_,_,_,_,I,
_,I,_,_,_,_,_,I,_,
_,_,J,I,J,I,I,_,_,
_,_,_,M,_,M,_,_,_,
_,_,_,M,_,M,_,_,_,
_,_,_,M,_,M,_,_,_,
_,_,_,M,_,M,_,_,_,
_,_,_,M,_,M,_,_,_,
_,_,_,M,_,M,_,_,_,
_,_,K,_,_,_,K,_,_,
_,K,K,_,_,_,K,K,_,
I,_,_,_,_,_,_,_,J,
I,_,_,_,_,_,_,_,I,
_,I,_,_,_,_,_,I,_,
_,_,I,I,I,I,I,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,_,_,M,_,_,_,_,
_,_,K,K,_,K,K,_,_,
_,K,K,_,_,_,K,K,_,
I,_,_,_,_,_,_,_,I,
I,_,_,_,_,_,_,_,I,
_,J,_,_,_,_,_,I,_,
_,_,J,J,I,I,I,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,K,K,K,K,K,_,_,
_,I,I,K,K,K,I,I,_,
I,_,_,_,_,_,_,_,I,
I,_,_,_,_,_,_,_,J,
_,J,_,_,_,_,_,I,_,
_,_,I,I,I,I,J,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,I,J,K,K,K,I,I,_,
J,_,_,_,_,_,_,_,I,
I,_,_,_,_,_,_,_,I,
_,I,I,I,I,I,I,I,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
_,I,I,J,I,I,I,I,_,
_,I,I,I,I,I,I,I,_,
_,_,_,_,_,_,_,_,_,
_,_,_,_,_,_,_,_,_,
},
}
-- Giant Mushroom Glow
local gmg_schem = {
size = {x=5, y=8, z=5},
data = {
_,_,_,_,_,
_,_,_,_,_,
P,_,_,_,P,
O,_,_,_,O,
O,O,O,O,O,
O,O,O,O,O,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
O,_,_,_,O,
O,O,O,O,O,
_,O,O,O,_,
_,_,_,_,_,
_,_,N,_,_,
_,_,N,_,_,
_,_,N,_,_,
_,_,N,_,_,
O,_,N,_,O,
O,O,O,O,O,
_,O,O,O,_,
_,_,O,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
O,_,_,_,O,
O,O,O,O,O,
_,O,O,O,_,
_,_,_,_,_,
_,_,_,_,_,
_,_,_,_,_,
P,_,_,_,P,
O,_,_,_,O,
O,O,O,O,O,
O,O,O,O,O,
_,_,_,_,_,
_,_,_,_,_,
},
}
-- Giant Mushroom Red 45
local gmr45_schem = {
size = {x=7, y=11, z=7},
data = {
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,_,_,_,_,_,R,
R,R,_,_,_,R,R,
Z,R,_,_,_,R,Z,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,R,_,_,_,R,R,
R,R,_,_,_,R,R,
_,R,R,_,R,R,_,
_,R,R,_,R,R,_,
_,_,_,_,_,_,_,
_,_,X,X,X,_,_,
_,_,X,X,X,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,R,_,R,_,_,
_,_,R,R,R,_,_,
_,_,_,R,_,_,_,
_,R,R,_,R,R,_,
_,R,R,_,R,R,_,
_,_,R,R,R,_,_,
_,_,X,X,X,_,_,
_,_,X,X,X,_,_,
_,_,_,X,_,_,_,
_,_,_,X,_,_,_,
_,_,_,X,_,_,_,
_,_,_,X,_,_,_,
_,_,R,X,R,_,_,
_,_,R,X,R,_,_,
_,_,_,X,_,_,_,
_,_,_,X,_,_,_,
_,_,R,R,R,_,_,
_,_,X,X,X,_,_,
_,_,X,X,X,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,R,_,R,_,_,
_,_,R,R,R,_,_,
_,_,_,R,_,_,_,
_,R,R,_,R,R,_,
_,R,R,_,R,R,_,
_,_,R,R,R,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,R,_,_,_,R,R,
R,R,_,_,_,R,R,
_,R,R,_,R,R,_,
_,R,R,_,R,R,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
R,_,_,_,_,_,R,
R,R,_,_,_,R,R,
Z,R,_,_,_,R,Z,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
_,_,_,_,_,_,_,
},
}
-- Mapgen
minetest.register_biome(
{
name = "mushroom_forest",
node_top = "riesenpilz:ground",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 3,
node_riverbed = "default:sand",
depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = 3,
heat_point = 85,
humidity_point = 125,
})
minetest.register_biome(
{
name = "mixed_mushroom_hot",
node_top = "default:dirt_with_rainforest_litter",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 3,
node_riverbed = "default:sand",
depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = 1,
heat_point = 91,
humidity_point = 106,
})
minetest.register_biome(
{
name = "mixed_mushroom_deciduous",
node_top = "default:dirt_with_grass",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 3,
node_riverbed = "default:sand",
depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = 1,
heat_point = 66,
humidity_point = 110,
})
minetest.register_biome(
{
name = "mixed_mushroom_cold",
node_top = "default:dirt_with_coniferous_litter",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 3,
node_riverbed = "default:sand",
depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = 6,
heat_point = 51,
humidity_point = 112,
})
--- Add default vegetation on new biomes ---
-- Mixed Mushroom Deciduous
-- Apple tree and log
minetest.register_decoration({
name = "default:apple_tree_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.024,
scale = 0.015,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"mixed_mushroom_deciduous"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/apple_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "default:apple_log_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = 0.0012,
scale = 0.0007,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"mixed_mushroom_deciduous"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/apple_log.mts",
flags = "place_center_x",
rotation = "random",
spawn_by = "default:dirt_with_grass",
num_spawn_by = 8,
})
-- Aspen tree and log
minetest.register_decoration({
name = "default:aspen_tree_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = 0.0,
scale = -0.015,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"mixed_mushroom_deciduous"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/aspen_tree.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
name = "default:aspen_log_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
offset = 0.0,
scale = -0.0008,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"mixed_mushroom_deciduous"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/aspen_log.mts",
flags = "place_center_x",
rotation = "random",
spawn_by = "default:dirt_with_grass",
num_spawn_by = 8,
})
-- Bush
minetest.register_decoration({
name = "default:bush_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 3,
persist = 0.7,
},
biomes = {"mixed_mushroom_deciduous"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/bush.mts",
flags = "place_center_x, place_center_z",
})
-- Grasses
local function register_grass_decoration(offset, scale, length)
minetest.register_decoration({
name = "default:mush_grass_" .. length,
deco_type = "simple",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = offset,
scale = scale,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"mixed_mushroom_deciduous"},
y_max = 31000,
y_min = 1,
decoration = "default:grass_" .. length,
})
end
register_grass_decoration(-0.03, 0.09, 5)
register_grass_decoration(-0.015, 0.075, 4)
register_grass_decoration(0, 0.06, 3)
register_grass_decoration(0.015, 0.045, 2)
register_grass_decoration(0.03, 0.03, 1)
-- Mixed Mushroom Hot
local chunksize = tonumber(minetest.get_mapgen_setting("chunksize"))
if chunksize >= 5 then
minetest.register_decoration({
name = "default:emergent_jungle_tree_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_rainforest_litter"},
sidelen = 80,
noise_params = {
offset = 0.0,
scale = 0.0025,
spread = {x = 250, y = 250, z = 250},
seed = 2685,
octaves = 3,
persist = 0.7
},
biomes = {"mixed_mushroom_hot"},
y_max = 32,
y_min = 1,
schematic = minetest.get_modpath("default") ..
"/schematics/emergent_jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
place_offset_y = -4,
})
end
-- Jungle tree and log
minetest.register_decoration({
name = "default:jungle_tree_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_rainforest_litter", "default:dirt"},
sidelen = 80,
fill_ratio = 0.1,
biomes = {"mixed_mushroom_hot"},
y_max = 31000,
y_min = -1,
schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
minetest.register_decoration({
name = "default:jungle_log_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_rainforest_litter"},
place_offset_y = 1,
sidelen = 80,
fill_ratio = 0.005,
biomes = {"mixed_mushroom_hot"},
y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/jungle_log.mts",
flags = "place_center_x",
rotation = "random",
spawn_by = "default:dirt_with_rainforest_litter",
num_spawn_by = 8,
})
-- Junglegrass
minetest.register_decoration({
name = "default:junglegrass_mush",
deco_type = "simple",
place_on = {"default:dirt_with_rainforest_litter"},
sidelen = 80,
fill_ratio = 0.1,
biomes = {"mixed_mushroom_hot"},
y_max = 31000,
y_min = 1,
decoration = "default:junglegrass",
})
-- Mixed Mushroom Cold
-- Taiga and temperate coniferous forest pine tree, small pine tree and log
minetest.register_decoration({
name = "default:pine_tree_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"},
sidelen = 16,
noise_params = {
offset = 0.010,
scale = 0.048,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"mixed_mushroom_cold"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
name = "default:small_pine_tree_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"},
sidelen = 16,
noise_params = {
offset = 0.010,
scale = -0.048,
spread = {x = 250, y = 250, z = 250},
seed = 2,
octaves = 3,
persist = 0.66
},
biomes = {"mixed_mushroom_cold"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/small_pine_tree.mts",
flags = "place_center_x, place_center_z",
})
minetest.register_decoration({
name = "default:pine_log_mush",
deco_type = "schematic",
place_on = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"},
place_offset_y = 1,
sidelen = 80,
fill_ratio = 0.0018,
biomes = {"mixed_mushroom_cold"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts",
flags = "place_center_x",
rotation = "random",
spawn_by = {"default:dirt_with_snow", "default:dirt_with_coniferous_litter"},
num_spawn_by = 8,
})
-- Ferns
local function register_fern_decoration(seed, length)
minetest.register_decoration({
name = "default:mush_fern_" .. length,
deco_type = "simple",
place_on = {"default:dirt_with_coniferous_litter"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.2,
spread = {x = 100, y = 100, z = 100},
seed = seed,
octaves = 3,
persist = 0.7
},
biomes = {"mixed_mushroom_cold"},
y_max = 31000,
y_min = 6,
decoration = "default:fern_" .. length,
})
end
register_fern_decoration(14936, 3)
register_fern_decoration(801, 2)
register_fern_decoration(5, 1)
-- Mushroom Forest
-- Dry shrub
minetest.register_decoration({
name = "default:dry_shrub_mush",
deco_type = "simple",
place_on = {"riesenpilz:ground"},
sidelen = 16,
noise_params = {
offset = 0,
scale = 0.02,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 3,
persist = 0.6
},
biomes = {"mushroom_forest"},
y_max = 31000,
y_min = 2,
decoration = "default:dry_shrub",
param2 = 4,
})
-- Add Mushroom decorations
local mush_schems = {
gmb_big = gmb_big_schem,
gmb_mid = gmb_mid_schem,
gmb_tiny = gmb_tiny_schem,
gmr_big = gmr_big_schem,
gmr_mid = gmr_mid_schem,
gmr_tiny = gmr_tiny_schem,
gmw_big = gmw_big_schem,
gmw_mid = gmw_mid_schem,
gymr = gymr_schem,
gml = gml_schem,
gmg = gmg_schem,
gmr45 = gmr45_schem,
}
for mushname, schem in pairs(mush_schems) do
local fillr = 0.0008
if (mushname == "gmr_tiny") then
fillr = 0.008
elseif (mushname == "gml" or mushname == "gmg" or mushname == "gmr45") then
fillr = 0.00005
end
minetest.register_decoration({
name = "riesenpilz:forest_"..mushname,
deco_type = "schematic",
place_on = {"riesenpilz:ground"},
sidelen = 16,
fill_ratio = fillr,
biomes = { "mushroom_forest" },
y_min = 1,
y_max = 31000,
schematic = schem,
flags = "place_center_x, place_center_z",
})
if (mushname ~= "gml" and mushname ~= "gmg" and mushname ~= "gmr45") then
minetest.register_decoration(
{
name = "riesenpilz:mixed_"..mushname,
deco_type = "schematic",
place_on = {"default:dirt_with_grass", "default:dirt_with_coniferous_litter", "default:dirt"},
sidelen = 16,
fill_ratio = 0.00005,
biomes = { "mixed_mushroom_cold", "mixed_mushroom_deciduous"},
y_min = 1,
y_max = 31000,
schematic = schem,
flags = "place_center_x, place_center_z",
})
minetest.register_decoration(
{
name = "riesenpilz:mixed_jungle_"..mushname,
deco_type = "schematic",
place_on = {"default:dirt_with_grass", "default:dirt_with_rainforest_litter", "default:dirt"},
sidelen = 80,
fill_ratio = 0.0005,
biomes = { "mixed_mushroom_hot"},
y_min = 1,
y_max = 31000,
schematic = schem,
flags = "place_center_x, place_center_z",
})
end
end
for _,mushname in pairs({
"brown", "red", "fly_agaric",
"lavashroom", "glowshroom",
"parasol", "red45"
}) do
minetest.register_decoration(
{
name = "riesenpilz:"..mushname,
deco_type = "simple",
place_on = {"riesenpilz:ground"},
sidelen = 16,
fill_ratio = 0.01,
biomes = { "mushroom_forest" },
y_min = 1,
y_max = 31000,
decoration = "riesenpilz:"..mushname,
})
end
-- Bonemeal support
if minetest.get_modpath("bonemeal") then
local grow_params = {
["riesenpilz:red"] = {
[1] = {
schem = gmr_tiny_schem,
},
[2] = {
schem = gmr_mid_schem,
},
[3] = {
schem = gmr_big_schem,
}},
["riesenpilz:fly_agaric"] = {
[1] = {
schem = gymr_schem,
}},
["riesenpilz:brown"] = {
[1] = {
schem = gmb_tiny_schem,
},
[2] = {
schem = gmb_mid_schem,
},
[3] = {
schem = gmb_big_schem,
}},
["riesenpilz:lavashroom"] = {
[1] = {
schem = gml_schem,
}},
["riesenpilz:glowshroom"] = {
[1] = {
schem = gmg_schem,
}},
["riesenpilz:parasol"] = {
[1] = {
schem = gmw_mid_schem,
},
[2] = {
schem = gmw_big_schem,
}},
["riesenpilz:red45"] = {
[1] = {
schem = gmr45_schem,
}},
}
-- Override mushrooms
for _,mushname in pairs({
"brown", "red", "fly_agaric",
"lavashroom", "glowshroom",
"parasol", "red45"
}) do
local groups = table.copy(minetest.registered_nodes["riesenpilz:"..mushname].groups)
groups.sapling = 1
local minp = table.copy( grow_params["riesenpilz:"..mushname][#grow_params["riesenpilz:"..mushname]].schem.size)
local maxp = table.copy(minp)
minp.x = 0 - math.floor(minp.x/2)
minp.y = 1
minp.z = minp.x
maxp.x = math.abs(minp.x)
maxp.z = maxp.x
minetest.override_item(
"riesenpilz:"..mushname, {
groups = groups,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(
itemstack, placer, pointed_thing,
"riesenpilz:"..mushname,
minp,
maxp,
4)
return itemstack
end,
})
end
local function grow_mushroom(pos)
if not default.can_grow(pos) then
return
end
local node = minetest.get_node(pos)
local grow_param = grow_params[node.name]
if grow_param then
minetest.log("action", "A mushroom grows into a giant mushroom at "..
minetest.pos_to_string(pos))
local i = math.random(1, #grow_param)
local center = table.copy(grow_param[i].schem.size)
center.x = pos.x - (math.floor(center.x/2))
center.y = pos.y - 1
center.z = pos.z - (math.floor(center.z/2))
minetest.place_schematic(center, grow_param[i].schem, nil, nil, true)
end
end
bonemeal:add_sapling({
{"riesenpilz:red", grow_mushroom, "soil"},
{"riesenpilz:fly_agaric", grow_mushroom, "soil"},
{"riesenpilz:brown", grow_mushroom, "soil"},
{"riesenpilz:lavashroom", grow_mushroom, "soil"},
{"riesenpilz:glowshroom", grow_mushroom, "soil"},
{"riesenpilz:parasol", grow_mushroom, "soil"},
{"riesenpilz:red45", grow_mushroom, "soil"}
})
end
minetest.log("action", "[nalc_riesenpilz] loaded.")