From 30564e494e557457ad93fc80a5dc147d71d32c4f Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Wed, 29 Mar 2017 22:58:31 +0200 Subject: [PATCH] Make many blocks drop when pushed by piston --- 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_mvps/init.lua | 11 ++----- .../REDSTONE/mesecons_pressureplates/init.lua | 1 + mods/ITEMS/beds/api.lua | 4 +-- mods/ITEMS/gemalde/init.lua | 4 +-- mods/ITEMS/itemframes/init.lua | 2 +- mods/ITEMS/mcl_cake/init.lua | 4 +-- mods/ITEMS/mcl_chests/init.lua | 2 +- mods/ITEMS/mcl_cocoas/init.lua | 2 +- mods/ITEMS/mcl_core/nodes.lua | 32 +++++++++---------- mods/ITEMS/mcl_doors/init.lua | 1 + mods/ITEMS/mcl_end/init.lua | 8 ++--- mods/ITEMS/mcl_farming/beetroot.lua | 8 ++--- mods/ITEMS/mcl_farming/carrots.lua | 8 ++--- mods/ITEMS/mcl_farming/melon.lua | 2 +- mods/ITEMS/mcl_farming/potatoes.lua | 6 ++-- mods/ITEMS/mcl_farming/pumpkin.lua | 4 +-- mods/ITEMS/mcl_farming/wheat.lua | 8 ++--- mods/ITEMS/mcl_fire/init.lua | 4 +-- mods/ITEMS/mcl_flowerpots/nodes.lua | 6 ++-- mods/ITEMS/mcl_flowers/init.lua | 10 +++--- mods/ITEMS/mcl_heads/init.lua | 2 +- mods/ITEMS/mcl_mushrooms/small.lua | 4 +-- mods/ITEMS/mcl_nether/nether_wart.lua | 8 ++--- mods/ITEMS/mcl_torches/init.lua | 1 + 27 files changed, 81 insertions(+), 81 deletions(-) diff --git a/mods/ITEMS/REDSTONE/mesecons/wires.lua b/mods/ITEMS/REDSTONE/mesecons/wires.lua index 434e5178..6bb1eb0c 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} + groups = {dig_immediate = 3, mesecon_conductor_craftable = 1, attached_node = 1, dig_by_water = 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} + groups = {dig_immediate = 3, not_in_creative_inventory = 1, attached_node = 1, dig_by_water = 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, attached_node = 1, not_in_creative_inventory = 1}, + groups = {dig_immediate = 3, mesecon = 2, dig_by_water = 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 c144fb3a..7a9a5d19 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}, + groups = {handy=1,pickaxey=1, attached_node=1, dig_by_water=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}, + groups = {handy=1,pickaxey=1, not_in_creative_inventory=1, attached_node=1, dig_by_water=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}, + groups = {handy=1,axey=1, attached_node=1, dig_by_water=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}, + groups = {handy=1,axey=1, not_in_creative_inventory=1, attached_node=1, dig_by_water=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 1251c53e..24ee64db 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,attached_node=1} + groups = {dig_immediate=3,dig_by_water=1,dig_by_piston=1,attached_node=1} else - groups = {dig_immediate=3,dig_by_water=1,attached_node=1, not_in_creative_inventory=1} + groups = {dig_immediate=3,dig_by_water=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, attached_node=1, not_in_creative_inventory = 1}, + groups = {dig_immediate = 3, dig_by_water=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_mvps/init.lua b/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua index 10114af2..d6257184 100644 --- a/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_mvps/init.lua @@ -24,6 +24,9 @@ function mesecon:is_mvps_dropper(node, pushdir, stack, stackid) if type (get_dropper) == "function" then get_dropper = get_dropper(node, pushdir, stack, stackid) end + if not get_dropper then + get_dropper = minetest.get_item_group(node.name, "dig_by_piston") == 1 + end return get_dropper end @@ -78,7 +81,6 @@ function mesecon:mvps_push(pos, dir, maximum) -- pos: pos of mvps; dir: directio n.meta = minetest.get_meta(n.pos):to_table() local is_dropper = mesecon:is_mvps_dropper(n.node, dir, nodes, id) if is_dropper then - minetest.log("error", "DROPPER @ "..minetest.pos_to_string(n.pos)) local drops = minetest.get_node_drops(n.node.name, "") local droppos = vector.add(n.pos, dir) minetest.handle_node_drops(droppos, drops, nil) @@ -193,10 +195,3 @@ mesecon:register_mvps_stopper("mesecons_solarpanel:solar_panel_on") mesecon:register_mvps_stopper("mesecons_solarpanel:solar_panel_inverted_off") mesecon:register_mvps_stopper("mesecons_solarpanel:solar_panel_inverted_on") mesecon:register_mvps_stopper("mesecons_noteblock:noteblock") - -mesecon:register_mvps_dropper("mcl_core:cactus") -mesecon:register_mvps_dropper("mcl_core:cobweb") -mesecon:register_mvps_dropper("mcl_farming:melon") -mesecon:register_mvps_dropper("mcl_farming:pumpkin") -mesecon:register_mvps_dropper("beds:bed_top") -mesecon:register_mvps_dropper("beds:bed_bottom") diff --git a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua index 2d80c94a..9ec2ffe9 100644 --- a/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua +++ b/mods/ITEMS/REDSTONE/mesecons_pressureplates/init.lua @@ -59,6 +59,7 @@ function mesecon:register_pressure_plate(offstate, onstate, description, texture local groups_off = table.copy(plusgroups) groups_off.attached_node = 1 + groups_off.dig_by_piston = 1 minetest.register_node(offstate, { drawtype = "nodebox", diff --git a/mods/ITEMS/beds/api.lua b/mods/ITEMS/beds/api.lua index 0241472d..d1a5f2ad 100644 --- a/mods/ITEMS/beds/api.lua +++ b/mods/ITEMS/beds/api.lua @@ -49,7 +49,7 @@ function beds.register_bed(name, def) paramtype2 = "facedir", is_ground_content = false, stack_max = 1, - groups = {handy=1, flammable = 3, bed = 1}, + groups = {handy=1, flammable = 3, bed = 1, dig_by_piston=1}, _mcl_hardness = 0.2, _mcl_blast_resistance = 1, sounds = def.sounds or mcl_sounds.node_sound_wood_defaults(), @@ -165,7 +165,7 @@ function beds.register_bed(name, def) sunlight_propagates = true, is_ground_content = false, pointable = false, - groups = {handy = 1, flammable = 3, bed = 2}, + groups = {handy = 1, flammable = 3, bed = 2, dig_by_piston=1}, _mcl_hardness = 0.2, _mcl_blast_resistance = 1, sounds = def.sounds or mcl_sounds.node_sound_wood_defaults(), diff --git a/mods/ITEMS/gemalde/init.lua b/mods/ITEMS/gemalde/init.lua index d3b31df7..13aed575 100644 --- a/mods/ITEMS/gemalde/init.lua +++ b/mods/ITEMS/gemalde/init.lua @@ -16,9 +16,9 @@ N = N - 1 -- register for each picture for n=1, N do -local groups = {dig_immediate=3, picture=1, not_in_creative_inventory=1} +local groups = {dig_immediate=3, picture=1, not_in_creative_inventory=1, dig_by_piston=1} if n == 1 then - groups = {dig_immediate=3, picture=1, deco_block=1} + groups = {dig_immediate=3, picture=1, deco_block=1, dig_by_piston=1} end local desc, doc, longdesc, usagehelp diff --git a/mods/ITEMS/itemframes/init.lua b/mods/ITEMS/itemframes/init.lua index c6f47d87..68c8a38e 100644 --- a/mods/ITEMS/itemframes/init.lua +++ b/mods/ITEMS/itemframes/init.lua @@ -100,7 +100,7 @@ minetest.register_node("itemframes:frame",{ paramtype = "light", paramtype2 = "facedir", sunlight_propagates = true, - groups = { dig_immediate=3,deco_block=1}, + groups = { dig_immediate=3,deco_block=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_defaults(), after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) diff --git a/mods/ITEMS/mcl_cake/init.lua b/mods/ITEMS/mcl_cake/init.lua index 4deeb82b..d6f26964 100644 --- a/mods/ITEMS/mcl_cake/init.lua +++ b/mods/ITEMS/mcl_cake/init.lua @@ -46,7 +46,7 @@ minetest.register_node("mcl_cake:cake", { fixed = full_cake }, stack_max = 1, - groups = {handy=1, food=2,attached_node=1}, + groups = {handy=1, food=2,attached_node=1, dig_by_piston=1}, drop = '', on_rightclick = function(pos, node, clicker, itemstack) minetest.do_item_eat(2, ItemStack("mcl_cake:cake_6"), ItemStack("mcl_cake:cake"), clicker, {type="nothing"}) @@ -90,7 +90,7 @@ local register_slice = function(level, nodebox, desc) type = "fixed", fixed = nodebox, }, - groups = {handy=1, food=2,attached_node=1,not_in_creative_inventory=1}, + groups = {handy=1, food=2,attached_node=1,not_in_creative_inventory=1,dig_by_piston=1}, drop = '', on_rightclick = on_rightclick, sounds = mcl_sounds.node_sound_leaves_defaults(), diff --git a/mods/ITEMS/mcl_chests/init.lua b/mods/ITEMS/mcl_chests/init.lua index ba655d17..8fa2c019 100644 --- a/mods/ITEMS/mcl_chests/init.lua +++ b/mods/ITEMS/mcl_chests/init.lua @@ -504,7 +504,7 @@ for color, desc in pairs(boxtypes) do tiles = {"mcl_chests_"..color.."_shulker_box_top.png", "mcl_chests_"..color.."_shulker_box_bottom.png", "mcl_chests_"..color.."_shulker_box_side.png", "mcl_chests_"..color.."_shulker_box_side.png", "mcl_chests_"..color.."_shulker_box_side.png", "mcl_chests_"..color.."_shulker_box_side.png"}, - groups = {handy=1,pickaxey=1, container=3, deco_block=1, shulker_box=1}, + groups = {handy=1,pickaxey=1, container=3, deco_block=1, dig_by_piston=1, shulker_box=1}, is_ground_content = false, sounds = mcl_sounds.node_sound_stone_defaults(), stack_max = 1, diff --git a/mods/ITEMS/mcl_cocoas/init.lua b/mods/ITEMS/mcl_cocoas/init.lua index 4c07b0f9..81a4af87 100644 --- a/mods/ITEMS/mcl_cocoas/init.lua +++ b/mods/ITEMS/mcl_cocoas/init.lua @@ -110,7 +110,7 @@ local crop_def = { }, }, groups = { - handy=1,axey=1, cocoa=1, not_in_creative_inventory=1, dig_by_water=1, + handy=1,axey=1, cocoa=1, not_in_creative_inventory=1, dig_by_water=1, dig_by_piston=1 }, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 15, diff --git a/mods/ITEMS/mcl_core/nodes.lua b/mods/ITEMS/mcl_core/nodes.lua index 35a0287f..565d07fe 100644 --- a/mods/ITEMS/mcl_core/nodes.lua +++ b/mods/ITEMS/mcl_core/nodes.lua @@ -674,7 +674,7 @@ minetest.register_node("mcl_core:leaves", { tiles = {"default_leaves.png"}, paramtype = "light", stack_max = 64, - groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1}, + groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1, dig_by_piston=1}, drop = { max_items = 1, items = { @@ -757,7 +757,7 @@ minetest.register_node("mcl_core:darkleaves", { tiles = {"default_leaves_big_oak.png"}, paramtype = "light", stack_max = 64, - groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1}, + groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1, dig_by_piston=1}, drop = { max_items = 1, items = { @@ -848,7 +848,7 @@ minetest.register_node("mcl_core:jungleleaves", { tiles = {"default_jungleleaves.png"}, paramtype = "light", stack_max = 64, - groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1}, + groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1, dig_by_piston=1}, drop = { max_items = 1, items = { @@ -927,7 +927,7 @@ minetest.register_node("mcl_core:acacialeaves", { tiles = {"default_acacialeaves.png"}, paramtype = "light", stack_max = 64, - groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1}, + groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1, dig_by_piston=1}, drop = { max_items = 1, items = { @@ -1004,7 +1004,7 @@ minetest.register_node("mcl_core:spruceleaves", { tiles = {"default_spruceleaves.png"}, paramtype = "light", stack_max = 64, - groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1}, + groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1, dig_by_piston=1}, drop = { max_items = 1, items = { @@ -1087,7 +1087,7 @@ minetest.register_node("mcl_core:birchleaves", { tiles = {"default_leaves_birch.png"}, paramtype = "light", stack_max = 64, - groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1}, + groups = {handy=1,shearsy=1,swordy=1, leafdecay=4, flammable=2, leaves=1, deco_block=1, dig_by_piston=1}, drop = { max_items = 1, items = { @@ -1137,7 +1137,7 @@ minetest.register_node("mcl_core:cactus", { tiles = {"default_cactus_top.png", "default_cactus_bottom.png", "default_cactus_side.png","default_cactus_side.png","default_cactus_side.png","default_cactus_side.png"}, is_ground_content = true, stack_max = 64, - groups = {handy=1, attached_node=1, deco_block=1}, + groups = {handy=1, attached_node=1, deco_block=1, dig_by_piston=1}, sounds = mcl_sounds.node_sound_wood_defaults(), paramtype = "light", node_placement_prediction = "", @@ -1218,7 +1218,7 @@ minetest.register_node("mcl_core:reeds", { }, }, stack_max = 64, - groups = {dig_immediate=3, craftitem=1}, + groups = {dig_immediate=3, craftitem=1, dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, _mcl_hardness = 0, @@ -1320,7 +1320,7 @@ minetest.register_node("mcl_core:ladder", { wall_side = { -0.5, -0.5, -0.5, -7/16, 0.5, 0.5 }, }, stack_max = 64, - groups = {handy=1,axey=1, attached_node=1, deco_block=1}, + groups = {handy=1,axey=1, attached_node=1, deco_block=1, dig_by_piston=1}, sounds = mcl_sounds.node_sound_wood_defaults(), node_placement_prediction = "", -- Restrict placement of ladders @@ -1387,7 +1387,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}, + groups = {handy=1,axey=1,shearsy=1,swordy=1, flammable=2,deco_block=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), drop = "", after_dig_node = function(pos, oldnode, oldmetadata, user) @@ -1479,7 +1479,7 @@ minetest.register_node("mcl_core:water_flowing", { liquid_range = 7, freezemelt = "mcl_core:snow", post_effect_color = {a=64, r=100, g=100, b=200}, - groups = { water=3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1, freezes=1, melt_around=1}, + groups = { water=3, liquid=3, puts_out_fire=1, not_in_creative_inventory=1, freezes=1, melt_around=1, dig_by_piston=1}, _mcl_blast_resistance = 500, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode _mcl_hardness = -1, @@ -1519,7 +1519,7 @@ minetest.register_node("mcl_core:water_source", { freezemelt = "mcl_core:ice", post_effect_color = {a=64, r=100, g=100, b=200}, stack_max = 64, - groups = { water=3, liquid=3, puts_out_fire=1, freezes=1, not_in_creative_inventory=1}, + groups = { water=3, liquid=3, puts_out_fire=1, freezes=1, not_in_creative_inventory=1, dig_by_piston=1}, _mcl_blast_resistance = 500, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode _mcl_hardness = -1, @@ -1564,7 +1564,7 @@ minetest.register_node("mcl_core:lava_flowing", { liquid_range = 4, damage_per_second = 4*2, post_effect_color = {a=192, r=255, g=64, b=0}, - groups = { lava=3, liquid=2, igniter=3, destroys_items=1, not_in_creative_inventory=1}, + groups = { lava=3, liquid=2, igniter=3, destroys_items=1, not_in_creative_inventory=1, dig_by_piston=1}, _mcl_blast_resistance = 500, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode _mcl_hardness = -1, @@ -1605,7 +1605,7 @@ minetest.register_node("mcl_core:lava_source", { damage_per_second = 4*2, post_effect_color = {a=192, r=255, g=64, b=0}, stack_max = 64, - groups = { lava=3, liquid=2, igniter=3, destroys_items=1, not_in_creative_inventory=1}, + groups = { lava=3, liquid=2, igniter=3, destroys_items=1, not_in_creative_inventory=1, dig_by_piston=1}, _mcl_blast_resistance = 500, -- Hardness intentionally set to infinite instead of 100 (Minecraft value) to avoid problems in creative mode _mcl_hardness = -1, @@ -1876,7 +1876,7 @@ minetest.register_node("mcl_core:snow", { {-0.5, -0.5, -0.5, 0.5, -0.5+2/16, 0.5}, }, }, - groups = {shovely=1, attached_node=1,deco_block=1}, + groups = {shovely=1, attached_node=1,deco_block=1, dig_by_piston=1}, sounds = mcl_sounds.node_sound_snow_defaults(), drop = "mcl_throwing:snowball 2", _mcl_blast_resistance = 0.5, @@ -1915,7 +1915,7 @@ minetest.register_node("mcl_core:cobweb", { liquid_renewable = false, liquid_range = 0, walkable = false, - groups = {swordy_cobweb=1,shearsy=1, deco_block=1}, + groups = {swordy_cobweb=1,shearsy=1, deco_block=1, dig_by_piston=1}, drop = "mcl_mobitems:string", sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 20, diff --git a/mods/ITEMS/mcl_doors/init.lua b/mods/ITEMS/mcl_doors/init.lua index cb7c65fc..1299db3d 100644 --- a/mods/ITEMS/mcl_doors/init.lua +++ b/mods/ITEMS/mcl_doors/init.lua @@ -21,6 +21,7 @@ mcl_doors = {} function mcl_doors:register_door(name, def) def.groups.not_in_creative_inventory = 1 + def.groups.dig_by_piston = 1 if not def.sound_open then def.sound_open = "doors_door_open" diff --git a/mods/ITEMS/mcl_end/init.lua b/mods/ITEMS/mcl_end/init.lua index b42e1674..65977425 100644 --- a/mods/ITEMS/mcl_end/init.lua +++ b/mods/ITEMS/mcl_end/init.lua @@ -155,7 +155,7 @@ minetest.register_node("mcl_end:dragon_egg", { selection_box = { type = "regular", }, - groups = {handy=1, falling_node = 1, deco_block = 1, not_in_creative_inventory = 1, }, + groups = {handy=1, falling_node = 1, deco_block = 1, not_in_creative_inventory = 1, dig_by_piston = 1 }, sounds = mcl_sounds.node_sound_stone_defaults(), _mcl_blast_resistance = 45, _mcl_hardness = 3, @@ -188,7 +188,7 @@ minetest.register_node("mcl_end:chorus_flower", { node_box = chorus_flower_box, selection_box = { type = "regular" }, sounds = mcl_sounds.node_sound_wood_defaults(), - groups = {handy=1,axey=1, deco_block = 1, }, + groups = {handy=1,axey=1, deco_block = 1, dig_by_piston = 1}, _mcl_blast_resistance = 2, _mcl_hardness = 0.4, }) @@ -209,7 +209,7 @@ minetest.register_node("mcl_end:chorus_flower_dead", { selection_box = { type = "regular" }, sounds = mcl_sounds.node_sound_wood_defaults(), drop = "mcl_end:chorus_flower", - groups = {handy=1,axey=1, deco_block = 1, }, + groups = {handy=1,axey=1, deco_block = 1, dig_by_piston = 1}, _mcl_blast_resistance = 2, _mcl_hardness = 0.4, }) @@ -242,7 +242,7 @@ minetest.register_node("mcl_end:chorus_plant", { sounds = mcl_sounds.node_sound_wood_defaults(), -- TODO: Check drop probability drop = { items = { {items = { "mcl_end:chorus_fruit", rarity = 4 } } } }, - groups = {handy=1,axey=1, not_in_creative_inventory = 1, }, + groups = {handy=1,axey=1, not_in_creative_inventory = 1, dig_by_piston = 1 }, _mcl_blast_resistance = 2, _mcl_hardness = 0.4, }) diff --git a/mods/ITEMS/mcl_farming/beetroot.lua b/mods/ITEMS/mcl_farming/beetroot.lua index 6030ec8f..14d7654e 100644 --- a/mods/ITEMS/mcl_farming/beetroot.lua +++ b/mods/ITEMS/mcl_farming/beetroot.lua @@ -28,7 +28,7 @@ minetest.register_node("mcl_farming:beetroot_0", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -50,7 +50,7 @@ minetest.register_node("mcl_farming:beetroot_1", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -72,7 +72,7 @@ minetest.register_node("mcl_farming:beetroot_2", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -103,7 +103,7 @@ minetest.register_node("mcl_farming:beetroot", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1,dig_by_piston=1}, 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 1aba1ec1..b0049d35 100644 --- a/mods/ITEMS/mcl_farming/carrots.lua +++ b/mods/ITEMS/mcl_farming/carrots.lua @@ -16,7 +16,7 @@ minetest.register_node("mcl_farming:carrot_1", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -38,7 +38,7 @@ minetest.register_node("mcl_farming:carrot_2", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -60,7 +60,7 @@ minetest.register_node("mcl_farming:carrot_3", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -84,7 +84,7 @@ minetest.register_node("mcl_farming:carrot", { { items = {'mcl_farming:carrot_item 1'} }, } }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=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 1a9a9faf..d595231f 100644 --- a/mods/ITEMS/mcl_farming/melon.lua +++ b/mods/ITEMS/mcl_farming/melon.lua @@ -18,7 +18,7 @@ local melon_base_def = { _doc_items_longdesc = "A melon is a block which can be grown from melon stems, which in turn are grown from melon seeds. It can be harvested for melon slices.", stack_max = 64, tiles = {"farming_melon_top.png", "farming_melon_top.png", "farming_melon_side.png", "farming_melon_side.png", "farming_melon_side.png", "farming_melon_side.png"}, - groups = {handy=1,axey=1, building_block=1}, + groups = {handy=1,axey=1, building_block=1,dig_by_piston=1}, drop = { max_items = 1, items = { diff --git a/mods/ITEMS/mcl_farming/potatoes.lua b/mods/ITEMS/mcl_farming/potatoes.lua index 4486dba4..205b9eb2 100644 --- a/mods/ITEMS/mcl_farming/potatoes.lua +++ b/mods/ITEMS/mcl_farming/potatoes.lua @@ -16,7 +16,7 @@ minetest.register_node("mcl_farming:potato_1", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -38,7 +38,7 @@ minetest.register_node("mcl_farming:potato_2", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -62,7 +62,7 @@ minetest.register_node("mcl_farming:potato", { { items = {'mcl_farming:potato_item_poison 1'}, rarity = 50 } } }, - groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,dig_by_water=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 26eb214b..51c3efa8 100644 --- a/mods/ITEMS/mcl_farming/pumpkin.lua +++ b/mods/ITEMS/mcl_farming/pumpkin.lua @@ -79,7 +79,7 @@ local pumpkin_base_def = { stack_max = 64, paramtype2 = "facedir", tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face.png"}, - groups = {handy=1,axey=1, building_block=1}, + groups = {handy=1,axey=1, building_block=1, dig_by_piston=1}, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 5, _mcl_hardness = 1, @@ -103,7 +103,7 @@ minetest.register_node("mcl_farming:pumpkin_face_light", { -- Real light level: 15 (Minetest caps at 14) light_source = 14, tiles = {"farming_pumpkin_top.png", "farming_pumpkin_top.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_side.png", "farming_pumpkin_face_light.png"}, - groups = {handy=1,axey=1, building_block=1}, + groups = {handy=1,axey=1, building_block=1, dig_by_piston=1 }, sounds = mcl_sounds.node_sound_wood_defaults(), _mcl_blast_resistance = 5, _mcl_hardness = 1, diff --git a/mods/ITEMS/mcl_farming/wheat.lua b/mods/ITEMS/mcl_farming/wheat.lua index e04a5a66..8241f731 100644 --- a/mods/ITEMS/mcl_farming/wheat.lua +++ b/mods/ITEMS/mcl_farming/wheat.lua @@ -30,7 +30,7 @@ minetest.register_node("mcl_farming:wheat_1", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1, dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1, dig_by_water=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:wheat_2", { {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1, dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1, dig_by_water=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_3", { {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1, dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1, dig_by_water=1, dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) @@ -110,7 +110,7 @@ minetest.register_node("mcl_farming:wheat", { {-0.5, -0.5, -0.5, 0.5, 0.35, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1, dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1, dig_by_water=1, dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), _mcl_blast_resistance = 0, }) diff --git a/mods/ITEMS/mcl_fire/init.lua b/mods/ITEMS/mcl_fire/init.lua index 1c82dbcc..6299e470 100644 --- a/mods/ITEMS/mcl_fire/init.lua +++ b/mods/ITEMS/mcl_fire/init.lua @@ -35,7 +35,7 @@ minetest.register_node("mcl_fire:fire", { buildable_to = true, sunlight_propagates = true, damage_per_second = 1, - groups = {igniter = 1, dig_immediate = 3, not_in_creative_inventory = 1}, + groups = {igniter = 1, dig_immediate = 3, not_in_creative_inventory = 1, dig_by_piston=1}, on_timer = function(pos) local f = minetest.find_node_near(pos, 1, {"group:flammable"}) if not f then @@ -76,7 +76,7 @@ minetest.register_node("mcl_fire:eternal_fire", { buildable_to = true, sunlight_propagates = true, damage_per_second = 1, - groups = {igniter = 1, dig_immediate = 3, not_in_creative_inventory = 1}, + groups = {igniter = 1, dig_immediate = 3, not_in_creative_inventory = 1, dig_by_piston = 1}, sounds = {}, drop = "", _mcl_blast_resistance = 0, diff --git a/mods/ITEMS/mcl_flowerpots/nodes.lua b/mods/ITEMS/mcl_flowerpots/nodes.lua index e31d566b..cc5da3e4 100644 --- a/mods/ITEMS/mcl_flowerpots/nodes.lua +++ b/mods/ITEMS/mcl_flowerpots/nodes.lua @@ -49,7 +49,7 @@ minetest.register_node("mcl_flowerpots:flower_pot", { }, is_ground_content = false, inventory_image = "mcl_flowerpots_flowerpot_inventory.png", - groups = {dig_immediate=3, deco_block=1, attached_node=1, flower_pot=1}, + groups = {dig_immediate=3, deco_block=1, attached_node=1, dig_by_piston=1, flower_pot=1}, sounds = mcl_sounds.node_sound_stone_defaults(), on_rightclick = function(pos, node, clicker, itemstack) local item = clicker:get_wielded_item():get_name() @@ -110,7 +110,7 @@ minetest.register_node("mcl_flowerpots:flower_pot_"..flower, { fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} }, is_ground_content = false, - groups = {dig_immediate=3, attached_node=1, not_in_creative_inventory=1, flower_pot=2}, + groups = {dig_immediate=3, attached_node=1, dig_by_piston=1, not_in_creative_inventory=1, flower_pot=2}, sounds = mcl_sounds.node_sound_stone_defaults(), on_rightclick = function(pos, item, clicker) minetest.add_item({x=pos.x, y=pos.y+0.5, z=pos.z}, flower_node) @@ -152,7 +152,7 @@ minetest.register_node("mcl_flowerpots:flower_pot_"..flower, { fixed = {-0.2, -0.5, -0.2, 0.2, -0.1, 0.2} }, is_ground_content = false, - groups = {dig_immediate=3, attached_node=1, not_in_creative_inventory=1, flower_pot=2}, + groups = {dig_immediate=3, attached_node=1, dig_by_piston=1, not_in_creative_inventory=1, flower_pot=2}, sounds = mcl_sounds.node_sound_stone_defaults(), on_rightclick = function(pos, item, clicker) minetest.add_item({x=pos.x, y=pos.y+0.5, z=pos.z}, flower_node) diff --git a/mods/ITEMS/mcl_flowers/init.lua b/mods/ITEMS/mcl_flowers/init.lua index 62b3ae83..e577349a 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,flower=1,attached_node=1,dig_by_water=1,deco_block=1}, + groups = {dig_immediate=3,flammable=2,flower=1,attached_node=1,dig_by_water=1,dig_by_piston=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), buildable_to = true, selection_box = { @@ -66,6 +66,7 @@ minetest.register_node("mcl_flowers:tallgrass", { walkable = false, 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,dig_by_water=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), drop = wheat_seed_drop, @@ -91,6 +92,7 @@ minetest.register_node("mcl_flowers:fern", { paramtype = "light", 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,dig_by_water=1,deco_block=1}, buildable_to = true, sounds = mcl_sounds.node_sound_leaves_defaults(), @@ -159,7 +161,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=1,attached_node=1, dig_by_water=1, double_plant=1,deco_block=1}, + groups = {dig_immediate=3,flammable=2,flower=1,attached_node=1, dig_by_water=1,dig_by_piston=1, double_plant=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), }) @@ -181,7 +183,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=1, dig_by_water=1, not_in_creative_inventory = 1, double_plant=2}, + groups = {dig_immediate=3,flammable=2,flower=1, dig_by_water=1,dig_by_piston=1, not_in_creative_inventory = 1, double_plant=2}, sounds = mcl_sounds.node_sound_leaves_defaults(), }) @@ -214,7 +216,7 @@ minetest.register_node("mcl_flowers:waterlily", { liquids_pointable = true, walkable = true, sunlight_propagates = true, - groups = {dig_immediate = 3, dig_by_water = 1, deco_block=1}, + groups = {dig_immediate = 3, dig_by_water = 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_heads/init.lua b/mods/ITEMS/mcl_heads/init.lua index ce68cb8b..76ec672e 100644 --- a/mods/ITEMS/mcl_heads/init.lua +++ b/mods/ITEMS/mcl_heads/init.lua @@ -12,7 +12,7 @@ local function addhead(node, desc, longdesc) { -0.25, -0.5, -0.25, 0.25, 0.0, 0.25, }, }, }, - groups = {handy=1, head=1, deco_block=1}, + groups = {handy=1, head=1, deco_block=1, dig_by_piston=1}, tiles = { "head_"..node.."_top.png", "head_"..node.."_top.png", diff --git a/mods/ITEMS/mcl_mushrooms/small.lua b/mods/ITEMS/mcl_mushrooms/small.lua index f3fa6bab..18b6b4f6 100644 --- a/mods/ITEMS/mcl_mushrooms/small.lua +++ b/mods/ITEMS/mcl_mushrooms/small.lua @@ -7,7 +7,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,deco_block=1}, + groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=1,dig_by_piston=1,deco_block=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), light_source = 1, selection_box = { @@ -26,7 +26,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,deco_block=1}, + groups = {dig_immediate=3,mushroom=1,attached_node=1,dig_by_water=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_nether/nether_wart.lua b/mods/ITEMS/mcl_nether/nether_wart.lua index e77060d7..3b7b4362 100644 --- a/mods/ITEMS/mcl_nether/nether_wart.lua +++ b/mods/ITEMS/mcl_nether/nether_wart.lua @@ -14,7 +14,7 @@ minetest.register_node("mcl_nether:nether_wart_0", { {-0.5, -0.5, -0.5, 0.5, -0.125, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,attached_node=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), }) @@ -34,7 +34,7 @@ minetest.register_node("mcl_nether:nether_wart_1", { {-0.5, -0.5, -0.5, 0.5, 0.15, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,attached_node=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), }) @@ -54,7 +54,7 @@ minetest.register_node("mcl_nether:nether_wart_2", { {-0.5, -0.5, -0.5, 0.5, 0.15, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,attached_node=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), }) @@ -81,7 +81,7 @@ minetest.register_node("mcl_nether:nether_wart", { {-0.5, -0.5, -0.5, 0.5, 0.45, 0.5} }, }, - groups = {dig_immediate=3, not_in_creative_inventory=1,attached_node=1,dig_by_water=1}, + groups = {dig_immediate=3, not_in_creative_inventory=1,attached_node=1,dig_by_water=1,dig_by_piston=1}, sounds = mcl_sounds.node_sound_leaves_defaults(), }) diff --git a/mods/ITEMS/mcl_torches/init.lua b/mods/ITEMS/mcl_torches/init.lua index 5fbe1d35..82dd0a07 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.dig_by_piston = 1 local floordef = { description = description,