Make many blocks drop when pushed by piston
This commit is contained in:
parent
2f4f196eaf
commit
30564e494e
27 changed files with 81 additions and 81 deletions
|
@ -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",
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue