Fire: Allow placing only above flammable blocks
authorJean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com>
Mon, 21 Mar 2016 15:16:29 +0000 (16:16 +0100)
committerparamat <mat.gregory@virginmedia.com>
Fri, 25 Mar 2016 13:15:04 +0000 (13:15 +0000)
mods/fire/init.lua

index c32b5110261009b7f8243471ec6a308593b0fb63..c6f3d47987c501579d00329fe69854311c5b350f 100644 (file)
@@ -78,15 +78,19 @@ minetest.register_tool("fire:flint_and_steel", {
                local pt = pointed_thing
 
                if pt.type == "node" and minetest.get_node(pt.above).name == "air" then
-                       if not minetest.is_protected(pt.above, player_name) then
-                               minetest.set_node(pt.above, {name="fire:basic_flame"})
-                       else
-                               minetest.chat_send_player(player_name, "This area is protected")
+                       itemstack:add_wear(1000)
+                       local node_under = minetest.get_node(pt.under).name
+
+                       if minetest.get_node_group(node_under, "flammable") >= 1 then
+                               if not minetest.is_protected(pt.above, player_name) then
+                                       minetest.set_node(pt.above, {name = "fire:basic_flame"})
+                               else
+                                       minetest.chat_send_player(player_name, "This area is protected")
+                               end
                        end
                end
-               
+
                if not minetest.setting_getbool("creative_mode") then
-                       itemstack:add_wear(1000)
                        return itemstack
                end
        end