diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua index 532e698c1676918f972eba812709602e8d4daa91..e769c412e35fd28c739d1c146952c23c4a14d72c 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)