From c80473afe69a95bdd6410cf6a3e115cb6fcbd170 Mon Sep 17 00:00:00 2001
From: tenplus1 <tenplus1@users.noreply.github.com>
Date: Mon, 27 Jun 2016 16:45:40 +0200
Subject: [PATCH] merge upstream commit: TNT: When disabled leave some useful
 functionality enabled

---
 mods/tnt/init.lua | 72 ++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 55 insertions(+), 17 deletions(-)

diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua
index 18bd9263..42dc427e 100644
--- a/mods/tnt/init.lua
+++ b/mods/tnt/init.lua
@@ -1,5 +1,13 @@
 tnt = {}
+<<<<<<< HEAD
 core.register_privilege("trusted_player", "special grantings, used for tnt for example")
+=======
+-- Default to enabled when in singleplayer
+local enable_tnt = minetest.setting_getbool("enable_tnt")
+if enable_tnt == nil
+	enable_tnt = minetest.is_singleplayer()
+end
+>>>>>>> 497e6f6... TNT: When disabled leave some useful functionality enabled
 
 -- loss probabilities array (one in X will be lost)
 local loss_prob = {}
@@ -488,28 +496,30 @@ minetest.register_node("tnt:gunpowder_burning", {
 	end,
 })
 
-minetest.register_abm({
-	nodenames = {"group:tnt", "tnt:gunpowder"},
-	neighbors = {"fire:basic_flame", "default:lava_source", "default:lava_flowing"},
-	interval = 4,
-	chance = 1,
-	action = tnt.burn,
-})
-
 minetest.register_craft({
 	output = "tnt:gunpowder",
 	type = "shapeless",
 	recipe = {"default:coal_lump", "default:gravel"}
 })
 
-minetest.register_craft({
-	output = "tnt:tnt",
-	recipe = {
-		{"",           "group:wood",    ""},
-		{"group:wood", "tnt:gunpowder", "group:wood"},
-		{"",           "group:wood",    ""}
-	}
-})
+if enable_tnt then
+	minetest.register_craft({
+		output = "tnt:tnt",
+		recipe = {
+			{"",           "group:wood",    ""},
+			{"group:wood", "tnt:gunpowder", "group:wood"},
+			{"",           "group:wood",    ""}
+		}
+	})
+
+	minetest.register_abm({
+		nodenames = {"group:tnt", "tnt:gunpowder"},
+		neighbors = {"fire:basic_flame", "default:lava_source", "default:lava_flowing"},
+		interval = 4,
+		chance = 1,
+		action = tnt.burn,
+	})
+end
 
 function tnt.register_tnt(def)
 	local name = ""
@@ -526,6 +536,7 @@ function tnt.register_tnt(def)
 	local tnt_burning = def.tiles.burning or def.name .. "_top_burning_animated.png"
 	if not def.damage_radius then def.damage_radius = def.radius * 2 end
 
+<<<<<<< HEAD
 	minetest.register_node(":" .. name, {
 		description = def.description,
 		tiles = {tnt_top, tnt_bottom, tnt_side},
@@ -552,6 +563,34 @@ function tnt.register_tnt(def)
 		--	}
 		--},
 	})
+=======
+	if enable_tnt then
+		minetest.register_node(":" .. name, {
+			description = def.description,
+			tiles = {tnt_top, tnt_bottom, tnt_side},
+			is_ground_content = false,
+			groups = {dig_immediate = 2, mesecon = 2, tnt = 1},
+			sounds = default.node_sound_wood_defaults(),
+			on_punch = function(pos, node, puncher)
+				if puncher:get_wielded_item():get_name() == "default:torch" then
+					minetest.set_node(pos, {name = name .. "_burning"})
+				end
+			end,
+			on_blast = function(pos, intensity)
+				minetest.after(0.1, function()
+					tnt.boom(pos, def)
+				end)
+			end,
+			mesecons = {effector =
+				{action_on =
+					function(pos)
+						tnt.boom(pos, def)
+					end
+				}
+			},
+		})
+	end
+>>>>>>> 497e6f6... TNT: When disabled leave some useful functionality enabled
 
 	minetest.register_node(":" .. name .. "_burning", {
 		tiles = {
@@ -588,4 +627,3 @@ tnt.register_tnt({
 	description = "TNT",
 	radius = radius,
 })
-
-- 
GitLab