From 524aa71aeaf4127a210706b7680c34d69f769044 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Tue, 3 Sep 2019 22:43:38 +0200 Subject: [PATCH] Disabling TNT defuses it --- mods/tnt/init.lua | 52 +++++++++++++++++++------ mods/tnt/locale/template.txt | 3 ++ mods/tnt/locale/tnt.de.tr | 3 ++ mods/tnt/textures/tnt_top_disabled.png | Bin 0 -> 1986 bytes settingtypes.txt | 6 +-- 5 files changed, 48 insertions(+), 16 deletions(-) create mode 100644 mods/tnt/textures/tnt_top_disabled.png diff --git a/mods/tnt/init.lua b/mods/tnt/init.lua index ba1c3ae..0098e17 100644 --- a/mods/tnt/init.lua +++ b/mods/tnt/init.lua @@ -13,8 +13,11 @@ tnt = {} local singleplayer = minetest.is_singleplayer() local setting = minetest.settings:get_bool("tnt_enable") +local tnt_enable if (not singleplayer and setting ~= true) or (singleplayer and setting == false) then - return + tnt_enable = false +else + tnt_enable = true end local tnt_radius = tonumber(minetest.settings:get("tnt_radius") or 3) @@ -155,7 +158,7 @@ end function tnt.burn(pos) local name = minetest.get_node(pos).name - if name == "tnt:tnt" then + if tnt_enable and name == "tnt:tnt" then minetest.sound_play("tnt_ignite", {pos = pos}) minetest.set_node(pos, {name = "tnt:tnt_burning"}) minetest.get_node_timer(pos):start(2) @@ -212,11 +215,12 @@ end function tnt.boom(pos) minetest.remove_node(pos) - - local drops = tnt.explode(pos, tnt_radius, "tnt_explode") - entity_physics(pos, tnt_radius) - eject_drops(drops, pos, tnt_radius) - add_effects(pos, tnt_radius) + if tnt_enable then + local drops = tnt.explode(pos, tnt_radius, "tnt_explode") + entity_physics(pos, tnt_radius) + eject_drops(drops, pos, tnt_radius) + add_effects(pos, tnt_radius) + end end -- On load register content IDs @@ -235,16 +239,28 @@ minetest.register_on_mods_loaded(on_load) -- Nodes +local top_tex, desc +if tnt_enable then + top_tex = "tnt_top.png" + desc = S("TNT") +else + top_tex = "tnt_top_disabled.png" + desc = S("Defused TNT") +end + minetest.register_node( "tnt:tnt", { - description = S("TNT"), - tiles = {"tnt_top.png", "tnt_bottom.png", "tnt_sides.png"}, + description = desc, + tiles = {top_tex, "tnt_bottom.png", "tnt_sides.png"}, is_ground_content = false, groups = {dig_immediate = 2}, sounds = default.node_sound_wood_defaults(), on_punch = function(pos, node, puncher) + if not tnt_enable then + return + end local itemname = puncher:get_wielded_item():get_name() if itemname == "default:flint_and_steel" then @@ -252,7 +268,9 @@ minetest.register_node( end end, on_blast = function(pos, intensity) - tnt.burn(pos) + if tnt_enable then + tnt.burn(pos) + end end, }) @@ -282,6 +300,7 @@ minetest.register_node( on_blast = function() end, }) + -- Crafting crafting.register_craft( @@ -302,11 +321,20 @@ minetest.register_craft( -- Achievements +local title, desc +if tnt_enable then + title = S("Boom!") + desc = S("Craft TNT.") +else + title = S("Boom?") + desc = S("Craft defused TNT.") +end + achievements.register_achievement( "boom", { - title = S("Boom!"), - description = S("Craft TNT."), + title = title, + description = desc, times = 1, craftitem = "tnt:tnt", }) diff --git a/mods/tnt/locale/template.txt b/mods/tnt/locale/template.txt index 2b11718..f1c701a 100644 --- a/mods/tnt/locale/template.txt +++ b/mods/tnt/locale/template.txt @@ -1,4 +1,7 @@ # textdomain: tnt TNT= +Defused TNT= Boom!= +Boom?= Craft TNT.= +Craft defused TNT.= diff --git a/mods/tnt/locale/tnt.de.tr b/mods/tnt/locale/tnt.de.tr index cbd8123..42a6d5c 100644 --- a/mods/tnt/locale/tnt.de.tr +++ b/mods/tnt/locale/tnt.de.tr @@ -1,4 +1,7 @@ # textdomain: tnt TNT=TNT +Defused TNT=Entschärftes TNT Boom!=Bumm! +Boom?=Bumm? Craft TNT.=Fertigen Sie TNT. +Craft defused TNT.=Fertigen Sie entschärftes TNT. diff --git a/mods/tnt/textures/tnt_top_disabled.png b/mods/tnt/textures/tnt_top_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..62c4b6a6be5ea518013f3ec750c616659b8d9772 GIT binary patch literal 1986 zcmV;z2R- zaB^>EX>4U6ba`-PAZ2)IW&i+q+O1bvk}D|;{O1&N1SA&0aabeX4d(chELCm0%Wb>o z710G2lq8fXL96!fpRWGF!^~P)C&5SWH69ynq+xX+Rpd>p^w3xT%8jPkwI_P z&)~PbLC#puTVA%F1i8CW6x*K2_Y-L=;;;=I7Plco%Yd$1QQC?OZ_9T5&fBt&L2kFO zzters&oJOmjh8jT-gy#>w`DEjBgTQX6~wI$M~zJTr=iE+>R8I~iJKv#=bM+823s)E zB=qZT#yYeFxyRd>9S#M^-~z^R$CmYv&ol4Ut@|7HJ6O*VJ&|v;)q#TNJz*YD@@Ic3 zCwC}%fOTSbW7&t(@}1n&5shGxJsC$H9tpD$ zA&>z8CAiMUas~qA99KBW)))_Pki)QzZ-nMjcD%$WhQ=!6kbDAckdy$+S_l4!4d766 z##!f_cjAJJE_vfehIuc3RMjL#tT^!^5|l(q!2}yz@IgWdF{H@Rpz6Aae2gK+m=cU8 zXioS#VL?inv&lBQ?6c&Mqspm(KE)PSe324LEU9ue6?t5Jl^SZSsZj%!nr*K6CM~qs zQU}$#>9)J>yQm&|?CC^p!}_g#fEsPocp^0x%844JB8LhZ<-`rlfEZf>-~!Zu7>GSE z(}Aqzf!x4MM;_&m;iMbjR2ql@LEDI3rxUx4oI(`;3T{fm#Et(ia%w>LCUW0#yF#sw zjsp%gWDLg<^w_Is6QB046j8}_j2t8UKdn`N!<$D%RA(^A zSut0hkZ&PzNVRmfDbB^*25R3Te5FyHDxYaI;NJLE zLaPRp8xzU4$aT4#V;erJWy0}Vth)jTJ1HQ# z6@+Q(0CU`Bgbri1F2!tAK83&S^CYYqsa@J>)~t<}CYIvbn+Ub~iUOqGCEOiN()uRG zj`Fj@hqFH%@e^9!;zZtYL~U7MX%UMS##h}+>!1mhL_Ux}i=Xf3j&Lb03hNOqnYZLz#U9{e$5X~7Si z0ro8gu(+_fIgTMLA?{c^=ncn4Suq-$-5wRGq<>TFURKE3b`p9d zz_#IVqcvwT6t@bS!wu8<$JjpWWqposOA+pKjFjh9Mn0)&cjfh_~r{1f7uQjU6it5`A1VZvA3`)O?*T;(PKz(1C`WxO1cByN6eSTu9&na`QQC*Pm zwqoF3H7CZk@W&HV{em)=j8Sisu;W&Tf9chKd|mpC0$~C50004mX+uL$Nkc;*aB^>E zX>4Tx0C=2zkv&MmKpe$iQ>7{uhjtL@5TQC*5EXIMDionYs1;guFuC*#nlvOSE{=k0 z!NHHks)LKOt`4q(Aou~|;_9U6A|?K>DYS_3;J6>}?mh0_0YbgZG^=YI&~)2OCE{Wx zyDA1=(F;F97)C^9mN6$uNqCO0d-(Wz7vovp=l&f1YR+PSPb8jYhG`RT5KnK~2Iqa^ zFe}O`@j3CBNf#u3?RN zSu0mr>z@3D!JNLb%ypU(B(R7jND!f*iW17O5u;Tn#X^eq;~xH@re7kLLaq`RITlcX z2D#}6|AXJ%TKUNdHz^ngx?ddUV+0870*#vEd>=bb;{@AeSad^gZEa<4bO1wgWnpw>WFU8G zbZ8()Nlj2!fese{006#8L_t(I%jJ_n3W7iwg})g_F#;D7fd>#Gu#V6jT)F6gUZZ`R z6rvLpM7R(lNzoP)5o9#hvRTbz-ur*}cq7(P)bhho0Q)rkdVqWu2j8c!mVL~_#pvZ- zm@wE)wZ*ea#+!jTgCY)f(7r<3(B*y0pol{}RpMDCGz|y|EvRK+#=ujhzO;apdI*r$ zjyZ$l{BqyikXJf5*$Q(8Y8H@JHUMstX$F0Ikk<}wl0Cw`dvIQzK9)-S*