Skip to content
Permalink
Browse files

TNT: make tnt:boom visual a particle, and larger

We reuse the tnt:boom texture for a particle that is added by the
on_construct() of tnt:boom, and has a short expiry time (0.2sec).
It is 3 nodes larged, centered on the explosion.

We then make tnt:boom airlike so it doesn't have a texture, and it's
the thing that emits lots of light (we could even make it exist a
bit longer).

The nice thing about particles is that the client is less susceptible
to lag and will always remove them as fast as possible, so this makes
the visual more constant and responsive.
  • Loading branch information...
sofar authored and paramat committed Apr 26, 2016
1 parent f62afa0 commit 5cd4b5a23192e3a4e16b87ecea4a732cea36115d
Showing with 13 additions and 3 deletions.
  1. +13 −3 mods/tnt/init.lua
@@ -309,14 +309,24 @@ function tnt.boom(pos, def)
end

minetest.register_node("tnt:boom", {
drawtype = "plantlike",
tiles = {"tnt_boom.png"},
drawtype = "airlike",
light_source = default.LIGHT_MAX,
walkable = false,
drop = "",
groups = {dig_immediate = 3},
on_construct = function(pos)
minetest.get_node_timer(pos):start(0.5)
minetest.add_particle({
pos = pos,
velocity = vector.new(),
acceleration = vector.new(),
expirationtime = 0.4,
size = 30,
collisiondetection = false,
vertical = false,
texture = "tnt_boom.png",
playername = nil,
})
minetest.get_node_timer(pos):start(0.4)
end,
on_timer = function(pos, elapsed)
minetest.remove_node(pos)

0 comments on commit 5cd4b5a

Please sign in to comment.
You can’t perform that action at this time.