12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- -- Renew mod for Minetest
- -- Copyright © 2020 Alex Yst <https://y.st./>
- -- This program is free software; you can redistribute it and/or
- -- modify it under the terms of the GNU Lesser General Public
- -- License as published by the Free Software Foundation; either
- -- version 2.1 of the License, or (at your option) any later version.
- -- This software is distributed in the hope that it will be useful,
- -- but WITHOUT ANY WARRANTY; without even the implied warranty of
- -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- -- Lesser General Public License for more details.
- -- You should have received a copy of the GNU Lesser General Public
- -- License along with this program. If not, see
- -- <https://www.gnu.org./licenses/>.
- local nodenames = {
- "default:marram_grass_1",
- "default:marram_grass_2",
- "default:marram_grass_3"
- }
- minetest.register_abm({
- label = "Marram Grass Propagation",
- nodenames = nodenames,
- neighbors = {"default:sand"},
- interval = 1800,
- chance = 900,
- catch_up = true,
- action = function(pos)
- local candidates = minetest.find_nodes_in_area_under_air({
- x = pos.x - 1,
- y = pos.y - 1,
- z = pos.z - 1,
- }, {
- x = pos.x + 1,
- y = pos.y + 1,
- z = pos.z + 1,
- }, "default:sand")
- if #candidates > 0 then
- minetest.set_node(math.random(#candidates), {name = nodenames[math.random(3)]})
- end
- end,
- })
|