From 111f1dc9c5f336f5b4f12c15940dc4cc2cbe7f82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Blot?= Date: Tue, 26 Feb 2019 08:53:53 +0100 Subject: Revert "Revert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)" This reverts commit 01cd63bd3bca0192dab2834faf414b022706a77e. --- doc/client_lua_api.txt | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) (limited to 'doc/client_lua_api.txt') diff --git a/doc/client_lua_api.txt b/doc/client_lua_api.txt index 9ee18be16..f0e585355 100644 --- a/doc/client_lua_api.txt +++ b/doc/client_lua_api.txt @@ -789,6 +789,16 @@ Call these functions only at load time! should listen from incoming messages with `minetest.register_on_modchannel_message` call to receive incoming messages. Warning, this function is asynchronous. +### Particles +* `minetest.add_particle(particle definition)` + +* `minetest.add_particlespawner(particlespawner definition)` + * Add a `ParticleSpawner`, an object that spawns an amount of particles over `time` seconds + * Returns an `id`, and -1 if adding didn't succeed + +* `minetest.delete_particlespawner(id)` + * Delete `ParticleSpawner` with `id` (return value from `minetest.add_particlespawner`) + ### Misc. * `minetest.parse_json(string[, nullvalue])`: returns something * Convert a string containing JSON data into the Lua equivalent @@ -1308,3 +1318,58 @@ Displays distance to selected world position. * `text`: Distance suffix. Can be blank. * `number:` An integer containing the RGB value of the color used to draw the text. * `world_pos`: World position of the waypoint. + +### Particle definition (`add_particle`) + + { + pos = {x=0, y=0, z=0}, + velocity = {x=0, y=0, z=0}, + acceleration = {x=0, y=0, z=0}, + -- ^ Spawn particle at pos with velocity and acceleration + expirationtime = 1, + -- ^ Disappears after expirationtime seconds + size = 1, + collisiondetection = false, + -- ^ collisiondetection: if true collides with physical objects + collision_removal = false, + -- ^ collision_removal: if true then particle is removed when it collides, + -- ^ requires collisiondetection = true to have any effect + vertical = false, + -- ^ vertical: if true faces player using y axis only + texture = "image.png", + -- ^ Uses texture (string) + animation = {Tile Animation definition}, + -- ^ optional, specifies how to animate the particle texture + glow = 0 + -- ^ optional, specify particle self-luminescence in darkness + } + +### `ParticleSpawner` definition (`add_particlespawner`) + + { + amount = 1, + time = 1, + -- ^ If time is 0 has infinite lifespan and spawns the amount on a per-second base + minpos = {x=0, y=0, z=0}, + maxpos = {x=0, y=0, z=0}, + minvel = {x=0, y=0, z=0}, + maxvel = {x=0, y=0, z=0}, + minacc = {x=0, y=0, z=0}, + maxacc = {x=0, y=0, z=0}, + minexptime = 1, + maxexptime = 1, + minsize = 1, + maxsize = 1, + -- ^ The particle's properties are random values in between the bounds: + -- ^ minpos/maxpos, minvel/maxvel (velocity), minacc/maxacc (acceleration), + -- ^ minsize/maxsize, minexptime/maxexptime (expirationtime) + collisiondetection = false, + -- ^ collisiondetection: if true uses collision detection + collision_removal = false, + -- ^ collision_removal: if true then particle is removed when it collides, + -- ^ requires collisiondetection = true to have any effect + vertical = false, + -- ^ vertical: if true faces player using y axis only + texture = "image.png", + -- ^ Uses texture (string) + } -- cgit v1.2.3