From 4330e88e1da3d2ab05cd78bbfd4ca457a883ce6c Mon Sep 17 00:00:00 2001
From: Milan Ihl <milanihl@gmail.com>
Date: Wed, 2 Dec 2015 10:43:05 +0100
Subject: [PATCH] tnt works only with grantet priv - removed mesecons
 temporally

---
 mods/tnt/init.lua | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua
index 532e698c..e769c412 100644
--- a/mods/tnt/init.lua
+++ b/mods/tnt/init.lua
@@ -1,11 +1,14 @@
+-- TNT will need privilege!
+core.register_privilege("trusted_player", "special grantings, used for tnt for example")
 
+---We want to use it on server, so this is commented
 -- Default to enabled in singleplayer and disabled in multiplayer
---local singleplayer = minetest.is_singleplayer()
---local setting = minetest.setting_getbool("enable_tnt")
---if (not singleplayer and setting ~= true) or
---		(singleplayer and setting == false) then
---	return
---end
+-- local singleplayer = minetest.is_singleplayer()
+-- local setting = minetest.setting_getbool("enable_tnt")
+-- if (not singleplayer and setting ~= true) or
+-- 		(singleplayer and setting == false) then
+-- 	return
+-- end
 
 -- loss probabilities array (one in X will be lost)
 local loss_prob = {}
@@ -216,19 +219,21 @@ minetest.register_node("tnt:tnt", {
 	description = "TNT",
 	tiles = {"tnt_top.png", "tnt_bottom.png", "tnt_side.png"},
 	is_ground_content = false,
-	groups = {dig_immediate=2, mesecon=2},
+	groups = {dig_immediate=2},
 	sounds = default.node_sound_wood_defaults(),
 	on_punch = function(pos, node, puncher)
 		if puncher:get_wielded_item():get_name() == "default:torch" then
-			minetest.sound_play("tnt_ignite", {pos=pos})
-			minetest.set_node(pos, {name="tnt:tnt_burning"})
-			minetest.get_node_timer(pos):start(4)
+			if(minetest.check_player_privs(puncher:get_player_name(), {trusted_player=true})) then
+				minetest.sound_play("tnt_ignite", {pos=pos})
+				minetest.set_node(pos, {name="tnt:tnt_burning"})
+				minetest.get_node_timer(pos):start(4)
+			end
 		end
 	end,
 	on_blast = function(pos, intensity)
 		burn(pos)
 	end,
-	mesecons = {effector = {action_on = boom}},
+	--mesecons = {effector = {action_on = boom}},
 })
 
 minetest.register_node("tnt:tnt_burning", {
@@ -283,9 +288,11 @@ minetest.register_node("tnt:gunpowder", {
 	sounds = default.node_sound_leaves_defaults(),
 	
 	on_punch = function(pos, node, puncher)
-		if puncher:get_wielded_item():get_name() == "default:torch" then
-			burn(pos)
+           if puncher:get_wielded_item():get_name() == "default:torch" then
+		 if(minetest.check_player_privs(puncher:get_player_name(), {trusted_player=true})) then
+	   	burn(pos)
 		end
+	   end
 	end,
 	on_blast = function(pos, intensity)
 		burn(pos)
-- 
GitLab