Destroy some nodes by flowing lava

Wuzzy 2017-05-20 04:11:14 +02:00
parent 7140bf71d8
commit c49e8dfba0
19 changed files with 89 additions and 48 deletions

@ -30,6 +30,7 @@ Please read <http://minecraft.gamepedia.com/Breaking> to learn how digging times
### Groups for interactions ### Groups for interactions
* `dig_by_water=1`: Blocks with this group will drop when they are near flowing water * `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 * `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=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 * `cultivatable=1`: Block will be turned into Dirt by using a hoe on it

@ -37,7 +37,7 @@ for zmy=0, 1 do
local longdesc local longdesc
local usagehelp local usagehelp
if nodeid == "00000000" then 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" wiredesc = "Redstone"
wirehelp = nodeid == "00000000" wirehelp = nodeid == "00000000"
if wirehelp then 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.]] Read the help entries on the other redstone components to learn how redstone components interact.]]
end end
else 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..")" wiredesc = "Redstone Trail (ID: "..nodeid..")"
wirehelp = false wirehelp = false
end end
@ -163,7 +163,7 @@ Read the help entries on the other redstone components to learn how redstone com
type = "fixed", type = "fixed",
fixed = nodebox 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, walkable = false,
stack_max = 64, stack_max = 64,
drop = "mesecons:wire_00000000_off", drop = "mesecons:wire_00000000_off",

