From 7a29d26e3e6cf91b041034d45356e41f199e3cf6 Mon Sep 17 00:00:00 2001
From: Jean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com>
Date: Mon, 21 Mar 2016 16:16:29 +0100
Subject: [PATCH] Fire: Allow placing only above flammable blocks

---
 mods/fire/init.lua | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/mods/fire/init.lua b/mods/fire/init.lua
index c32b511..c6f3d47 100644
--- a/mods/fire/init.lua
+++ b/mods/fire/init.lua
@@ -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