Adjust redstone rules of most redstone components

This commit is contained in:
Wuzzy 2017-09-14 02:20:47 +02:00
parent a4b229e565
commit a34405b17b
8 changed files with 28 additions and 51 deletions

View file

@ -361,7 +361,8 @@ local dispenserdef = {
inv:set_stack("main", stack_id, stack)
end
end
end
end,
rules = mesecon.rules.alldirs,
}}
}

View file

@ -89,7 +89,8 @@ local dropperdef = {
inv:set_stack("main", stack_id, stack)
end
end
end
end,
rules = mesecon.rules.alldirs,
}}
}

View file

@ -2,31 +2,9 @@
-- A button that when pressed emits power for 1 second
-- and then turns off again
-- FIXME: Power lower/upper nodes as well
-- FIXME: Power node behind as well
local button_get_output_rules = function(node)
local rules = {
{x = -1, y = 0, z = 0},
{x = 1, y = 0, z = 0},
{x = 0, y = 0, z = -1},
{x = 0, y = 0, z = 1},
{x = 0, y = -1, z = 0},
{x = 0, y = 1, z = 0},
}
if minetest.wallmounted_to_dir(node.param2).y == 1 then
table.insert(rules, {x=0, y=2, z=0})
elseif minetest.wallmounted_to_dir(node.param2).y == -1 then
table.insert(rules, {x=0, y=-2, z=0})
end
if minetest.wallmounted_to_dir(node.param2).x == 1 then
table.insert(rules, {x=2, y=0, z=0})
elseif minetest.wallmounted_to_dir(node.param2).x == -1 then
table.insert(rules, {x=-2, y=0, z=0})
end
if minetest.wallmounted_to_dir(node.param2).z == 1 then
table.insert(rules, {x=0, y=0, z=2})
elseif minetest.wallmounted_to_dir(node.param2).z == -1 then
table.insert(rules, {x=-0, y=0, z=-2})
end
local rules = mesecon.rules.alldirs
return rules
end

View file

@ -143,7 +143,8 @@ You can optionally use the following placeholders in your commands:
on_rightclick = on_rightclick,
sounds = mcl_sounds.node_sound_stone_defaults(),
mesecons = {effector = {
action_on = commandblock_action_on
action_on = commandblock_action_on,
rules = mesecon.rules.alldirs,
}},
_mcl_blast_resistance = 18000000,
_mcl_hardness = -1,
@ -160,7 +161,8 @@ minetest.register_node("mesecons_commandblock:commandblock_on", {
on_rightclick = on_rightclick,
sounds = mcl_sounds.node_sound_stone_defaults(),
mesecons = {effector = {
action_off = commandblock_action_off
action_off = commandblock_action_off,
rules = mesecon.rules.alldirs,
}},
_mcl_blast_resistance = 18000000,
_mcl_hardness = -1,

View file

@ -9,7 +9,8 @@ minetest.register_node("mesecons_lightstone:lightstone_off", {
mesecons = {effector = {
action_on = function (pos, node)
minetest.swap_node(pos, {name="mesecons_lightstone:lightstone_on", param2 = node.param2})
end
end,
rules = mesecon.rules.alldirs,
}},
_mcl_blast_resistance = 1.5,
_mcl_hardness = 0.3,
@ -28,7 +29,8 @@ minetest.register_node("mesecons_lightstone:lightstone_on", {
mesecons = {effector = {
action_off = function (pos, node)
minetest.swap_node(pos, {name="mesecons_lightstone:lightstone_off", param2 = node.param2})
end
end,
rules = mesecon.rules.alldirs,
}},
_mcl_blast_resistance = 1.5,
_mcl_hardness = 0.3,

View file

@ -5,32 +5,22 @@ piston_rules =
{{x=0, y=0, z=1}, --everything apart from z- (pusher side)
{x=1, y=0, z=0},
{x=-1, y=0, z=0},
{x=1, y=1, z=0},
{x=1, y=-1, z=0},
{x=-1, y=1, z=0},
{x=-1, y=-1, z=0},
{x=0, y=1, z=1},
{x=0, y=-1, z=1}}
{x=0, y=1, z=0},
{x=0, y=-1, z=0}}
local piston_up_rules =
{{x=0, y=0, z=-1}, --everything apart from y+ (pusher side)
{x=1, y=0, z=0},
{x=-1, y=0, z=0},
{x=0, y=0, z=1},
{x=1, y=-1, z=0},
{x=-1, y=-1, z=0},
{x=0, y=-1, z=1},
{x=0, y=-1, z=-1}}
{x=-1, y=0, z=0},
{x=1, y=0, z=1},
{x=0, y=-1, z=0}}
local piston_down_rules =
{{x=0, y=0, z=-1}, --everything apart from y- (pusher side)
{x=1, y=0, z=0},
{x=-1, y=0, z=0},
{x=0, y=0, z=1},
{x=1, y=1, z=0},
{x=-1, y=1, z=0},
{x=0, y=1, z=1},
{x=0, y=1, z=-1}}
{x=-1, y=0, z=0},
{x=1, y=0, z=1},
{x=0, y=1, z=0}}
local piston_get_rules = function (node)
local rules = piston_rules

View file

@ -24,7 +24,8 @@ minetest.register_node("mesecons_solarpanel:solar_panel_on", {
groups = {handy=1,axey=1, not_in_creative_inventory = 1, material_wood=1},
sounds = mcl_sounds.node_sound_glass_defaults(),
mesecons = {receptor = {
state = mesecon.state.on
state = mesecon.state.on,
rules = mesecon.rules.alldirs,
}},
on_rightclick = function(pos, node, clicker, pointed_thing)
minetest.swap_node(pos, {name = "mesecons_solarpanel:solar_panel_inverted_off"})
@ -58,7 +59,8 @@ minetest.register_node("mesecons_solarpanel:solar_panel_off", {
_doc_items_usagehelp = "Rightclick the daylight sensor to turn it into an inverted daylight sensor, which supplies redstone energy when it is in moonlight.",
sounds = mcl_sounds.node_sound_glass_defaults(),
mesecons = {receptor = {
state = mesecon.state.off
state = mesecon.state.off,
rules = mesecon.rules.alldirs,
}},
on_rightclick = function(pos, node, clicker, pointed_thing)
minetest.swap_node(pos, {name = "mesecons_solarpanel:solar_panel_inverted_on"})