minetest.register_node("liquid_test:dirt", { description = "LIQUIDTEST", tiles = {"default_dirt.png"}, is_ground_content = true, groups = {crumbly=3}, --sounds = default.node_sound_dirt_defaults(), on_construct = function(pos) local meta = minetest.env:get_meta(pos) meta:set_string("canflow", "false") end }) minetest.register_abm({ nodenames = {"liquid_test:dirt"}, interval = 1.0, chance = 1, action = function(pos, node) local meta = minetest.env:get_meta(pos) if meta:get_string("canflow") == "true" then if minetest.env:get_node({x=pos.x+1,y=pos.y,z=pos.z}).name == "air" then minetest.env:add_node({x=pos.x+1,y=pos.y,z=pos.z}, {name="liquid_test:dirt"}) end if minetest.env:get_node({x=pos.x-1,y=pos.y,z=pos.z}).name == "air" then minetest.env:add_node({x=pos.x-1,y=pos.y,z=pos.z}, {name="liquid_test:dirt"}) end if minetest.env:get_node({x=pos.x,y=pos.y,z=pos.z+1}).name == "air" then minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z+1}, {name="liquid_test:dirt"}) end if minetest.env:get_node({x=pos.x,y=pos.y,z=pos.z-1}).name == "air" then minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z-1}, {name="liquid_test:dirt"}) end if minetest.env:get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == "air" then minetest.env:add_node({x=pos.x,y=pos.y-1,z=pos.z}, {name="liquid_test:dirt"}) end end if meta:get_string("canflow") == "false" then meta:set_string("canflow", "true") end end })