Fire: Reduce volume of flint and steel sound
[oweals/minetest_game.git] / mods / fire / init.lua
index 34613da55fd1320d51fc221a27c7db0b52989f78..a3457f649091266f003009f0cff29bd41f2146eb 100644 (file)
@@ -87,8 +87,12 @@ minetest.register_tool("fire:flint_and_steel", {
        description = "Flint and Steel",
        inventory_image = "fire_flint_steel.png",
        on_use = function(itemstack, user, pointed_thing)
-               itemstack:add_wear(1000)
                local pt = pointed_thing
+               minetest.sound_play(
+                       "fire_flint_and_steel",
+                       {pos = pt.above, gain = 0.6, max_hear_distance = 8}
+               )
+               itemstack:add_wear(1000)
                if pt.type == "node" then
                        local node_under = minetest.get_node(pt.under).name
                        local is_coalblock = node_under == "default:coalblock"
@@ -221,6 +225,7 @@ end
 -- Extinguish all flames quickly with water, snow, ice
 
 minetest.register_abm({
+       label = "Extinguish flame",
        nodenames = {"fire:basic_flame", "fire:permanent_flame"},
        neighbors = {"group:puts_out_fire"},
        interval = 3,
@@ -234,13 +239,21 @@ minetest.register_abm({
 })
 
 
--- Enable the following ABMs according to 'disable fire' setting
+-- Enable the following ABMs according to 'enable fire' setting
+
+local fire_enabled = minetest.setting_getbool("enable_fire")
+if fire_enabled == nil then
+       -- New setting not specified, check for old setting.
+       -- If old setting is also not specified, 'not nil' is true.
+       fire_enabled = not minetest.setting_getbool("disable_fire")
+end
 
-if minetest.setting_getbool("disable_fire") then
+if not fire_enabled then
 
        -- Remove basic flames only
 
        minetest.register_abm({
+               label = "Remove disabled fire",
                nodenames = {"fire:basic_flame"},
                interval = 7,
                chance = 1,
@@ -248,11 +261,12 @@ if minetest.setting_getbool("disable_fire") then
                action = minetest.remove_node,
        })
 
-else
+else -- Fire enabled
 
        -- Ignite neighboring nodes, add basic flames
 
        minetest.register_abm({
+               label = "Ignite flame",
                nodenames = {"group:flammable"},
                neighbors = {"group:igniter"},
                interval = 7,
@@ -273,6 +287,7 @@ else
        -- Remove flammable nodes
 
        minetest.register_abm({
+               label = "Remove flammable nodes",
                nodenames = {"fire:basic_flame"},
                neighbors = "group:flammable",
                interval = 5,