minetest.swap_node(pos, {name="redstone:button_on",param2=node.param2})
minetest.sound_play("lever", {pos=pos})
+
local timer = minetest.get_node_timer(pos)
timer:start(1.25)
local dir = minetest.wallmounted_to_dir(node.param2)
- pos = vector.add(dir,pos)
-
- local meta = minetest.get_meta(pos)
- meta:set_int("redstone_power", 9)
+ redstone.inject(pos,{torch=9})
+ local pos2 = vector.add(dir,pos)
+ redstone.inject(pos2,{torch=9})
- redstone.collect_info(pos)
+ redstone.update(pos)
+ redstone.update(pos2)
end,
after_destruct = function(pos, oldnode)
+ redstone.inject(pos,nil)
local dir = minetest.wallmounted_to_dir(oldnode.param2)
- pos = vector.add(dir,pos)
-
- local meta = minetest.get_meta(pos)
+ local pos2 = vector.add(dir,pos)
+ redstone.inject(pos2,nil)
- meta:set_int("redstone_power", 0)
-
- redstone.collect_info(pos)
+ redstone.update(pos)
+ redstone.update(pos2)
end,
})
minetest.register_node("redstone:button_on", {
local node = minetest.get_node(pos)
minetest.swap_node(pos, {name="redstone:button_off",param2=node.param2})
- local dir = minetest.wallmounted_to_dir(node.param2)
- pos = vector.add(dir,pos)
-
- local meta = minetest.get_meta(pos)
+ redstone.inject(pos,nil)
+ local param2 = minetest.get_node(pos).param2
+ local dir = minetest.wallmounted_to_dir(param2)
+ local pos2 = vector.add(dir,pos)
+ redstone.inject(pos2,nil)
- meta:set_int("redstone_power", 0)
-
- redstone.collect_info(pos)
+ redstone.update(pos)
+ redstone.update(pos2)
end,
after_destruct = function(pos, oldnode)
+ redstone.inject(pos,nil)
local dir = minetest.wallmounted_to_dir(oldnode.param2)
- pos = vector.add(dir,pos)
-
- local meta = minetest.get_meta(pos)
+ local pos2 = vector.add(dir,pos)
+ redstone.inject(pos2,nil)
- meta:set_int("redstone_power", 0)
-
- redstone.collect_info(pos)
+ redstone.update(pos)
+ redstone.update(pos2)
end,
})
--dofile(path.."/functions.lua")
--dofile(path.."/wire.lua")
dofile(path.."/torch.lua")
---dofile(path.."/lever.lua")
---dofile(path.."/button.lua")
+dofile(path.."/lever.lua")
+dofile(path.."/button.lua")
dofile(path.."/repeater.lua")
--dofile(path.."/light.lua")
--dofile(path.."/piston.lua")
redstone.inject(pos,{
name = "redstone:inverter_on",
directional_activator = true,
- input = vector.multiply(dir,-1),
+ input = vector.subtract(pos,dir),
dir = dir
})
redstone.update(pos)
torch = 9,
torch_directional = true,
directional_activator = true,
- input = vector.multiply(dir,-1),
+ input = vector.subtract(pos,dir),
+ output = vector.add(pos,dir),
dir = dir
})
- minetest.after(0.1,function()
- --redstone.update(pos)
+ minetest.after(0,function()
+ redstone.update(pos)
end)
end
})
redstone.inject(pos,{
name = "redstone:inverter_on",
directional_activator = true,
- input = vector.multiply(dir,-1),
+ input = vector.subtract(pos,dir),
dir = dir
})
end,
torch = 9,
torch_directional = true,
directional_activator = true,
- input = vector.multiply(dir,-1),
+ input = vector.subtract(pos,dir),
+ output = vector.add(pos,dir),
dir = dir
})
redstone.update(pos)
redstone.inject(pos,{
name = "redstone:inverter_on",
directional_activator = true,
- input = vector.multiply(dir,-1),
+ input = vector.subtract(pos,dir),
dir = dir
})
- minetest.after(0.1,function()
- --redstone.update(pos)
+ minetest.after(0,function()
+ redstone.update(pos)
end)
end
})
torch = 9,
torch_directional = true,
directional_activator = true,
- input = vector.multiply(dir,-1),
+ input = vector.subtract(pos,dir),
+ output = vector.add(pos,dir),
dir = dir
})
redstone.update(pos)
minetest,vector,math,pairs
-minetest.register_node("redstone:lever_off", {
- description = "Lever",
+minetest.register_node("redstone:lever_on", {
+ description = "Lever On",
tiles = {"stone.png"},
groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,dig_immediate=1},
sounds = main.stoneSound(),
fixed = {
--left front bottom right back top
{-0.3, -0.5, -0.4, 0.3, -0.4, 0.4},
- {-0.1, -0.5, -0.3, 0.1, 0, -0.1},
+ {-0.1, -0.5, 0.3, 0.1, 0, 0.1},
},
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- minetest.swap_node(pos, {name="redstone:lever_on",param2=node.param2})
+ minetest.swap_node(pos, {name="redstone:lever_off",param2=node.param2})
+
minetest.sound_play("lever", {pos=pos})
local dir = minetest.wallmounted_to_dir(node.param2)
- pos = vector.add(dir,pos)
-
- local meta = minetest.get_meta(pos)
- meta:set_int("redstone_power", 9)
-
-
- redstone.collect_info(pos)
+ redstone.inject(pos,nil)
+ local pos2 = vector.add(dir,pos)
+ redstone.inject(pos2,nil)
+
+ redstone.update(pos)
+ redstone.update(pos2)
end,
after_destruct = function(pos, oldnode)
+ redstone.inject(pos,nil)
local dir = minetest.wallmounted_to_dir(oldnode.param2)
- pos = vector.add(dir,pos)
-
- local meta = minetest.get_meta(pos)
+ local pos2 = vector.add(dir,pos)
+ redstone.inject(pos2,nil)
- meta:set_int("redstone_power", 0)
-
- redstone.collect_info(pos)
+ redstone.update(pos)
+ redstone.update(pos2)
end,
})
-minetest.register_node("redstone:lever_on", {
- description = "Lever On",
+
+
+
+minetest.register_node("redstone:lever_off", {
+ description = "Lever",
tiles = {"stone.png"},
groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,dig_immediate=1},
sounds = main.stoneSound(),
fixed = {
--left front bottom right back top
{-0.3, -0.5, -0.4, 0.3, -0.4, 0.4},
- {-0.1, -0.5, 0.3, 0.1, 0, 0.1},
+ {-0.1, -0.5, -0.3, 0.1, 0, -0.1},
},
},
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
- minetest.swap_node(pos, {name="redstone:lever_off",param2=node.param2})
-
+ minetest.swap_node(pos, {name="redstone:lever_on",param2=node.param2})
minetest.sound_play("lever", {pos=pos})
local dir = minetest.wallmounted_to_dir(node.param2)
- pos = vector.add(dir,pos)
-
- local meta = minetest.get_meta(pos)
- meta:set_int("redstone_power", 0)
-
- redstone.collect_info(pos)
+ redstone.inject(pos,{torch=9})
+ local pos2 = vector.add(dir,pos)
+ redstone.inject(pos2,{torch=9})
+
+ redstone.update(pos)
+ redstone.update(pos2)
end,
after_destruct = function(pos, oldnode)
+ redstone.inject(pos,nil)
local dir = minetest.wallmounted_to_dir(oldnode.param2)
- pos = vector.add(dir,pos)
-
- local meta = minetest.get_meta(pos)
+ local pos2 = vector.add(dir,pos)
+ redstone.inject(pos2,nil)
- meta:set_int("redstone_power", 0)
-
- redstone.collect_info(pos)
+ redstone.update(pos)
+ redstone.update(pos2)
end,
})