--[[ Particles for Minetest Copyright (c) 2012 cornernote, Brett O'Donnell Source Code: https://github.com/cornernote/minetest-particles License: GPLv3 MAIN LOADER ]]-- -- load api dofile(minetest.get_modpath("particles").."/api.lua") -- register_on_dignode minetest.register_on_dignode(function(pos, oldnode, digger) particles.on_dignode(pos, oldnode, digger) end) -- register smoke particle minetest.register_entity("particles:smoke", { physical = true, visual_size = {x=0.25, y=0.25}, collisionbox = {-0.05,-0.05,-0.05,0.05,0.05,0.05}, visual = "sprite", textures = {"smoke_puff.png"}, on_step = function(self, dtime) self.object:setacceleration({x=0, y=0.5, z=0}) self.timer = self.timer + dtime if self.timer > 3 then self.object:remove() end end, timer = 0, }) -- register smoke abm minetest.register_abm({ nodenames = {"group:smokes","default:torch"}, interval = 5, chance = 5, action = function(pos) minetest.env:add_entity({x=pos.x+math.random()*0.5,y=pos.y+0.75,z=pos.z+math.random()*0.5}, "particles:smoke") end, }) -- register signalbubble minetest.register_entity("particles:signalbubble", { physical = true, visual_size = {x=0.10, y=0.10}, collisionbox = {-0.05,-0.05,-0.05,0.05,0.05,0.05}, visual = "sprite", textures = {"particles_signalbubble.png"}, timer = 0, lifetime = 4, on_step = function(self, dtime) self.timer = self.timer + dtime if self.timer > self.lifetime then self.object:remove() end end, on_activate = function(self, staticdata) self.object:setacceleration({x=0, y=0.05, z=0}) end, }) -- register signalbubble abm minetest.register_abm({ nodenames = {"group:signalbubbles","mesecons:mesecon_on","mesecons:wall_lever_on","mesecons:mesecon_torch_on"}, interval = 1, chance = 5, action = function(pos) minetest.env:add_entity({x=pos.x+math.random()*0.5,y=pos.y,z=pos.z+math.random()*0.5}, "particles:signalbubble") end, })