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