]> git.lizzy.rs Git - Crafter.git/blobdiff - mods/redstone/repeater.lua
Fix priority issue
[Crafter.git] / mods / redstone / repeater.lua
index 88a06c699be821b1764e4c311cc1045676078937..fa9a8419a1571f0ecb229a9ab81cee9de213b856 100644 (file)
@@ -18,7 +18,7 @@ for level = 0,max_timer do
 minetest.register_node("redstone:repeater_on_"..level, {
        description = "Redstone Repeater",
        tiles = {"repeater_on.png"},
-       groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1,repeater_on=1,repeater=1,torch_directional=1,redstone_power=9,repeater_level=level},
+       groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1,repeater_on=1,repeater=1,torch_directional=1,redstone_power=16,repeater_level=level},
        sounds = main.stoneSound(),
        paramtype = "light",
        paramtype2 = "facedir",
@@ -48,7 +48,7 @@ minetest.register_node("redstone:repeater_on_"..level, {
                minetest.sound_play("lever", {pos=pos})
                redstone.inject(pos,{
                        name = "redstone:repeater_on_"..newlevel,
-                       torch  = 9,
+                       torch  = 16,
                        torch_directional = true,
                        directional_activator = true,
                        input  = vector.subtract(pos,dir),
@@ -65,12 +65,11 @@ minetest.register_node("redstone:repeater_on_"..level, {
                        name = "redstone:repeater_off_"..level,
                        directional_activator = true,
                        input  = vector.subtract(pos,dir),
+                       output = vector.add(pos,dir),
                        dir = dir
                })
-               minetest.after(0,function()
-                       --redstone.update(vector.add(pos,dir))
-                       redstone.update(pos)
-               end)
+               redstone.update(pos)
+               redstone.update(vector.add(pos,dir))
        end,
 
        after_destruct = function(pos, oldnode)
@@ -82,7 +81,7 @@ minetest.register_node("redstone:repeater_on_"..level, {
                local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
                redstone.inject(pos,{
                        name = "redstone:repeater_on_"..level,
-                       torch  = 9,
+                       torch  = 16,
                        torch_directional = true,
                        directional_activator = true,
                        input  = vector.subtract(pos,dir),
@@ -112,16 +111,13 @@ minetest.register_lbm({
                local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
                redstone.inject(pos,{
                        name = "redstone:repeater_on_"..level,
-                       torch  = 9,
+                       torch  = 16,
                        torch_directional = true,
                        directional_activator = true,
                        input  = vector.subtract(pos,dir),
                        output = vector.add(pos,dir),
                        dir = dir
                })
-               minetest.after(0,function()
-                       redstone.update(vector.add(pos,dir))
-               end)
        end,
 })
 
@@ -165,12 +161,6 @@ minetest.register_node("redstone:repeater_off_"..level, {
                                {-0.1, -0.5,  -0.05-(level*0.05), 0.1,  0.1, 0.15-(level*0.05)}, --input post
                        },
                },      
-       redstone_activation = function(pos)
-               local timer = minetest.get_node_timer(pos)
-               if not timer:is_started() then
-                       timer:start(level/max_timer)
-               end
-       end,
 
        on_timer = function(pos, elapsed)
                local param2 = minetest.get_node(pos).param2
@@ -179,17 +169,15 @@ minetest.register_node("redstone:repeater_off_"..level, {
                local dir = minetest.facedir_to_dir(param2)
                redstone.inject(pos,{
                        name = "redstone:repeater_on_"..level,
-                       torch  = 9,
+                       torch  = 16,
                        torch_directional = true,
                        directional_activator = true,
                        input  = vector.subtract(pos,dir),
                        output = vector.add(pos,dir),
                        dir = dir
                })
-               minetest.after(0,function()
-                       --redstone.update(vector.add(pos,dir))
-                       redstone.update(pos)
-               end)
+               redstone.update(pos)
+               redstone.update(vector.add(pos,dir))
        end,
 
        on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
@@ -204,6 +192,7 @@ minetest.register_node("redstone:repeater_off_"..level, {
                        name = "redstone:repeater_off_"..newlevel,
                        directional_activator = true,
                        input  = vector.subtract(pos,dir),
+                       output = vector.add(pos,dir),
                        dir = dir
                })
                minetest.sound_play("lever", {pos=pos})
@@ -220,6 +209,7 @@ minetest.register_node("redstone:repeater_off_"..level, {
                        name = "redstone:repeater_off_"..level,
                        directional_activator = true,
                        input  = vector.subtract(pos,dir),
+                       output = vector.add(pos,dir),
                        dir = dir
                })
                redstone.update(pos)
@@ -250,22 +240,7 @@ minetest.register_lbm({
                        input  = vector.subtract(pos,dir),
                        dir = dir
                })
-               minetest.after(0,function()
-                       redstone.update(vector.add(pos,dir))
-               end)
        end,
 })
 
-
-
-
-
-
-
-
-
-
-
-
-
 end