Added saprotrophic fungi
498
init.lua
@ -17,7 +17,22 @@ minetest.register_node("nsspf:boletus_edulis", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:canthrellus_cibarius", {
|
minetest.register_node("nsspf:boletus_edulis_fungusdirt", {
|
||||||
|
description = "Boletus edulis Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:boletus_edulis_spores" 1'},
|
||||||
|
rarity = 20
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:cantharellus_cibarius", {
|
||||||
description = "Cantharellus cibarius",
|
description = "Cantharellus cibarius",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
mesh = "cantharellus_cibarius.b3d",
|
mesh = "cantharellus_cibarius.b3d",
|
||||||
@ -36,6 +51,21 @@ minetest.register_node("nsspf:canthrellus_cibarius", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:cantharellus_cibarius_fungusdirt", {
|
||||||
|
description = "Cantharellus cibarius Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:cantharellus_cibarius_spores" 1'},
|
||||||
|
rarity = 15
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:suillus_grevillei", {
|
minetest.register_node("nsspf:suillus_grevillei", {
|
||||||
description = "Suillus grevillei",
|
description = "Suillus grevillei",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
@ -55,6 +85,21 @@ minetest.register_node("nsspf:suillus_grevillei", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:suillus_grevillei_fungusdirt", {
|
||||||
|
description = "Suillus grevillei Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:suillus_grevillei_spores" 1'},
|
||||||
|
rarity = 8
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:morchella_conica", {
|
minetest.register_node("nsspf:morchella_conica", {
|
||||||
description = "Morchella conica",
|
description = "Morchella conica",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
@ -74,6 +119,21 @@ minetest.register_node("nsspf:morchella_conica", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:morchella_conica_fungusdirt", {
|
||||||
|
description = "Morchella conica Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:morchella_conica_spores" 1'},
|
||||||
|
rarity = 14
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:russula_xerampelina", {
|
minetest.register_node("nsspf:russula_xerampelina", {
|
||||||
description = "Russula xerampelina",
|
description = "Russula xerampelina",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
@ -93,6 +153,21 @@ minetest.register_node("nsspf:russula_xerampelina", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:russula_xerampelina_fungusdirt", {
|
||||||
|
description = "Russula xerampelina Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:russula_xerampelina_spores" 1'},
|
||||||
|
rarity = 12
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:boletus_pinophilus", {
|
minetest.register_node("nsspf:boletus_pinophilus", {
|
||||||
description = "Boletus pinophilus",
|
description = "Boletus pinophilus",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
@ -112,6 +187,21 @@ minetest.register_node("nsspf:boletus_pinophilus", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:boletus_pinophilus_fungusdirt", {
|
||||||
|
description = "Boletus pinophilus Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:boletus_pinophilus_spores" 1'},
|
||||||
|
rarity = 20
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:boletus_satanas", {
|
minetest.register_node("nsspf:boletus_satanas", {
|
||||||
description = "Boletus satanas",
|
description = "Boletus satanas",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
@ -131,6 +221,21 @@ minetest.register_node("nsspf:boletus_satanas", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:boletus_satanas_fungusdirt", {
|
||||||
|
description = "Boletus satanas Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:boletus_satanas_spores" 1'},
|
||||||
|
rarity = 20
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:amanita_phalloides", {
|
minetest.register_node("nsspf:amanita_phalloides", {
|
||||||
description = "Amanita phalloides",
|
description = "Amanita phalloides",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
@ -150,6 +255,21 @@ minetest.register_node("nsspf:amanita_phalloides", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:amanita_muscaria_fungusdirt", {
|
||||||
|
description = "Amanita muscaria Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:amanita_muscaria_spores" 1'},
|
||||||
|
rarity = 16
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:amanita_muscaria", {
|
minetest.register_node("nsspf:amanita_muscaria", {
|
||||||
description = "Amanita muscaria",
|
description = "Amanita muscaria",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
@ -169,23 +289,19 @@ minetest.register_node("nsspf:amanita_muscaria", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:macrolepiota_procera", {
|
minetest.register_node("nsspf:amanita_phalloides_fungusdirt", {
|
||||||
description = "macrolepiota_procera",
|
description = "Amanita phalloides Dirt",
|
||||||
drawtype = "mesh",
|
tiles = {"default_dirt.png"},
|
||||||
mesh = "macrolepiota_procera.b3d",
|
drop = {
|
||||||
paramtype = 'light',
|
max_items = 1,
|
||||||
paramtype2 = 'facedir',
|
items = {
|
||||||
tiles = {"macrolepiota_procera.png"},
|
{
|
||||||
groups = {snappy=3},
|
items = {'node "nsspf:amanita_phalloides_spores" 1'},
|
||||||
-- drop = 'default:dirt',
|
rarity = 18
|
||||||
selection_box = {
|
},
|
||||||
type = 'fixed',
|
}
|
||||||
fixed = {-0.05, -0.49, -0.05, 0.05, 0.2, 0.05}, -- Right, Bottom, Back, Left, Top, Front
|
},
|
||||||
},
|
groups = {crumbly = 3},
|
||||||
collision_box = {
|
|
||||||
type = 'fixed',
|
|
||||||
fixed = {-0.05, -0.49, -0.05, 0.05, 0.2, 0.05}, -- Right, Bottom, Back, Left, Top, Front
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
|
||||||
function nsspf_register_mycorrhizalmycelium (name, descr, tree)
|
function nsspf_register_mycorrhizalmycelium (name, descr, tree)
|
||||||
@ -196,11 +312,16 @@ function nsspf_register_mycorrhizalmycelium (name, descr, tree)
|
|||||||
groups = {crumbly = 2},
|
groups = {crumbly = 2},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_craftitem("nsspf:"..name.."_spores", {
|
||||||
|
description = descr.." Spores",
|
||||||
|
image = "spores.png",
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {"default:dirt"},
|
nodenames = {"default:dirt"},
|
||||||
neighbors = {tree},
|
neighbors = {tree},
|
||||||
interval = 30.0,
|
interval = 300.0,
|
||||||
chance = 20,
|
chance = 60,
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
local flag = 0
|
local flag = 0
|
||||||
for dx = -2,2 do
|
for dx = -2,2 do
|
||||||
@ -226,15 +347,15 @@ function nsspf_register_mycorrhizalmycelium (name, descr, tree)
|
|||||||
interval = 1,
|
interval = 1,
|
||||||
chance = 1,
|
chance = 1,
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
minetest.set_node(pos, {name="default:dirt"})
|
minetest.set_node(pos, {name="nsspf:"..name.."_fungusdirt"})
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {"default:dirt"},
|
nodenames = {"default:dirt"},
|
||||||
neighbors = {"nsspf:"..name.."_mycelium"},
|
neighbors = {"nsspf:"..name.."_mycelium"},
|
||||||
interval = 30.0,
|
interval = 120.0,
|
||||||
chance = 20,
|
chance = 40,
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "nsspf:"..name.."_mycelium"})
|
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "nsspf:"..name.."_mycelium"})
|
||||||
end
|
end
|
||||||
@ -243,8 +364,8 @@ function nsspf_register_mycorrhizalmycelium (name, descr, tree)
|
|||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {"nsspf:"..name.."_mycelium"},
|
nodenames = {"nsspf:"..name.."_mycelium"},
|
||||||
neighbors = {"default:dirt_with_grass"},
|
neighbors = {"default:dirt_with_grass"},
|
||||||
interval = 30.0,
|
interval = 120.0,
|
||||||
chance = 20,
|
chance = 40,
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
local pos1 = {x=pos.x, y=pos.y+2, z=pos.z}
|
local pos1 = {x=pos.x, y=pos.y+2, z=pos.z}
|
||||||
local pos2 = {x=pos.x, y=pos.y+1, z=pos.z}
|
local pos2 = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||||
@ -267,8 +388,6 @@ nsspf_register_mycorrhizalmycelium ('suillus_grevillei','Suillus grevillei Mycel
|
|||||||
nsspf_register_mycorrhizalmycelium ('russula_xerampelina','Russula xerampelina Mycelium', "default:pine_tree")
|
nsspf_register_mycorrhizalmycelium ('russula_xerampelina','Russula xerampelina Mycelium', "default:pine_tree")
|
||||||
nsspf_register_mycorrhizalmycelium ('cantharellus_cibarius','Cantherellus cibarius Mycelium', "default:pine_tree")
|
nsspf_register_mycorrhizalmycelium ('cantharellus_cibarius','Cantherellus cibarius Mycelium', "default:pine_tree")
|
||||||
nsspf_register_mycorrhizalmycelium ('morchella_conica','Morchella conica Mycelium', "default:aspen_tree")
|
nsspf_register_mycorrhizalmycelium ('morchella_conica','Morchella conica Mycelium', "default:aspen_tree")
|
||||||
--nsspf_register_mycelium ('macrolepiota_procera_mycelium','')
|
|
||||||
--nsspf_register_mycelium ('','')
|
|
||||||
|
|
||||||
|
|
||||||
--tuber
|
--tuber
|
||||||
@ -283,8 +402,8 @@ function nsspf_register_tuber (name, descr, tree)
|
|||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {"default:dirt"},
|
nodenames = {"default:dirt"},
|
||||||
neighbors = {tree},
|
neighbors = {tree},
|
||||||
interval = 20.0,
|
interval = 300.0,
|
||||||
chance = 10,
|
chance = 120,
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
local flag = 0
|
local flag = 0
|
||||||
for dx = -2,2 do
|
for dx = -2,2 do
|
||||||
@ -314,7 +433,7 @@ function nsspf_register_tuber (name, descr, tree)
|
|||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:"..name.."_fruit", {
|
minetest.register_node("nsspf:"..name.."_fruit", {
|
||||||
description = descr.." Fruit",
|
description = descr.." Truffle",
|
||||||
tiles = {"default_dirt.png"},
|
tiles = {"default_dirt.png"},
|
||||||
drop = "nsspf:"..name,
|
drop = "nsspf:"..name,
|
||||||
groups = {crumbly = 3},
|
groups = {crumbly = 3},
|
||||||
@ -323,8 +442,8 @@ function nsspf_register_tuber (name, descr, tree)
|
|||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {"default:dirt"},
|
nodenames = {"default:dirt"},
|
||||||
neighbors = {"nsspf:"..name.."_tuber_mycelium"},
|
neighbors = {"nsspf:"..name.."_tuber_mycelium"},
|
||||||
interval = 20.0,
|
interval = 120.0,
|
||||||
chance = 10,
|
chance = 100,
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "nsspf:"..name.."_tuber_mycelium"})
|
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "nsspf:"..name.."_tuber_mycelium"})
|
||||||
end
|
end
|
||||||
@ -343,8 +462,8 @@ function nsspf_register_tuber (name, descr, tree)
|
|||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {"default:dirt"},
|
nodenames = {"default:dirt"},
|
||||||
neighbors = {"nsspf:"..name.."_tuber_mycelium"},
|
neighbors = {"nsspf:"..name.."_tuber_mycelium"},
|
||||||
interval = 30.0,
|
interval = 300.0,
|
||||||
chance = 20,
|
chance = 120,
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "nsspf:"..name.."_fruit"})
|
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "nsspf:"..name.."_fruit"})
|
||||||
end
|
end
|
||||||
@ -419,6 +538,7 @@ minetest.register_node("nsspf:terfezia_arenaria_fungusdirt", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
--Saprotrophic fungi that live on trees
|
--Saprotrophic fungi that live on trees
|
||||||
|
|
||||||
minetest.register_node("nsspf:fistulina_hepatica", {
|
minetest.register_node("nsspf:fistulina_hepatica", {
|
||||||
description = "Fistulina hepatica",
|
description = "Fistulina hepatica",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
@ -457,6 +577,44 @@ minetest.register_node("nsspf:armillaria_mellea", {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:mycena_chlorophos", {
|
||||||
|
description = "Mycena chlorophos",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "mycena_chlorophos.b3d",
|
||||||
|
paramtype = 'light',
|
||||||
|
paramtype2 = 'facedir',
|
||||||
|
tiles = {"mycena_chlorophos.png"},
|
||||||
|
groups = {snappy=3},
|
||||||
|
-- drop = 'default:dirt',
|
||||||
|
selection_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.2, -0.4, 0.2, 0.2, 0.4, 0.5}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.2, -0.4, 0.2, 0.2, 0.4, 0.5}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:mycena_chlorophos_light", {
|
||||||
|
description = "Nocturn Mycena chlorophos",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "mycena_chlorophos.b3d",
|
||||||
|
paramtype = 'light',
|
||||||
|
paramtype2 = 'facedir',
|
||||||
|
tiles = {"mycena_chlorophos_light.png"},
|
||||||
|
groups = {snappy=3},
|
||||||
|
-- drop = 'default:dirt',
|
||||||
|
selection_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.2, -0.4, 0.2, 0.2, 0.4, 0.5}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.2, -0.4, 0.2, 0.2, 0.4, 0.5}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_node("nsspf:panellus_pusillus", {
|
minetest.register_node("nsspf:panellus_pusillus", {
|
||||||
description = "Panellus pusillus",
|
description = "Panellus pusillus",
|
||||||
drawtype = "mesh",
|
drawtype = "mesh",
|
||||||
@ -503,8 +661,8 @@ function nssbf_register_saprotrophicontrees (name, descr, tree)
|
|||||||
minetest.register_abm({
|
minetest.register_abm({
|
||||||
nodenames = {tree},
|
nodenames = {tree},
|
||||||
neighbors = {"air"},
|
neighbors = {"air"},
|
||||||
interval = 10.0,
|
interval = 400.0,
|
||||||
chance = 20,
|
chance = 60,
|
||||||
action = function(pos, node)
|
action = function(pos, node)
|
||||||
local pos1 = {x=pos.x, y=pos.y, z=pos.z-1}
|
local pos1 = {x=pos.x, y=pos.y, z=pos.z-1}
|
||||||
local n = minetest.env:get_node(pos1).name
|
local n = minetest.env:get_node(pos1).name
|
||||||
@ -518,13 +676,33 @@ end
|
|||||||
|
|
||||||
nssbf_register_saprotrophicontrees ('armillaria_mellea', 'Armillaria mellea', 'default:tree')
|
nssbf_register_saprotrophicontrees ('armillaria_mellea', 'Armillaria mellea', 'default:tree')
|
||||||
nssbf_register_saprotrophicontrees ('panellus_pusillus', 'Panellus pusillus', 'default:tree')
|
nssbf_register_saprotrophicontrees ('panellus_pusillus', 'Panellus pusillus', 'default:tree')
|
||||||
nssbf_register_saprotrophicontrees ('fistulina_hepatica', 'Fistulina hepatica', 'default:tree')
|
nssbf_register_saprotrophicontrees ('fistulina_hepatica', 'Fistulina hepatica', 'default:jungle_tree')
|
||||||
|
nssbf_register_saprotrophicontrees ('mycena_chlorophos', 'Mycena clorophos', 'default:jungle_tree')
|
||||||
|
|
||||||
local OPEN_TIME_START = 0.2 -- Day time at which moon flowers open up
|
local OPEN_TIME_START = 0.2 -- Day time at which moon flowers open up
|
||||||
local OPEN_TIME_END = 0.8 -- Day time at which moon flowers close up
|
local OPEN_TIME_END = 0.8 -- Day time at which moon flowers close up
|
||||||
local OPEN_CHECK = 10 -- Interval at which to check if lighting changed
|
local OPEN_CHECK = 10 -- Interval at which to check if lighting changed
|
||||||
|
|
||||||
set_fl = function (pos)
|
set_fluo = function (pos)
|
||||||
|
if (minetest.env:get_node_light(pos, 0.5) == 15)
|
||||||
|
and ((minetest.env:get_timeofday() < OPEN_TIME_START) or (minetest.env:get_timeofday() > OPEN_TIME_END)) then
|
||||||
|
minetest.env:add_node(pos, { name = "nsspf:mycena_chlorophos" })
|
||||||
|
else
|
||||||
|
minetest.env:add_node(pos, { name = "nsspf:mycena_chlorophos_light" })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = { "nsspf:mycena_chlorophos", "nsspf:mycena_chlorophos_light" },
|
||||||
|
interval = OPEN_CHECK,
|
||||||
|
chance = 1,
|
||||||
|
|
||||||
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
|
set_fluo(pos)
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
set_fluor = function (pos)
|
||||||
if (minetest.env:get_node_light(pos, 0.5) == 15)
|
if (minetest.env:get_node_light(pos, 0.5) == 15)
|
||||||
and ((minetest.env:get_timeofday() < OPEN_TIME_START) or (minetest.env:get_timeofday() > OPEN_TIME_END)) then
|
and ((minetest.env:get_timeofday() < OPEN_TIME_START) or (minetest.env:get_timeofday() > OPEN_TIME_END)) then
|
||||||
minetest.env:add_node(pos, { name = "nsspf:panellus_pusillus" })
|
minetest.env:add_node(pos, { name = "nsspf:panellus_pusillus" })
|
||||||
@ -539,6 +717,248 @@ minetest.register_abm({
|
|||||||
chance = 1,
|
chance = 1,
|
||||||
|
|
||||||
action = function(pos, node, active_object_count, active_object_count_wider)
|
action = function(pos, node, active_object_count, active_object_count_wider)
|
||||||
set_fl(pos)
|
set_fluor(pos)
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
--Saprotrophic fungi that grow on the ground
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:macrolepiota_procera", {
|
||||||
|
description = "Macrolepiota procera",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "macrolepiota_procera.b3d",
|
||||||
|
paramtype = 'light',
|
||||||
|
paramtype2 = 'facedir',
|
||||||
|
tiles = {"macrolepiota_procera.png"},
|
||||||
|
groups = {snappy=3},
|
||||||
|
-- drop = 'default:dirt',
|
||||||
|
selection_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.05, -0.49, -0.05, 0.05, 0.2, 0.05}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.05, -0.49, -0.05, 0.05, 0.2, 0.05}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:macrolepiota_procera_fungusdirt", {
|
||||||
|
description = "Macrolepiota procera Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:macrolepiota_procera_spores" 1'},
|
||||||
|
rarity = 21
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:psilocybe_cubensis", {
|
||||||
|
description = "Psilocybe cubensis",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "psilocybe_cubensis.b3d",
|
||||||
|
paramtype = 'light',
|
||||||
|
paramtype2 = 'facedir',
|
||||||
|
tiles = {"psilocybe_cubensis.png"},
|
||||||
|
groups = {snappy=3},
|
||||||
|
-- drop = 'default:dirt',
|
||||||
|
selection_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.1, -0.49, -0.1, 0.1, -0.1, 0.1}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.1, -0.49, -0.1, 0.1, -0.1, 0.1}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:psilocybe_cubensis_fungusdirt", {
|
||||||
|
description = "Psilocybe cubensis Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:psilocybe_cubensis_spores" 1'},
|
||||||
|
rarity = 9
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:lycoperdon_pyriforme", {
|
||||||
|
description = "Lycoperdon pyriforme",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "lycoperdon_pyriforme.b3d",
|
||||||
|
paramtype = 'light',
|
||||||
|
paramtype2 = 'facedir',
|
||||||
|
tiles = {"lycoperdon_pyriforme.png"},
|
||||||
|
groups = {snappy=3},
|
||||||
|
-- drop = 'default:dirt',
|
||||||
|
selection_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.3, -0.49, -0.3, 0.3, -0.3, 0.3}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.3, -0.49, -0.3, 0.3, -0.3, 0.3}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:lycoperdon_pyriforme_fungusdirt", {
|
||||||
|
description = "Lycoperdon pyriforme Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:lycoperdon_pyriforme_spores" 1'},
|
||||||
|
rarity = 5
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:gyromitra_esculenta", {
|
||||||
|
description = "Gyromitra esculenta",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "gyromitra_esculenta.b3d",
|
||||||
|
paramtype = 'light',
|
||||||
|
paramtype2 = 'facedir',
|
||||||
|
tiles = {"gyromitra_esculenta.png"},
|
||||||
|
groups = {snappy=3},
|
||||||
|
-- drop = 'default:dirt',
|
||||||
|
selection_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.05, -0.49, -0.05, 0.05, -0.2, 0.05}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.05, -0.49, -0.05, 0.05, -0.2, 0.05}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:gyromitra_esculenta_fungusdirt", {
|
||||||
|
description = "Gyromitra esculenta Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:gyromitra_esculenta_spores" 1'},
|
||||||
|
rarity = 18
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:coprinus_atramentarius", {
|
||||||
|
description = "Coprinus atramentarius",
|
||||||
|
drawtype = "mesh",
|
||||||
|
mesh = "coprinus_atramentarius.b3d",
|
||||||
|
paramtype = 'light',
|
||||||
|
paramtype2 = 'facedir',
|
||||||
|
tiles = {"coprinus_atramentarius.png"},
|
||||||
|
groups = {snappy=3},
|
||||||
|
-- drop = 'default:dirt',
|
||||||
|
selection_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.05, -0.49, -0.05, 0.05, 0, 0.05}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
collision_box = {
|
||||||
|
type = 'fixed',
|
||||||
|
fixed = {-0.05, -0.49, -0.05, 0.05, 0, 0.05}, -- Right, Bottom, Back, Left, Top, Front
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:coprinus_atramentarius_fungusdirt", {
|
||||||
|
description = "Coprinus atramentarius Dirt",
|
||||||
|
tiles = {"default_dirt.png"},
|
||||||
|
drop = {
|
||||||
|
max_items = 1,
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
items = {'node "nsspf:coprinus_atramentarius_spores" 1'},
|
||||||
|
rarity = 20
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
groups = {crumbly = 3},
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
function nsspf_register_saprotrophicground (name, descr)
|
||||||
|
|
||||||
|
minetest.register_node("nsspf:"..name.."_mycelium", {
|
||||||
|
description = descr,
|
||||||
|
tiles = {"saprotrophic_mycelium.png"},
|
||||||
|
groups = {crumbly = 2},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craftitem("nsspf:"..name.."_spores", {
|
||||||
|
description = descr.." Spores",
|
||||||
|
image = "spores.png",
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = {"nsspf:"..name.."_mycelium"},
|
||||||
|
neighbors = {"default:dirt_with_grass"},
|
||||||
|
interval = 120.0,
|
||||||
|
chance = 20,
|
||||||
|
action = function(pos, node)
|
||||||
|
local pos1 = {x=pos.x, y=pos.y+2, z=pos.z}
|
||||||
|
local pos2 = {x=pos.x, y=pos.y+1, z=pos.z}
|
||||||
|
local n = minetest.get_node(pos1).name
|
||||||
|
local nn = minetest.get_node(pos2).name
|
||||||
|
if n== "air" and nn== "default:dirt_with_grass" then
|
||||||
|
minetest.set_node(pos1, {name = "nsspf:"..name})
|
||||||
|
end
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = {"default:dirt"},
|
||||||
|
neighbors = {"nsspf:"..name.."_mycelium"},
|
||||||
|
interval = 120.0,
|
||||||
|
chance = 40,
|
||||||
|
action = function(pos, node)
|
||||||
|
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "nsspf:"..name.."_mycelium"})
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = {"default:dirt"},
|
||||||
|
neighbors = {"default:dirt"},
|
||||||
|
interval = 300.0,
|
||||||
|
chance = 10000,
|
||||||
|
action = function(pos, node)
|
||||||
|
--controllo altitudine
|
||||||
|
minetest.set_node({x = pos.x, y = pos.y, z = pos.z}, {name = "nsspf:"..name.."_mycelium"})
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_abm({
|
||||||
|
nodenames = {"nsspf:"..name.."_mycelium"},
|
||||||
|
neighbors = {"air"},
|
||||||
|
interval = 1,
|
||||||
|
chance = 1,
|
||||||
|
action = function(pos, node)
|
||||||
|
minetest.set_node(pos, {name="nsspf:"..name.."_fungusdirt"})
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
nsspf_register_saprotrophicground ('macrolepiota_procera','Macrolepiota procera')
|
||||||
|
nsspf_register_saprotrophicground ('coprinus_atramentarius','Coprinus atramentarius')
|
||||||
|
nsspf_register_saprotrophicground ('lycoperdon_pyriforme','Lycoperdon piriforme')
|
||||||
|
nsspf_register_saprotrophicground ('psilocybe_cubensis','Psilocybe cubensis')
|
||||||
|
nsspf_register_saprotrophicground ('gyromitra_esculenta','Gyromitra esculenta')
|
BIN
models/blend/coprinus_atramentarius.blend
Normal file
BIN
models/blend/coprinus_atramentarius.blend1
Normal file
BIN
models/blend/gyromitra_esculenta.blend
Normal file
BIN
models/blend/gyromitra_esculenta.blend1
Normal file
BIN
models/blend/lycoperdon_pyriforme.blend
Normal file
BIN
models/blend/lycoperdon_pyriforme.blend1
Normal file
BIN
models/blend/mycena_chlorophos.blend
Normal file
BIN
models/blend/mycena_chlorophos.blend1
Normal file
BIN
models/blend/psilocybe_cubensis.blend
Normal file
BIN
models/blend/psylocibe_cubensis.blend1
Normal file
BIN
models/coprinus_atramentarius.b3d
Normal file
BIN
models/gyromitra_esculenta.b3d
Normal file
BIN
models/lycoperdon_pyriforme.b3d
Normal file
BIN
models/mycena_chlorophos.b3d
Normal file
BIN
models/psilocybe_cubensis.b3d
Normal file
BIN
textures/coprinus_atramentarius.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
textures/gyromitra_esculenta.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
textures/lycoperdon_pyriforme.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
textures/mycena_chlorophos.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
textures/mycena_chlorophos_light.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
textures/psilocybe_cubensis.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
textures/saprotrophic_mycelium.png
Normal file
After Width: | Height: | Size: 827 B |
@ -28,4 +28,12 @@ Terfezia arenaria
|
|||||||
|
|
||||||
|
|
||||||
Plants:
|
Plants:
|
||||||
Crops/plains:
|
Crops/plains:
|
||||||
|
|
||||||
|
Jungle fungi:
|
||||||
|
Ganoderma lucidum
|
||||||
|
Marasmius haematocephalus
|
||||||
|
Lentinus strigosus
|
||||||
|
Clitocybula azurea
|
||||||
|
|
||||||
|
Snowbank fungi (removing normal fungi from pineforest with snow)
|