aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_particles_local.cpp
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2020-05-22 14:17:03 +0200
committersfan5 <sfan5@live.de>2020-05-23 22:52:21 +0200
commit9d6e7e48d6fb1daff8fedcb2f111164bef61f1e7 (patch)
treeb4526e1feb6a2423b967ba120afd5da37d813d41 /src/script/lua_api/l_particles_local.cpp
parent15ba75e4cf1d1b8ceaa9d8ce33dcfdd7dbe80741 (diff)
downloadminetest-9d6e7e48d6fb1daff8fedcb2f111164bef61f1e7.tar.gz
minetest-9d6e7e48d6fb1daff8fedcb2f111164bef61f1e7.tar.bz2
minetest-9d6e7e48d6fb1daff8fedcb2f111164bef61f1e7.zip
Implement spawning particles with node texture appearance
Diffstat (limited to 'src/script/lua_api/l_particles_local.cpp')
-rw-r--r--src/script/lua_api/l_particles_local.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/script/lua_api/l_particles_local.cpp b/src/script/lua_api/l_particles_local.cpp
index 9595b2fab..cc68b13a5 100644
--- a/src/script/lua_api/l_particles_local.cpp
+++ b/src/script/lua_api/l_particles_local.cpp
@@ -67,6 +67,13 @@ int ModApiParticlesLocal::l_add_particle(lua_State *L)
p.texture = getstringfield_default(L, 1, "texture", p.texture);
p.glow = getintfield_default(L, 1, "glow", p.glow);
+ lua_getfield(L, 1, "node");
+ if (lua_istable(L, -1))
+ p.node = readnode(L, -1, getGameDef(L)->ndef());
+ lua_pop(L, 1);
+
+ p.node_tile = getintfield_default(L, 1, "node_tile", p.node_tile);
+
ClientEvent *event = new ClientEvent();
event->type = CE_SPAWN_PARTICLE;
event->spawn_particle = new ParticleParameters(p);
@@ -134,6 +141,13 @@ int ModApiParticlesLocal::l_add_particlespawner(lua_State *L)
p.texture = getstringfield_default(L, 1, "texture", p.texture);
p.glow = getintfield_default(L, 1, "glow", p.glow);
+ lua_getfield(L, 1, "node");
+ if (lua_istable(L, -1))
+ p.node = readnode(L, -1, getGameDef(L)->ndef());
+ lua_pop(L, 1);
+
+ p.node_tile = getintfield_default(L, 1, "node_tile", p.node_tile);
+
u64 id = getClient(L)->getParticleManager()->generateSpawnerId();
auto event = new ClientEvent();