Tnt: Flammable TNT and gunpowder that activates when burnt
authorFernando Carmona Varo <ferkiwi@gmail.com>
Thu, 27 Oct 2016 18:16:15 +0000 (20:16 +0200)
committerparamat <mat.gregory@virginmedia.com>
Wed, 2 Nov 2016 12:41:14 +0000 (12:41 +0000)
Some code simplifications.

mods/tnt/init.lua

index 1138e1c24d028d299fbfb9437dd78302f9088407..4142be78d1e83faf10f3c127406fdb720a7ac4f2 100644 (file)
@@ -404,17 +404,21 @@ minetest.register_node("tnt:gunpowder", {
                type = "fixed",
                fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
        },
-       groups = {dig_immediate = 2, attached_node = 1, connect_to_raillike = minetest.raillike_group("gunpowder")},
+       groups = {dig_immediate = 2, attached_node = 1, flammable = 5,
+               connect_to_raillike = minetest.raillike_group("gunpowder")},
        sounds = default.node_sound_leaves_defaults(),
 
        on_punch = function(pos, node, puncher)
                if puncher:get_wielded_item():get_name() == "default:torch" then
-                       tnt.burn(pos, node.name)
+                       minetest.set_node(pos, {name = "tnt:gunpowder_burning"})
                end
        end,
        on_blast = function(pos, intensity)
-               tnt.burn(pos, "tnt:gunpowder")
+               minetest.set_node(pos, {name = "tnt:gunpowder_burning"})
        end,
+       on_burn = function(pos)
+               minetest.set_node(pos, {name = "tnt:gunpowder_burning"})
+       end
 })
 
 minetest.register_node("tnt:gunpowder_burning", {
@@ -538,7 +542,7 @@ function tnt.register_tnt(def)
                        description = def.description,
                        tiles = {tnt_top, tnt_bottom, tnt_side},
                        is_ground_content = false,
-                       groups = {dig_immediate = 2, mesecon = 2, tnt = 1},
+                       groups = {dig_immediate = 2, mesecon = 2, tnt = 1, flammable = 5},
                        sounds = default.node_sound_wood_defaults(),
                        on_punch = function(pos, node, puncher)
                                if puncher:get_wielded_item():get_name() == "default:torch" then
@@ -557,6 +561,9 @@ function tnt.register_tnt(def)
                                        end
                                }
                        },
+                       on_burn = function(pos)
+                               minetest.set_node(pos, {name = name .. "_burning"})
+                       end
                })
        end