]> git.lizzy.rs Git - Crafter.git/blob - mods/redstone/capacitors.lua
10a30b166eb5e011e69d6a0513dd4a31b3556781
[Crafter.git] / mods / redstone / capacitors.lua
1 minetest.override_item("main:ironblock",{
2     on_construct = function(pos)
3         redstone.inject(pos,{
4           name = "main:ironblock",
5           activator = true,
6           capacitor = 0,
7         })
8         minetest.after(0,function()
9             redstone.update(pos)
10             redstone.update(pos,true)
11         end)
12     end,
13     on_destruct = function(pos)
14         redstone.inject(pos,nil)
15         
16         redstone.update(pos,true)
17         --redstone.update(pos)
18     end
19 })
20
21 redstone.register_activator({
22     name = "main:ironblock",
23     activate = function(pos)
24         minetest.swap_node(pos,{name="main:ironblock_on"})
25         redstone.inject(pos,{
26             name = "main:ironblock_on",
27             capacitor = 1,
28             source    = true,
29             activator = true,
30         })
31         redstone.update(pos,true)
32         redstone.update(pos)
33     end,
34   })
35
36 redstone.register_capacitor({
37     name = "main:ironblock",
38     on   = "main:ironblock_on",
39     off  = "main:ironblock",
40 })
41
42 minetest.register_lbm({
43     name = ":main:ironblock",
44     nodenames = {"main:ironblock"},
45     run_at_every_load = true,
46     action = function(pos)
47         redstone.inject(pos,{
48             name = "main:ironblock",
49             activator = true,
50             capacitor = 0,
51           })
52     end,
53 })
54
55
56 minetest.register_node(":main:ironblock_on", {
57     description = "Iron Block Activated",
58     tiles = {"ironblock.png^[colorize:white:100"},
59     groups = {stone = 2, pathable = 1},
60     sounds = main.stoneSound(),
61     light_source = 10,
62     drop = {
63         max_items = 1,
64         items= {
65             {
66                 rarity = 0,
67                 tools = {"main:coalpick","main:stonepick","main:ironpick","main:lapispick","main:goldpick","main:diamondpick","main:emeraldpick","main:sapphirepick","main:rubypick"},
68                 items = {"main:ironblock"},
69             },
70             },
71         },
72     on_construct = function(pos)
73         redstone.inject(pos,{
74             name = "main:ironblock_on",
75             activator = true,
76             source = true,
77             capacitor = 1,
78         })
79         minetest.after(0,function()
80             redstone.update(pos)
81             redstone.update(pos,true)
82         end)
83     end,
84     on_destruct = function(pos)
85         redstone.inject(pos,nil)
86
87         redstone.update(pos,true)
88         redstone.update(pos)
89     end,
90 })
91
92
93 redstone.register_activator({
94     name = "main:ironblock_on",
95     deactivate = function(pos)
96
97         minetest.swap_node(pos,{name="main:ironblock"})
98         redstone.inject(pos,{
99             name = "main:ironblock",
100             capacitor = 0,
101             activator = true,
102         })
103         redstone.update(pos,true)
104     end,
105 })
106
107 redstone.register_capacitor({
108     name = "main:ironblock_on",
109     on   = "main:ironblock_on",
110     off  = "main:ironblock",
111 })
112
113
114 minetest.register_lbm({
115     name = ":main:ironblock_on",
116     nodenames = {"main:ironblock_on"},
117     run_at_every_load = true,
118     action = function(pos)
119         redstone.inject(pos,{
120             name = "main:ironblock",
121             activator = true,
122             capacitor = 1,
123         })
124     end,
125 })