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