local function particles_lantern(pos) minetest.add_particlespawner({ amount = 48, time = 4, minpos = {x=pos.x - 0.25, y=pos.y, z=pos.z - 0.25}, maxpos = {x=pos.x + 0.25, y=pos.y + 0.25, z=pos.z + 0.25}, minvel = {x=-.3, y=-.03, z=-.3}, maxvel = {x=.3, y=.05, z=.3}, minacc = {x=-.1, y=.02, z=-.1}, maxacc = {x=.1, y=.02, z=.1}, minexptime = 1, maxexptime = 3, minsize = 1, maxsize = 2, collisiondetection = false, texture = 'furniture_lantern_particle.png', glow = 10, }) end minetest.register_node('furniture:lantern_ceiling', { --_doc_items_crafting = 'This is crafted in the Woodworking Station.', description = 'Ceiling Lantern', drawtype = 'mesh', mesh = 'furniture_lantern.obj', tiles = {'furniture_lantern.png'}, paramtype = 'light', light_source = 14, walkable = false, paramtype2 = 'facedir', selection_box = { type = 'fixed', fixed = {-.375, 0, -.375, .375, 0.5, .375}, }, collision_box = { type = 'fixed', fixed = {-.375, 0, -.375, .375, 0.5, .375}, }, groups = {oddly_breakable_by_hand = 2, cracky=3}, on_rightclick = function(pos) particles_lantern(pos) end, }) minetest.register_abm({ label = 'Lanter effects', nodenames = {'furniture:lantern_ceiling'}, interval = 13, chance = 7, action = function(pos, node) particles_lantern(pos) end })