mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2024-12-25 02:10:37 +01:00
add slow plant growth in non-tilled soil
This commit is contained in:
parent
e15fb67afb
commit
c05373d273
@ -41,7 +41,7 @@ minetest.register_abm{
|
||||
|
||||
-- white/yellow
|
||||
|
||||
minetest.register_node("dfcaverns:cobble_floor_fungus", {
|
||||
minetest.register_node("dfcaverns:cobble_with_floor_fungus", {
|
||||
description = S("Cobblestone With Floor Fungus"),
|
||||
tiles = {"default_cobble.png^dfcaverns_floor_fungus.png", "default_cobble.png", "default_cobble.png^dfcaverns_floor_fungus_side.png"},
|
||||
drops = "default:cobble",
|
||||
@ -54,12 +54,12 @@ minetest.register_node("dfcaverns:cobble_floor_fungus", {
|
||||
minetest.register_abm{
|
||||
label = "dfcaverns:floor_fungus_spread",
|
||||
nodenames = {"default:cobble"},
|
||||
neighbors = {"dfcaverns:cobble_floor_fungus"},
|
||||
neighbors = {"dfcaverns:cobble_with_floor_fungus"},
|
||||
interval = 30,
|
||||
chance = 10,
|
||||
catch_up = true,
|
||||
action = function(pos)
|
||||
minetest.swap_node(pos, {name="dfcaverns:cobble_floor_fungus"})
|
||||
minetest.swap_node(pos, {name="dfcaverns:cobble_with_floor_fungus"})
|
||||
end,
|
||||
}
|
||||
|
||||
|
33
plants.lua
33
plants.lua
@ -79,22 +79,45 @@ dfcaverns.register_seed = function(name, description, image, stage_one)
|
||||
})
|
||||
end
|
||||
|
||||
local grow_underground_plant = function(pos, node)
|
||||
local node_def = minetest.registered_nodes[node.name]
|
||||
local next_stage = node_def._dfcaverns_next_stage
|
||||
if next_stage then
|
||||
local next_def = minetest.registered_nodes[next_stage]
|
||||
minetest.swap_node(pos, {name=next_stage, param2 = next_def.place_param2 or node.param2})
|
||||
end
|
||||
end
|
||||
|
||||
dfcaverns.register_grow_abm = function(names, interval, chance)
|
||||
minetest.register_abm({
|
||||
nodenames = names,
|
||||
interval = interval,
|
||||
chance = chance,
|
||||
catch_up = true,
|
||||
neighbors = {"farming:soil_wet"},
|
||||
action = function(pos, node)
|
||||
pos.y = pos.y-1
|
||||
if minetest.get_node(pos).name ~= "farming:soil_wet" then
|
||||
return
|
||||
end
|
||||
local node_def = minetest.registered_nodes[node.name]
|
||||
local next_stage = node_def._dfcaverns_next_stage
|
||||
if next_stage then
|
||||
local next_def = minetest.registered_nodes[next_stage]
|
||||
pos.y = pos.y+1
|
||||
grow_underground_plant(pos, node)
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
nodenames = names,
|
||||
interval = interval * 10,
|
||||
chance = chance,
|
||||
catch_up = true,
|
||||
neighbors = {"default:dirt", "dfcaverns:dirt_with_cave_moss", "dfcaverns:cobble_with_floor_fungus"},
|
||||
action = function(pos, node)
|
||||
pos.y = pos.y-1
|
||||
if minetest.get_node(pos).name == "default:dirt" or
|
||||
minetest.get_node(pos).name == "dfcaverns:dirt_with_cave_moss" or
|
||||
minetest.get_node(pos).name == "dfcaverns:cobble_with_floor_fungus" then
|
||||
pos.y = pos.y+1
|
||||
minetest.swap_node(pos, {name=next_stage, param2 = next_def.place_param2 or node.param2})
|
||||
grow_underground_plant(pos, node)
|
||||
end
|
||||
end
|
||||
})
|
||||
|
3
sounds/license.txt
Normal file
3
sounds/license.txt
Normal file
@ -0,0 +1,3 @@
|
||||
https://freesound.org/people/DrMinky/sounds/167073/
|
||||
https://freesound.org/people/HonorHunter/sounds/271666/
|
||||
https://freesound.org/people/DrMinky/sounds/167074/
|
Loading…
Reference in New Issue
Block a user