summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesecons/wires.lua4
-rw-r--r--mesecons_compatibility/depends.txt1
-rw-r--r--mesecons_compatibility/init.lua14
-rw-r--r--mesecons_extrawires/vertical.lua4
-rw-r--r--mesecons_mvps/init.lua3
-rw-r--r--mesecons_pistons/init.lua46
-rw-r--r--mesecons_random/init.lua38
-rw-r--r--mesecons_receiver/init.lua4
8 files changed, 81 insertions, 33 deletions
diff --git a/mesecons/wires.lua b/mesecons/wires.lua
index d74cdb2..8fb19cb 100644
--- a/mesecons/wires.lua
+++ b/mesecons/wires.lua
@@ -128,6 +128,10 @@ for zmy=0, 1 do
description = "Wire ID:"..nodeid,
drawtype = "nodebox",
tiles = tiles_on,
+-- inventory_image = "wires_inv.png",
+-- wield_image = "wires_inv.png",
+ inventory_image = "jeija_mesecon_off.png",
+ wield_image = "jeija_mesecon_off.png",
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
diff --git a/mesecons_compatibility/depends.txt b/mesecons_compatibility/depends.txt
index acaa924..ed2fcd8 100644
--- a/mesecons_compatibility/depends.txt
+++ b/mesecons_compatibility/depends.txt
@@ -1 +1,2 @@
mesecons
+doors
diff --git a/mesecons_compatibility/init.lua b/mesecons_compatibility/init.lua
index b2f793c..451037e 100644
--- a/mesecons_compatibility/init.lua
+++ b/mesecons_compatibility/init.lua
@@ -43,7 +43,7 @@ function doors:register_door(name, def)
end
end
- local function on_punch(pos, dir, check_name, replace, replace_dir, params)
+ local function on_rightclick(pos, dir, check_name, replace, replace_dir, params)
pos.y = pos.y+dir
if not minetest.env:get_node(pos).name == check_name then
return
@@ -62,11 +62,11 @@ function doors:register_door(name, def)
end
local function on_mesecons_signal_open (pos, node)
- on_punch(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0})
+ on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0})
end
local function on_mesecons_signal_close (pos, node)
- on_punch(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2})
+ on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2})
end
local function check_player_priv(pos, player)
@@ -99,9 +99,9 @@ function doors:register_door(name, def)
after_dig_node(pos, name.."_t_1")
end,
- on_punch = function(pos, node, puncher)
+ on_rightclick = function(pos, node, puncher)
if check_player_priv(pos, puncher) then
- on_punch(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0})
+ on_rightclick(pos, 1, name.."_t_1", name.."_b_2", name.."_t_2", {1,2,3,0})
end
end,
@@ -133,9 +133,9 @@ function doors:register_door(name, def)
after_dig_node(pos, name.."_t_2")
end,
- on_punch = function(pos, node, puncher)
+ on_rightclick = function(pos, node, puncher)
if check_player_priv(pos, puncher) then
- on_punch(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2})
+ on_rightclick(pos, 1, name.."_t_2", name.."_b_1", name.."_t_1", {3,0,1,2})
end
end,
diff --git a/mesecons_extrawires/vertical.lua b/mesecons_extrawires/vertical.lua
index b21ccb7..9832f82 100644
--- a/mesecons_extrawires/vertical.lua
+++ b/mesecons_extrawires/vertical.lua
@@ -10,8 +10,8 @@ local tbox = {
local bbox = {
type = "fixed",
- fixed = {{ -.5, -.5, -.5, .5, -.5+1/16, .5},
- {-1/16, -.5, -1/16, 1/16, .5 , 1/16}}
+ fixed = {{ -.5, -.5 , -.5, .5, -.5+1/16, .5},
+ {-1/16, -.5+1/16, -1/16, 1/16, .5 , 1/16}}
}
local vrules =
diff --git a/mesecons_mvps/init.lua b/mesecons_mvps/init.lua
index 9f8242b..9c94757 100644
--- a/mesecons_mvps/init.lua
+++ b/mesecons_mvps/init.lua
@@ -20,6 +20,7 @@ end
function mesecon:mvps_process_stack(stack)
-- update mesecons for placed nodes ( has to be done after all nodes have been added )
for _, n in ipairs(stack) do
+ nodeupdate(n.pos)
mesecon.on_placenode(n.pos, minetest.env:get_node(n.pos))
mesecon:update_autoconnect(n.pos)
end
@@ -57,7 +58,6 @@ function mesecon:mvps_push(pos, dir, maximum) -- pos: pos of mvps; dir: directio
-- remove all nodes
for _, n in ipairs(nodes) do
minetest.env:remove_node(n.pos)
- nodeupdate(n.pos)
end
-- update mesecons for removed nodes ( has to be done after all nodes have been removed )
@@ -70,7 +70,6 @@ function mesecon:mvps_push(pos, dir, maximum) -- pos: pos of mvps; dir: directio
for _, n in ipairs(nodes) do
np = mesecon:addPosRule(n.pos, dir)
minetest.env:add_node(np, n.node)
- nodeupdate(np)
end
for i in ipairs(nodes) do
diff --git a/mesecons_pistons/init.lua b/mesecons_pistons/init.lua
index a51e16e..08e4e3f 100644
--- a/mesecons_pistons/init.lua
+++ b/mesecons_pistons/init.lua
@@ -153,10 +153,12 @@ minetest.register_node("mesecons_pistons:piston_normal_on", {
"mesecons_piston_back.png",
"mesecons_piston_on_front.png"
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype = "light",
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_normal_off"},
+ drop = "mesecons_pistons:piston_normal_off",
after_dig_node = piston_remove_pusher,
node_box = piston_on_box,
selection_box = piston_on_box,
@@ -230,10 +232,12 @@ minetest.register_node("mesecons_pistons:piston_sticky_on", {
"mesecons_piston_back.png",
"mesecons_piston_on_front.png"
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype = "light",
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_normal_off"},
+ drop = "mesecons_pistons:piston_normal_off",
after_dig_node = piston_remove_pusher,
node_box = piston_on_box,
selection_box = piston_on_box,
@@ -303,9 +307,11 @@ minetest.register_node("mesecons_pistons:piston_up_normal_off", {
"mesecons_piston_bottom.png",
"mesecons_piston_top.png^[transformR180",
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_normal_off"},
+ drop = "mesecons_pistons:piston_normal_off",
mesecons_piston = pistonspec_normal_up,
mesecons = {effector={
action_on = piston_on,
@@ -323,10 +329,12 @@ minetest.register_node("mesecons_pistons:piston_up_normal_on", {
"mesecons_piston_bottom.png",
"mesecons_piston_top.png^[transformR180",
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype = "light",
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_normal_off"},
+ drop = "mesecons_pistons:piston_normal_off",
after_dig_node = piston_remove_pusher,
node_box = piston_up_on_box,
selection_box = piston_up_on_box,
@@ -379,9 +387,11 @@ minetest.register_node("mesecons_pistons:piston_up_sticky_off", {
"mesecons_piston_top.png^[transformR180",
"mesecons_piston_tb.png"
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_sticky_off"},
+ drop = "mesecons_pistons:piston_sticky_off",
mesecons_piston = pistonspec_sticky_up,
mesecons = {effector={
action_on = piston_on,
@@ -399,10 +409,12 @@ minetest.register_node("mesecons_pistons:piston_up_sticky_on", {
"mesecons_piston_bottom.png",
"mesecons_piston_top.png^[transformR180",
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype = "light",
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_normal_off"},
+ drop = "mesecons_pistons:piston_normal_off",
after_dig_node = piston_remove_pusher,
node_box = piston_up_on_box,
selection_box = piston_up_on_box,
@@ -473,9 +485,11 @@ minetest.register_node("mesecons_pistons:piston_down_normal_off", {
"mesecons_piston_bottom.png^[transformR180",
"mesecons_piston_top.png",
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_normal_off"},
+ drop = "mesecons_pistons:piston_normal_off",
mesecons_piston = pistonspec_normal_down,
mesecons = {effector={
action_on = piston_on,
@@ -493,10 +507,12 @@ minetest.register_node("mesecons_pistons:piston_down_normal_on", {
"mesecons_piston_bottom.png^[transformR180",
"mesecons_piston_top.png",
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype = "light",
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_normal_off"},
+ drop = "mesecons_pistons:piston_normal_off",
after_dig_node = piston_remove_pusher,
node_box = piston_down_on_box,
selection_box = piston_down_on_box,
@@ -545,9 +561,11 @@ minetest.register_node("mesecons_pistons:piston_down_sticky_off", {
"mesecons_piston_bottom.png^[transformR180",
"mesecons_piston_top.png",
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_sticky_off"},
+ drop = "mesecons_pistons:piston_sticky_off",
mesecons_piston = pistonspec_sticky_down,
mesecons = {effector={
action_on = piston_on,
@@ -565,10 +583,12 @@ minetest.register_node("mesecons_pistons:piston_down_sticky_on", {
"mesecons_piston_bottom.png^[transformR180",
"mesecons_piston_top.png",
},
+ inventory_image = "mesecons_piston_top.png",
+ wield_image = "mesecons_piston_top.png",
groups = {cracky = 3, not_in_creative_inventory = 1},
paramtype = "light",
paramtype2 = "facedir",
- drop = {"mesecons_pistons:piston_sticky_off"},
+ drop = "mesecons_pistons:piston_sticky_off",
after_dig_node = piston_remove_pusher,
node_box = piston_down_on_box,
selection_box = piston_down_on_box,
@@ -670,7 +690,7 @@ mesecon:register_mvps_stopper("mesecons_pistons:piston_down_sticky_on", piston_u
--craft recipes
minetest.register_craft({
- output = '"mesecons_pistons:piston_normal" 2',
+ output = 'mesecons_pistons:piston_normal_off 2',
recipe = {
{"default:wood", "default:wood", "default:wood"},
{"default:cobble", "default:steel_ingot", "default:cobble"},
@@ -679,9 +699,9 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "mesecons_pistons:piston_sticky",
+ output = "mesecons_pistons:piston_sticky_off",
recipe = {
{"mesecons_materials:glue"},
- {"mesecons_pistons:piston_normal"},
+ {"mesecons_pistons:piston_normal_off"},
}
})
diff --git a/mesecons_random/init.lua b/mesecons_random/init.lua
index 4fc2f6e..16ffa3b 100644
--- a/mesecons_random/init.lua
+++ b/mesecons_random/init.lua
@@ -31,10 +31,17 @@ minetest.register_node("mesecons_random:ghoststone", {
inventory_image = minetest.inventorycube("jeija_ghoststone_inv.png"),
groups = {cracky=3},
sounds = default.node_sound_stone_defaults(),
- mesecons = {effector = {
- action_on = function (pos, node)
- minetest.env:add_node(pos, {name="mesecons_random:ghoststone_active"})
- end
+ mesecons = {conductor = {
+ state = mesecon.state.off,
+ rules = { --axes
+ {x = -1, y = 0, z = 0},
+ {x = 1, y = 0, z = 0},
+ {x = 0, y = -1, z = 0},
+ {x = 0, y = 1, z = 0},
+ {x = 0, y = 0, z = -1},
+ {x = 0, y = 0, z = 1},
+ },
+ onstate = "mesecons_random:ghoststone_active"
}}
})
@@ -44,11 +51,26 @@ minetest.register_node("mesecons_random:ghoststone_active", {
walkable = false,
diggable = false,
sunlight_propagates = true,
- mesecons = {effector = {
- action_off = function (pos, node)
- minetest.env:add_node(pos, {name="mesecons_random:ghoststone"})
+ paramtype = "light",
+ mesecons = {conductor = {
+ state = mesecon.state.on,
+ rules = {
+ {x = -1, y = 0, z = 0},
+ {x = 1, y = 0, z = 0},
+ {x = 0, y = -1, z = 0},
+ {x = 0, y = 1, z = 0},
+ {x = 0, y = 0, z = -1},
+ {x = 0, y = 0, z = 1},
+ },
+ offstate = "mesecons_random:ghoststone"
+ }},
+ on_construct = function(pos)
+ --remove shadow
+ pos2 = {x = pos.x, y = pos.y + 1, z = pos.z}
+ if ( minetest.env:get_node(pos2).name == "air" ) then
+ minetest.env:dig_node(pos2)
end
- }}
+ end
})
diff --git a/mesecons_receiver/init.lua b/mesecons_receiver/init.lua
index de2b535..24cc5c9 100644
--- a/mesecons_receiver/init.lua
+++ b/mesecons_receiver/init.lua
@@ -128,8 +128,10 @@ function mesecon:receiver_remove(rcpt_pos, dugnode)
local nn = minetest.env:get_node(pos)
if string.find(nn.name, "mesecons_receiver:receiver_") ~=nil then
minetest.env:dig_node(pos)
- minetest.env:place_node(pos, {name = "mesecons:wire_00000000_off"})
+ local node = {name = "mesecons:wire_00000000_off"}
+ minetest.env:add_node(pos, node)
mesecon:update_autoconnect(pos)
+ mesecon.on_placenode(pos, node)
end
end