diff options
Diffstat (limited to 'games/devtest/mods/testtools/particles.lua')
| -rw-r--r-- | games/devtest/mods/testtools/particles.lua | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/games/devtest/mods/testtools/particles.lua b/games/devtest/mods/testtools/particles.lua new file mode 100644 index 000000000..18efe2572 --- /dev/null +++ b/games/devtest/mods/testtools/particles.lua @@ -0,0 +1,36 @@ +minetest.register_tool("testtools:particle_spawner", { + description = "Particle Spawner".."\n".. + "Punch: Spawn random test particle", + inventory_image = "testtools_particle_spawner.png", + groups = { testtool = 1, disable_repair = 1 }, + on_use = function(itemstack, user, pointed_thing) + local pos = minetest.get_pointed_thing_position(pointed_thing, true) + if pos == nil then + if user then + pos = user:get_pos() + end + end + pos = vector.add(pos, {x=0, y=0.5, z=0}) + local tex, anim + if math.random(0, 1) == 0 then + tex = "testtools_particle_sheet.png" + anim = {type="sheet_2d", frames_w=3, frames_h=2, frame_length=0.5} + else + tex = "testtools_particle_vertical.png" + anim = {type="vertical_frames", aspect_w=16, aspect_h=16, length=3.3} + end + + minetest.add_particle({ + pos = pos, + velocity = {x=0, y=0, z=0}, + acceleration = {x=0, y=0.04, z=0}, + expirationtime = 6, + collisiondetection = true, + texture = tex, + animation = anim, + size = 4, + glow = math.random(0, 5), + }) + end, +}) + |
