Adjust redstone rules of most redstone components
This commit is contained in:
parent
a4b229e565
commit
a34405b17b
8 changed files with 28 additions and 51 deletions
|
@ -361,7 +361,8 @@ local dispenserdef = {
|
|||
inv:set_stack("main", stack_id, stack)
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
rules = mesecon.rules.alldirs,
|
||||
}}
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,8 @@ local dropperdef = {
|
|||
inv:set_stack("main", stack_id, stack)
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
rules = mesecon.rules.alldirs,
|
||||
}}
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"})
|
||||
|
|
|
@ -69,7 +69,8 @@ minetest.register_node("mcl_tnt:tnt", {
|
|||
_doc_items_usagehelp = "Place the TNT on the ground and ignite it with one of the methods above. Quickly get in safe distance quickly. The TNT will start to be affected by gravity and explodes in 4 seconds.",
|
||||
groups = { dig_immediate = 3, tnt = 1, enderman_takable=1 },
|
||||
mesecons = {effector = {
|
||||
action_on = tnt.ignite
|
||||
action_on = tnt.ignite,
|
||||
rules = mesecon.rules.alldirs,
|
||||
}},
|
||||
_on_ignite = function(player, pointed_thing)
|
||||
tnt.ignite(pointed_thing.under)
|
||||
|
|
Reference in a new issue