From c49e8dfba004e70839fbd2b001b4ff55ddb0926b Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 20 May 2017 04:11:14 +0200 Subject: [PATCH] Destroy some nodes by flowing lava --- GROUPS.md | 1 + mods/ITEMS/REDSTONE/mesecons/wires.lua | 6 +-- mods/ITEMS/REDSTONE/mesecons_button/init.lua | 8 ++-- mods/ITEMS/REDSTONE/mesecons_delayer/init.lua | 6 +-- mods/ITEMS/REDSTONE/mesecons_torch/init.lua | 2 +- mods/ITEMS/mcl_core/functions.lua | 43 ++++++++++++++++++- mods/ITEMS/mcl_core/nodes.lua | 18 ++++---- mods/ITEMS/mcl_end/init.lua | 2 +- mods/ITEMS/mcl_farming/beetroot.lua | 8 ++-- mods/ITEMS/mcl_farming/carrots.lua | 4 +- mods/ITEMS/mcl_farming/melon.lua | 2 +- mods/ITEMS/mcl_farming/potatoes.lua | 4 +- mods/ITEMS/mcl_farming/pumpkin.lua | 2 +- mods/ITEMS/mcl_farming/shared_functions.lua | 4 +- mods/ITEMS/mcl_farming/wheat.lua | 4 +- mods/ITEMS/mcl_flowers/init.lua | 12 +++--- mods/ITEMS/mcl_minecarts/rails.lua | 4 +- mods/ITEMS/mcl_mushrooms/small.lua | 4 +- mods/ITEMS/mcl_torches/init.lua | 3 +- 19 files changed, 89 insertions(+), 48 deletions(-) diff --git a/GROUPS.md b/GROUPS.md index 7787ff498..ffe60e372 100644 --- a/GROUPS.md +++ b/GROUPS.md @@ -30,6 +30,7 @@ Please read to learn how digging times ### Groups for interactions * `dig_by_water=1`: Blocks with this group will drop when they are near flowing water +* `destroy_by_lava_flow=1`: Blocks with this group will be destroyed by flowing lava * `dig_by_piston=1`: Blocks which will drop as an item when pushed by a piston. They also cannot be pulled by sticky pistons * `cultivatable=2`: Block will be turned into Farmland by using a hoe on it * `cultivatable=1`: Block will be turned into Dirt by using a hoe on it diff --git a/mods/ITEMS/REDSTONE/mesecons/wires.lua b/mods/ITEMS/REDSTONE/mesecons/wires.lua index 6bb1eb0cf..26e24c817 100644 --- a/mods/ITEMS/REDSTONE/mesecons/wires.lua +++ b/mods/ITEMS/REDSTONE/mesecons/wires.lua @@ -37,7 +37,7 @@ for zmy=0, 1 do local longdesc local usagehelp if nodeid == "00000000" then - groups = {dig_immediate = 3, mesecon_conductor_craftable = 1, attached_node = 1, dig_by_water = 1, dig_by_piston = 1} + groups = {dig_immediate = 3, mesecon_conductor_craftable = 1, attached_node = 1, dig_by_water = 1,destroy_by_lava_flow=1, dig_by_piston = 1} wiredesc = "Redstone" wirehelp = nodeid == "00000000" if wirehelp then @@ -49,7 +49,7 @@ Redstone power can be received from various redstone components, such as a block Read the help entries on the other redstone components to learn how redstone components interact.]] end else - groups = {dig_immediate = 3, not_in_creative_inventory = 1, attached_node = 1, dig_by_water = 1, dig_by_piston = 1} + groups = {dig_immediate = 3, not_in_creative_inventory = 1, attached_node = 1, dig_by_water = 1,destroy_by_lava_flow=1, dig_by_piston = 1} wiredesc = "Redstone Trail (ID: "..nodeid..")" wirehelp = false end @@ -163,7 +163,7 @@ Read the help entries on the other redstone components to learn how redstone com type = "fixed", fixed = nodebox }, - groups = {dig_immediate = 3, mesecon = 2, dig_by_water = 1, dig_by_piston = 1, attached_node = 1, not_in_creative_inventory = 1}, + groups = {dig_immediate = 3, mesecon = 2, dig_by_water = 1,destroy_by_lava_flow=1, dig_by_piston = 1, attached_node = 1, not_in_creative_inventory = 1}, walkable = false, stack_max = 64, drop = "mesecons:wire_00000000_off", diff --git a/mods/ITEMS/REDSTONE/mesecons_button/init.lua b/mods/ITEMS/REDSTONE/mesecons_button/init.lua index 7a9a5d199..64f7f54af 100644 --- a/mods/ITEMS/REDSTONE/mesecons_button/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_button/init.lua @@ -57,7 +57,7 @@ minetest.register_node("mesecons_button:button_stone_off", { walkable = false, sunlight_propagates = true, node_box = boxes_off, - groups = {handy=1,pickaxey=1, attached_node=1, dig_by_water=1, dig_by_piston=1}, + groups = {handy=1,pickaxey=1, attached_node=1, dig_by_water=1,destroy_by_lava_flow=1, dig_by_piston=1}, description = "Stone Button", _doc_items_longdesc = "A stone button is a redstone component made out of stone which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1 second.", _doc_items_usagehelp = buttonuse, @@ -88,7 +88,7 @@ minetest.register_node("mesecons_button:button_stone_on", { walkable = false, sunlight_propagates = true, node_box = boxes_on, - groups = {handy=1,pickaxey=1, not_in_creative_inventory=1, attached_node=1, dig_by_water=1, dig_by_piston=1}, + groups = {handy=1,pickaxey=1, not_in_creative_inventory=1, attached_node=1, dig_by_water=1,destroy_by_lava_flow=1, dig_by_piston=1}, drop = 'mesecons_button:button_stone_off', description = "Stone Button", _doc_items_create_entry = false, @@ -113,7 +113,7 @@ minetest.register_node("mesecons_button:button_wood_off", { walkable = false, sunlight_propagates = true, node_box = boxes_off, - groups = {handy=1,axey=1, attached_node=1, dig_by_water=1, dig_by_piston=1}, + groups = {handy=1,axey=1, attached_node=1, dig_by_water=1,destroy_by_lava_flow=1, dig_by_piston=1}, description = "Wooden Button", _doc_items_longdesc = "A wooden button is a redstone component made out of wood which can be pushed to provide redstone power. When pushed, it powers adjacent redstone components for 1.5 seconds.", _doc_items_usagehelp = buttonuse, @@ -144,7 +144,7 @@ minetest.register_node("mesecons_button:button_wood_on", { walkable = false, sunlight_propagates = true, node_box = boxes_on, - groups = {handy=1,axey=1, not_in_creative_inventory=1, attached_node=1, dig_by_water=1, dig_by_piston=1}, + groups = {handy=1,axey=1, not_in_creative_inventory=1, attached_node=1, dig_by_water=1,destroy_by_lava_flow=1, dig_by_piston=1}, drop = 'mesecons_button:button_wood_off', description = "Wooden Button", _doc_items_create_entry = false, diff --git a/mods/ITEMS/REDSTONE/mesecons_delayer/init.lua b/mods/ITEMS/REDSTONE/mesecons_delayer/init.lua index 24ee64dbe..88e36b6dc 100644 --- a/mods/ITEMS/REDSTONE/mesecons_delayer/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_delayer/init.lua @@ -46,9 +46,9 @@ end for i = 1, 4 do local groups = {} if i == 1 then - groups = {dig_immediate=3,dig_by_water=1,dig_by_piston=1,attached_node=1} + groups = {dig_immediate=3,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,attached_node=1} else - groups = {dig_immediate=3,dig_by_water=1,dig_by_piston=1,attached_node=1, not_in_creative_inventory=1} + groups = {dig_immediate=3,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,attached_node=1, not_in_creative_inventory=1} end local delaytime @@ -185,7 +185,7 @@ minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), { type = "fixed", fixed = boxes }, - groups = {dig_immediate = 3, dig_by_water=1, dig_by_piston=1, attached_node=1, not_in_creative_inventory = 1}, + groups = {dig_immediate = 3, dig_by_water=1,destroy_by_lava_flow=1, dig_by_piston=1, attached_node=1, not_in_creative_inventory = 1}, paramtype = "light", paramtype2 = "facedir", sunlight_propagates = false, diff --git a/mods/ITEMS/REDSTONE/mesecons_torch/init.lua b/mods/ITEMS/REDSTONE/mesecons_torch/init.lua index f67903363..55692de6b 100644 --- a/mods/ITEMS/REDSTONE/mesecons_torch/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_torch/init.lua @@ -70,7 +70,7 @@ mcl_torches.register_torch("mesecon_torch_on", "Redstone Torch", "mcl_torches_torch_floor.obj", "mcl_torches_torch_wall.obj", {"jeija_torches_on.png"}, 7, - {dig_immediate=3, dig_by_water=1}, + {dig_immediate=3, dig_by_water=1,}, mcl_sounds.node_sound_wood_defaults(), { mesecons = {receptor = { diff --git a/mods/ITEMS/mcl_core/functions.lua b/mods/ITEMS/mcl_core/functions.lua index f466b2cae..91498e087 100644 --- a/mods/ITEMS/mcl_core/functions.lua +++ b/mods/ITEMS/mcl_core/functions.lua @@ -4,12 +4,12 @@ mcl_core.cool_lava_source = function(pos) minetest.set_node(pos, {name="mcl_core:obsidian"}) - minetest.sound_play("fire_extinguish_flame", {gain = 0.25, max_hear_distance = 16}) + minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}) end mcl_core.cool_lava_flowing = function(pos) minetest.set_node(pos, {name="mcl_core:stone"}) - minetest.sound_play("fire_extinguish_flame", {gain = 0.25, max_hear_distance = 16}) + minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}) end minetest.register_abm({ @@ -132,6 +132,45 @@ minetest.register_abm({ end, }) +-- Destroy some nodes next to and below lava (excluding diagonals) +-- TODO: This is just an approximation! Attached nodes should be removed if lava wants to flow INTO that space. +minetest.register_abm({ + label = "Destroy destroy_by_lava_flow nodes next to lava", + nodenames = {"group:destroy_by_lava_flow"}, + neighbors = {"group:lava"}, + interval = 1, + chance = 1, + action = function(pos, node, active_object_count, active_object_count_wider) + local check_destroy = function(pos, xp, yp, zp) + local p = {x=pos.x+xp, y=pos.y+yp, z=pos.z+zp} + local n = minetest.get_node(p) + local d = minetest.registered_nodes[n.name] + if (d.groups.lava) then + minetest.remove_node(pos) + minetest.sound_play("builtin_item_lava", {pos = pos, gain = 0.25, max_hear_distance = 16}) + core.check_for_falling(pos) + return true + else + return false + end + end + local dug = false + for xp=-1,1 do + if check_destroy(pos, xp, 0, 0) then dug = true; break end + end + if not dug then + for zp=-1,1 do + if check_destroy(pos, 0, 0, zp) then dug = true; break end + end + if not dug then + for yp=0,1 do + if check_destroy(pos, 0, yp, 0) then break end + end + end + end + end, +}) + minetest.register_abm({ label = "Cactus growth", nodenames = {"mcl_core:cactus"}, diff --git a/mods/ITEMS/mcl_core/nodes.lua b/mods/ITEMS/mcl_core/nodes.lua index 36e13012e..99a0ab88b 100644 --- a/mods/ITEMS/mcl_core/nodes.lua +++ b/mods/ITEMS/mcl_core/nodes.lua @@ -706,7 +706,7 @@ minetest.register_node("mcl_core:sapling", { fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} }, stack_max = 64, - groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) @@ -792,7 +792,7 @@ minetest.register_node("mcl_core:darksapling", { fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} }, stack_max = 64, - groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) @@ -936,7 +936,7 @@ minetest.register_node("mcl_core:junglesapling", { fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} }, stack_max = 64, - groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) @@ -1022,7 +1022,7 @@ minetest.register_node("mcl_core:acaciasapling", { node_placement_prediction = "", on_place = mcl_util.on_place_non_mycelium_plant, stack_max = 64, - groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, _mcl_hardness = 0, @@ -1101,7 +1101,7 @@ minetest.register_node("mcl_core:sprucesapling", { fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} }, stack_max = 64, - groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) @@ -1181,7 +1181,7 @@ minetest.register_node("mcl_core:birchsapling", { fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} }, stack_max = 64, - groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3, plant=1,sapling=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), on_construct = function(pos) local meta = minetest.get_meta(pos) @@ -1461,7 +1461,7 @@ minetest.register_node("mcl_core:vine", { type = "wallmounted", }, stack_max = 64, - groups = {handy=1,axey=1,shearsy=1,swordy=1, flammable=2,deco_block=1,dig_by_piston=1}, + groups = {handy=1,axey=1,shearsy=1,swordy=1, flammable=2,deco_block=1,destroy_by_lava_flow=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), drop = "", after_dig_node = function(pos, oldnode, oldmetadata, user) @@ -1808,7 +1808,7 @@ minetest.register_node("mcl_core:deadbush", { walkable = false, stack_max = 64, buildable_to = true, - groups = {dig_immediate=3, flammable=3,attached_node=1,plant=1,non_mycelium_plant=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3, flammable=3,attached_node=1,plant=1,non_mycelium_plant=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1}, drop = { max_items = 1, items = { @@ -2023,7 +2023,7 @@ minetest.register_node("mcl_core:cobweb", { liquid_renewable = false, liquid_range = 0, walkable = false, - groups = {swordy_cobweb=1,shearsy=1, deco_block=1, dig_by_piston=1}, + groups = {swordy_cobweb=1,shearsy=1, deco_block=1, dig_by_piston=1, destroy_by_lava_flow=1,}, drop = "mcl_mobitems:string", sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 20, diff --git a/mods/ITEMS/mcl_end/init.lua b/mods/ITEMS/mcl_end/init.lua index 65977425a..4b35bfa3e 100644 --- a/mods/ITEMS/mcl_end/init.lua +++ b/mods/ITEMS/mcl_end/init.lua @@ -65,7 +65,7 @@ minetest.register_node("mcl_end:end_rod", { paramtype2 = "facedir", light_source = 14, sunlight_propagates = true, - groups = { dig_immediate=3, deco_block=1, }, + groups = { dig_immediate=3, deco_block=1, destroy_by_lava_flow=1, }, node_box = { type = "fixed", fixed = { diff --git a/mods/ITEMS/mcl_farming/beetroot.lua b/mods/ITEMS/mcl_farming/beetroot.lua index 458a5edd6..cc5eb1a86 100644 --- a/mods/ITEMS/mcl_farming/beetroot.lua +++ b/mods/ITEMS/mcl_farming/beetroot.lua @@ -30,7 +30,7 @@ minetest.register_node("mcl_farming:beetroot_0", { {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -54,7 +54,7 @@ minetest.register_node("mcl_farming:beetroot_1", { {-0.5, -0.5, -0.5, 0.5, -3/16, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -78,7 +78,7 @@ minetest.register_node("mcl_farming:beetroot_2", { {-0.5, -0.5, -0.5, 0.5, 2/16, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -111,7 +111,7 @@ minetest.register_node("mcl_farming:beetroot", { {-0.5, -0.5, -0.5, 0.5, 3/16, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,dig_by_piston=1,beetroot=4}, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,beetroot=4}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) diff --git a/mods/ITEMS/mcl_farming/carrots.lua b/mods/ITEMS/mcl_farming/carrots.lua index 9442a97c2..01006e0df 100644 --- a/mods/ITEMS/mcl_farming/carrots.lua +++ b/mods/ITEMS/mcl_farming/carrots.lua @@ -40,7 +40,7 @@ for i=1, 7 do {-0.5, -0.5, -0.5, 0.5, sel_height, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -73,7 +73,7 @@ minetest.register_node("mcl_farming:carrot", { {-0.5, -0.5, -0.5, 0.5, 4/16, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) diff --git a/mods/ITEMS/mcl_farming/melon.lua b/mods/ITEMS/mcl_farming/melon.lua index ee6dea591..33ba069e4 100644 --- a/mods/ITEMS/mcl_farming/melon.lua +++ b/mods/ITEMS/mcl_farming/melon.lua @@ -84,7 +84,7 @@ for s=1,7 do {-0.15, -0.5, -0.15, 0.15, -0.5+h, 0.15} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1, plant_melon_stem=s}, + groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1,destroy_by_lava_flow=1, plant_melon_stem=s}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) diff --git a/mods/ITEMS/mcl_farming/potatoes.lua b/mods/ITEMS/mcl_farming/potatoes.lua index 9829ad08d..ccb63d40e 100644 --- a/mods/ITEMS/mcl_farming/potatoes.lua +++ b/mods/ITEMS/mcl_farming/potatoes.lua @@ -42,7 +42,7 @@ for i=1, 7 do type = "fixed", fixed = { selbox }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -74,7 +74,7 @@ minetest.register_node("mcl_farming:potato", { { -0.5, -0.5, -0.5, 0.5, 1/16, 0.5 } } }, - groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) diff --git a/mods/ITEMS/mcl_farming/pumpkin.lua b/mods/ITEMS/mcl_farming/pumpkin.lua index 1a95ef3c4..b0b886c38 100644 --- a/mods/ITEMS/mcl_farming/pumpkin.lua +++ b/mods/ITEMS/mcl_farming/pumpkin.lua @@ -59,7 +59,7 @@ for s=1,7 do {-0.15, -0.5, -0.15, 0.15, -0.5+h, 0.15} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1,destroy_by_lava_flow=1,}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) diff --git a/mods/ITEMS/mcl_farming/shared_functions.lua b/mods/ITEMS/mcl_farming/shared_functions.lua index 2bcf29b88..45e241269 100644 --- a/mods/ITEMS/mcl_farming/shared_functions.lua +++ b/mods/ITEMS/mcl_farming/shared_functions.lua @@ -201,7 +201,7 @@ function mcl_farming:add_gourd(full_unconnected_stem, connected_stem_basename, s stem_def.drop = stem_drop end if stem_def.groups == nil then - stem_def.groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1} + stem_def.groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1,destroy_by_lava_flow=1,} end if stem_def.sounds == nil then stem_def.sounds = mcl_sounds.node_sound_leaves_defaults() @@ -278,7 +278,7 @@ function mcl_farming:add_gourd(full_unconnected_stem, connected_stem_basename, s fixed = connected_stem_selectionbox[i] }, tiles = connected_stem_tiles[i], - groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1,destroy_by_lava_flow=1,}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) diff --git a/mods/ITEMS/mcl_farming/wheat.lua b/mods/ITEMS/mcl_farming/wheat.lua index 00f0dbbcb..ed58b6271 100644 --- a/mods/ITEMS/mcl_farming/wheat.lua +++ b/mods/ITEMS/mcl_farming/wheat.lua @@ -51,7 +51,7 @@ for i=1,7 do {-0.5, -0.5, -0.5, 0.5, sel_heights[i], 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1, dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1,destroy_by_lava_flow=1, dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -78,7 +78,7 @@ minetest.register_node("mcl_farming:wheat", { { items = {'mcl_farming:wheat_item'} } } }, - groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1, dig_by_piston=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1, plant=1,attached_node=1, dig_by_water=1,destroy_by_lava_flow=1, dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) diff --git a/mods/ITEMS/mcl_flowers/init.lua b/mods/ITEMS/mcl_flowers/init.lua index 8020d5c58..6000d4c54 100644 --- a/mods/ITEMS/mcl_flowers/init.lua +++ b/mods/ITEMS/mcl_flowers/init.lua @@ -18,7 +18,7 @@ local function add_simple_flower(name, desc, image, simple_selection_box) paramtype = "light", walkable = false, stack_max = 64, - groups = {dig_immediate=3,flammable=2,plant=1,flower=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,dig_by_piston=1,deco_block=1}, + groups = {dig_immediate=3,flammable=2,plant=1,flower=1,non_mycelium_plant=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), node_placement_prediction = "", on_place = mcl_util.on_place_non_mycelium_plant, @@ -68,7 +68,7 @@ minetest.register_node("mcl_flowers:tallgrass", { buildable_to = true, is_ground_content = true, -- CHECKME: How does tall grass behave when pushed by a piston? - groups = {dig_immediate=3, flammable=3,attached_node=1,plant=1,non_mycelium_plant=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3, flammable=3,attached_node=1,plant=1,non_mycelium_plant=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), drop = wheat_seed_drop, after_dig_node = function(pos, oldnode, oldmetadata, user) @@ -96,7 +96,7 @@ minetest.register_node("mcl_flowers:fern", { walkable = false, stack_max = 64, -- CHECKME: How does a fern behave when pushed by a piston? - groups = {dig_immediate=3,flammable=2,attached_node=1,plant=1,non_mycelium_plant=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3,flammable=2,attached_node=1,plant=1,non_mycelium_plant=1,dig_by_water=1,destroy_by_lava_flow=1,deco_block=1}, buildable_to = true, sounds = mcl_sounds.node_sound_leaves_defaults(), after_dig_node = function(pos, oldnode, oldmetadata, user) @@ -183,7 +183,7 @@ local function add_large_plant(name, desc, longdesc, bottom_img, top_img, inv_im minetest.remove_node(top) end end, - groups = {dig_immediate=3,flammable=2,flower=flowergroup,non_mycelium_plant=1,attached_node=1, dig_by_water=1,dig_by_piston=1, plant=1,double_plant=1,deco_block=1}, + groups = {dig_immediate=3,flammable=2,flower=flowergroup,non_mycelium_plant=1,attached_node=1, dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1, plant=1,double_plant=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), }) @@ -206,7 +206,7 @@ local function add_large_plant(name, desc, longdesc, bottom_img, top_img, inv_im minetest.dig_node(bottom) end end, - groups = {dig_immediate=3,flammable=2,flower=flowergroup,non_mycelium_plant=1,dig_by_water=1,dig_by_piston=1, not_in_creative_inventory = 1, plant=1,double_plant=2}, + groups = {dig_immediate=3,flammable=2,flower=flowergroup,non_mycelium_plant=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1, not_in_creative_inventory = 1, plant=1,double_plant=2}, sounds = mcl_sounds.node_sound_leaves_defaults(), }) @@ -239,7 +239,7 @@ minetest.register_node("mcl_flowers:waterlily", { liquids_pointable = true, walkable = true, sunlight_propagates = true, - groups = {dig_immediate = 3, plant=1, dig_by_water = 1, dig_by_piston = 1, deco_block=1}, + groups = {dig_immediate = 3, plant=1, dig_by_water = 1,destroy_by_lava_flow=1, dig_by_piston = 1, deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), node_placement_prediction = "", node_box = { diff --git a/mods/ITEMS/mcl_minecarts/rails.lua b/mods/ITEMS/mcl_minecarts/rails.lua index aa10b870f..39a9262ae 100644 --- a/mods/ITEMS/mcl_minecarts/rails.lua +++ b/mods/ITEMS/mcl_minecarts/rails.lua @@ -18,7 +18,7 @@ minetest.register_node("mcl_minecarts:rail", { fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, }, stack_max = 64, - groups = {handy=1,pickaxey=1, attached_node=1,rail=1,connect_to_raillike=1,dig_by_water=1,transport=1}, + groups = {handy=1,pickaxey=1, attached_node=1,rail=1,connect_to_raillike=1,dig_by_water=1,destroy_by_lava_flow=1,transport=1}, sounds = mcl_sounds.node_sound_defaults(), _mcl_blast_resistance = 3.5, _mcl_hardness = 0.7, @@ -50,7 +50,7 @@ minetest.register_node("mcl_minecarts:golden_rail", { -- but how to specify the dimensions for curved and sideways rails? fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2}, }, - groups = {handy=1,pickaxey=1, attached_node = 1, rail = 1, connect_to_raillike = 1, dig_by_water = 1, transport = 1}, + groups = {handy=1,pickaxey=1, attached_node = 1, rail = 1, connect_to_raillike = 1, dig_by_water = 1,destroy_by_lava_flow=1, transport = 1}, after_place_node = function(pos, placer, itemstack) if not mesecon then diff --git a/mods/ITEMS/mcl_mushrooms/small.lua b/mods/ITEMS/mcl_mushrooms/small.lua index bb49bd392..3282bc662 100644 --- a/mods/ITEMS/mcl_mushrooms/small.lua +++ b/mods/ITEMS/mcl_mushrooms/small.lua @@ -75,7 +75,7 @@ minetest.register_node("mcl_mushrooms:mushroom_brown", { sunlight_propagates = true, paramtype = "light", walkable = false, - groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=1,dig_by_piston=1,deco_block=1}, + groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), light_source = 1, selection_box = { @@ -98,7 +98,7 @@ minetest.register_node("mcl_mushrooms:mushroom_red", { sunlight_propagates = true, paramtype = "light", walkable = false, - groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=1,dig_by_piston=1,deco_block=1}, + groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=1,destroy_by_lava_flow=1,dig_by_piston=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), selection_box = { type = "fixed", diff --git a/mods/ITEMS/mcl_torches/init.lua b/mods/ITEMS/mcl_torches/init.lua index 82dd0a07e..415d8ddb4 100644 --- a/mods/ITEMS/mcl_torches/init.lua +++ b/mods/ITEMS/mcl_torches/init.lua @@ -17,6 +17,7 @@ mcl_torches.register_torch = function(substring, description, doc_items_longdesc groups.attached_node = 1 groups.torch = 1 groups.dig_by_water = 1 + groups.destroy_by_lava_flow = 1 groups.dig_by_piston = 1 local floordef = { @@ -181,7 +182,7 @@ mcl_torches.register_torch("torch", animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} }}, 14, - {dig_immediate=3, torch=1, dig_by_water=1, deco_block=1}, + {dig_immediate=3, torch=1, deco_block=1}, mcl_sounds.node_sound_wood_defaults(), {_doc_items_hidden = false})