@ -57,7 +57,7 @@ minetest.register_node("mesecons_button:button_stone_off", {
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
node_box = boxes_off, 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", 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_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, _doc_items_usagehelp = buttonuse,
@ -88,7 +88,7 @@ minetest.register_node("mesecons_button:button_stone_on", {
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
node_box = boxes_on, 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', drop = 'mesecons_button:button_stone_off',
description = "Stone Button", description = "Stone Button",
_doc_items_create_entry = false, _doc_items_create_entry = false,
@ -113,7 +113,7 @@ minetest.register_node("mesecons_button:button_wood_off", {
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
node_box = boxes_off, 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", 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_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, _doc_items_usagehelp = buttonuse,
@ -144,7 +144,7 @@ minetest.register_node("mesecons_button:button_wood_on", {
walkable = false, walkable = false,
sunlight_propagates = true, sunlight_propagates = true,
node_box = boxes_on, 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', drop = 'mesecons_button:button_wood_off',
description = "Wooden Button", description = "Wooden Button",
_doc_items_create_entry = false, _doc_items_create_entry = false,

@ -46,9 +46,9 @@ end
for i = 1, 4 do for i = 1, 4 do
local groups = {} local groups = {}
if i == 1 then 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 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 end
local delaytime local delaytime
@ -185,7 +185,7 @@ minetest.register_node("mesecons_delayer:delayer_on_"..tostring(i), {
type = "fixed", type = "fixed",
fixed = boxes 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", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
sunlight_propagates = false, sunlight_propagates = false,

@ -70,7 +70,7 @@ mcl_torches.register_torch("mesecon_torch_on", "Redstone Torch",
"mcl_torches_torch_floor.obj", "mcl_torches_torch_wall.obj", "mcl_torches_torch_floor.obj", "mcl_torches_torch_wall.obj",
{"jeija_torches_on.png"}, {"jeija_torches_on.png"},
7, 7,
{dig_immediate=3, dig_by_water=1}, {dig_immediate=3, dig_by_water=1,},
mcl_sounds.node_sound_wood_defaults(), mcl_sounds.node_sound_wood_defaults(),
{ {
mesecons = {receptor = { mesecons = {receptor = {

@ -4,12 +4,12 @@
mcl_core.cool_lava_source = function(pos) mcl_core.cool_lava_source = function(pos)
minetest.set_node(pos, {name="mcl_core:obsidian"}) 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 end
mcl_core.cool_lava_flowing = function(pos) mcl_core.cool_lava_flowing = function(pos)
minetest.set_node(pos, {name="mcl_core:stone"}) 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 end
minetest.register_abm({ minetest.register_abm({
@ -132,6 +132,45 @@ minetest.register_abm({
end, 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({ minetest.register_abm({
label = "Cactus growth", label = "Cactus growth",
nodenames = {"mcl_core:cactus"}, nodenames = {"mcl_core:cactus"},

@ -706,7 +706,7 @@ minetest.register_node("mcl_core:sapling", {
fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
}, },
stack_max = 64, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(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} fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
}, },
stack_max = 64, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(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} fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
}, },
stack_max = 64, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -1022,7 +1022,7 @@ minetest.register_node("mcl_core:acaciasapling", {
node_placement_prediction = "", node_placement_prediction = "",
on_place = mcl_util.on_place_non_mycelium_plant, on_place = mcl_util.on_place_non_mycelium_plant,
stack_max = 64, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _mcl_blast_resistance = 0,
_mcl_hardness = 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} fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
}, },
stack_max = 64, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(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} fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
}, },
stack_max = 64, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -1461,7 +1461,7 @@ minetest.register_node("mcl_core:vine", {
type = "wallmounted", type = "wallmounted",
}, },
stack_max = 64, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
drop = "", drop = "",
after_dig_node = function(pos, oldnode, oldmetadata, user) after_dig_node = function(pos, oldnode, oldmetadata, user)
@ -1808,7 +1808,7 @@ minetest.register_node("mcl_core:deadbush", {
walkable = false, walkable = false,
stack_max = 64, stack_max = 64,
buildable_to = true, 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 = { drop = {
max_items = 1, max_items = 1,
items = { items = {
@ -2023,7 +2023,7 @@ minetest.register_node("mcl_core:cobweb", {
liquid_renewable = false, liquid_renewable = false,
liquid_range = 0, liquid_range = 0,
walkable = false, 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", drop = "mcl_mobitems:string",
sounds = mcl_sounds.node_sound_leaves_defaults(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 20, _mcl_blast_resistance = 20,

@ -65,7 +65,7 @@ minetest.register_node("mcl_end:end_rod", {
paramtype2 = "facedir", paramtype2 = "facedir",
light_source = 14, light_source = 14,
sunlight_propagates = true, sunlight_propagates = true,
groups = { dig_immediate=3, deco_block=1, }, groups = { dig_immediate=3, deco_block=1, destroy_by_lava_flow=1, },
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = { fixed = {

@ -30,7 +30,7 @@ minetest.register_node("mcl_farming:beetroot_0", {
{-0.5, -0.5, -0.5, 0.5, -5/16, 0.5} {-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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _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} {-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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _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} {-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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _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} {-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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _mcl_blast_resistance = 0,
}) })

@ -40,7 +40,7 @@ for i=1, 7 do
{-0.5, -0.5, -0.5, 0.5, sel_height, 0.5} {-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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _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} {-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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _mcl_blast_resistance = 0,
}) })

@ -84,7 +84,7 @@ for s=1,7 do
{-0.15, -0.5, -0.15, 0.15, -0.5+h, 0.15} {-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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _mcl_blast_resistance = 0,
}) })

@ -42,7 +42,7 @@ for i=1, 7 do
type = "fixed", type = "fixed",
fixed = { selbox }, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _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 } { -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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _mcl_blast_resistance = 0,
}) })

@ -59,7 +59,7 @@ for s=1,7 do
{-0.15, -0.5, -0.15, 0.15, -0.5+h, 0.15} {-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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _mcl_blast_resistance = 0,
}) })

@ -201,7 +201,7 @@ function mcl_farming:add_gourd(full_unconnected_stem, connected_stem_basename, s
stem_def.drop = stem_drop stem_def.drop = stem_drop
end end
if stem_def.groups == nil then 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 end
if stem_def.sounds == nil then if stem_def.sounds == nil then
stem_def.sounds = mcl_sounds.node_sound_leaves_defaults() 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] fixed = connected_stem_selectionbox[i]
}, },
tiles = connected_stem_tiles[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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _mcl_blast_resistance = 0,
}) })

@ -51,7 +51,7 @@ for i=1,7 do
{-0.5, -0.5, -0.5, 0.5, sel_heights[i], 0.5} {-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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _mcl_blast_resistance = 0,
}) })
@ -78,7 +78,7 @@ minetest.register_node("mcl_farming:wheat", {
{ items = {'mcl_farming:wheat_item'} } { 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
_mcl_blast_resistance = 0, _mcl_blast_resistance = 0,
}) })

@ -18,7 +18,7 @@ local function add_simple_flower(name, desc, image, simple_selection_box)
paramtype = "light", paramtype = "light",
walkable = false, walkable = false,
stack_max = 64, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
node_placement_prediction = "", node_placement_prediction = "",
on_place = mcl_util.on_place_non_mycelium_plant, on_place = mcl_util.on_place_non_mycelium_plant,
@ -68,7 +68,7 @@ minetest.register_node("mcl_flowers:tallgrass", {
buildable_to = true, buildable_to = true,
is_ground_content = true, is_ground_content = true,
-- CHECKME: How does tall grass behave when pushed by a piston? -- 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
drop = wheat_seed_drop, drop = wheat_seed_drop,
after_dig_node = function(pos, oldnode, oldmetadata, user) after_dig_node = function(pos, oldnode, oldmetadata, user)
@ -96,7 +96,7 @@ minetest.register_node("mcl_flowers:fern", {
walkable = false, walkable = false,
stack_max = 64, stack_max = 64,
-- CHECKME: How does a fern behave when pushed by a piston? -- 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, buildable_to = true,
sounds = mcl_sounds.node_sound_leaves_defaults(), sounds = mcl_sounds.node_sound_leaves_defaults(),
after_dig_node = function(pos, oldnode, oldmetadata, user) 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) minetest.remove_node(top)
end end
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(), 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) minetest.dig_node(bottom)
end end
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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
}) })
@ -239,7 +239,7 @@ minetest.register_node("mcl_flowers:waterlily", {
liquids_pointable = true, liquids_pointable = true,
walkable = true, walkable = true,
sunlight_propagates = 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
node_placement_prediction = "", node_placement_prediction = "",
node_box = { node_box = {

@ -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}, fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
}, },
stack_max = 64, 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(), sounds = mcl_sounds.node_sound_defaults(),
_mcl_blast_resistance = 3.5, _mcl_blast_resistance = 3.5,
_mcl_hardness = 0.7, _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? -- 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}, 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) after_place_node = function(pos, placer, itemstack)
if not mesecon then if not mesecon then

@ -75,7 +75,7 @@ minetest.register_node("mcl_mushrooms:mushroom_brown", {
sunlight_propagates = true, sunlight_propagates = true,
paramtype = "light", paramtype = "light",
walkable = false, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
light_source = 1, light_source = 1,
selection_box = { selection_box = {
@ -98,7 +98,7 @@ minetest.register_node("mcl_mushrooms:mushroom_red", {
sunlight_propagates = true, sunlight_propagates = true,
paramtype = "light", paramtype = "light",
walkable = false, 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(), sounds = mcl_sounds.node_sound_leaves_defaults(),
selection_box = { selection_box = {
type = "fixed", type = "fixed",

@ -17,6 +17,7 @@ mcl_torches.register_torch = function(substring, description, doc_items_longdesc
groups.attached_node = 1 groups.attached_node = 1
groups.torch = 1 groups.torch = 1
groups.dig_by_water = 1 groups.dig_by_water = 1
groups.destroy_by_lava_flow = 1
groups.dig_by_piston = 1 groups.dig_by_piston = 1
local floordef = { local floordef = {
@ -181,7 +182,7 @@ mcl_torches.register_torch("torch",
animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3} animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 3.3}
}}, }},
14, 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(), mcl_sounds.node_sound_wood_defaults(),
{_doc_items_hidden = false}) {_doc_items_hidden = false})