1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
--[[
Skyblock for Minetest
Copyright (c) 2015 cornernote, Brett O'Donnell <cornernote@gmail.com>
Source Code: https://github.com/cornernote/minetest-skyblock
License: GPLv3
]]--
-- flora spawns on dirt_with_grass
minetest.register_abm({
nodenames = {'default:dirt_with_grass'},
interval = 300,
chance = 100,
action = function(pos, node)
pos.y = pos.y+1
local light = minetest.get_node_light(pos)
if not light or light < 13 then
return
end
-- check for nearby
if minetest.env:find_node_near(pos, 2, {'group:flora'}) ~= nil then
return
end
if minetest.env:get_node(pos).name == 'air' then
local rand = math.random(1,8);
local node
if rand==1 then
node = 'default:junglegrass'
elseif rand==2 then
node = 'default:grass_1'
elseif rand==3 then
node = 'flowers:dandelion_white'
elseif rand==4 then
node = 'flowers:dandelion_yellow'
elseif rand==5 then
node = 'flowers:geranium'
elseif rand==6 then
node = 'flowers:rose'
elseif rand==7 then
node = 'flowers:tulip'
elseif rand==8 then
node = 'flowers:viola'
end
minetest.env:set_node(pos, {name=node})
end
end
})
-- remove bones
minetest.register_abm({
nodenames = {'bones:bones'},
interval = 1,
chance = 1,
action = function(pos, node)
minetest.env:remove_node(pos)
end,
})
|