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