15 --inverts redstone signal
16 minetest.register_node("redstone:inverter_on", {
17 description = "Redstone Inverter",
18 tiles = {"repeater_on.png"},
19 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1},
20 sounds = main.stoneSound(),
22 paramtype2 = "facedir",
23 sunlight_propagates = true,
26 drop="redstone:inverter_off",
30 --left front bottom right back top
31 {-0.5, -0.5, -0.5, 0.5, -0.3, 0.5}, --base
32 {-0.2, -0.5, 0.2, 0.2, 0.1, 0.4}, --output post
35 after_place_node = function(pos, placer, itemstack, pointed_thing)
36 local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
38 name = "redstone:inverter_on",
39 directional_activator = true,
40 input = vector.subtract(pos,dir),
41 output = vector.add(pos,dir),
46 after_destruct = function(pos, oldnode)
47 redstone.inject(pos,nil)
53 redstone.register_activator({
54 name = "redstone:inverter_on",
55 deactivate = function(pos)
56 local param2 = minetest.get_node(pos).param2
57 minetest.swap_node(pos,{name="redstone:inverter_off",param2=param2})
58 local dir = minetest.facedir_to_dir(param2)
60 name = "redstone:inverter_off",
62 torch_directional = true,
63 directional_activator = true,
64 input = vector.subtract(pos,dir),
65 output = vector.add(pos,dir),
69 redstone.update(vector.add(pos,dir))
74 minetest.register_lbm({
75 name = "redstone:startupinverter",
76 nodenames = {"redstone:inverter_on"},
77 run_at_every_load = true,
78 action = function(pos)
79 local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
81 name = "redstone:inverter_on",
82 directional_activator = true,
83 input = vector.subtract(pos,dir),
84 output = vector.add(pos,dir),
93 ██████╗ ███████╗███████╗
94 ██╔═══██╗██╔════╝██╔════╝
101 minetest.register_node("redstone:inverter_off", {
102 description = "Redstone Inverter",
103 tiles = {"repeater_off.png"},
104 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1,torch_directional=1,redstone_power=16},
105 sounds = main.stoneSound(),
107 paramtype2 = "facedir",
108 sunlight_propagates = true,
111 drop="redstone:inverter_off",
115 --left front bottom right back top
116 {-0.5, -0.5, -0.5, 0.5, -0.3, 0.5}, --base
117 {-0.2, -0.5, 0.2, 0.2, 0.1, 0.4}, --output post
120 after_place_node = function(pos, placer, itemstack, pointed_thing)
121 local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
122 redstone.inject(pos,{
123 name = "redstone:inverter_off",
125 torch_directional = true,
126 directional_activator = true,
127 input = vector.subtract(pos,dir),
128 output = vector.add(pos,dir),
133 after_destruct = function(pos, oldnode)
134 redstone.inject(pos,nil)
139 redstone.register_activator({
140 name = "redstone:inverter_off",
141 activate = function(pos)
143 local param2 = minetest.get_node(pos).param2
144 minetest.swap_node(pos,{name="redstone:inverter_on",param2=param2})
145 local dir = minetest.facedir_to_dir(param2)
146 redstone.inject(pos,{
147 name = "redstone:inverter_on",
148 directional_activator = true,
149 input = vector.subtract(pos,dir),
150 output = vector.add(pos,dir),
153 redstone.update(vector.add(pos,dir))
158 minetest.register_lbm({
159 name = "redstone:also_startup_inverter",
160 nodenames = {"redstone:inverter_off"},
161 run_at_every_load = true,
162 action = function(pos)
163 local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
164 redstone.inject(pos,{
165 name = "redstone:inverter_off",
167 torch_directional = true,
168 directional_activator = true,
169 input = vector.subtract(pos,dir),
170 output = vector.add(pos,dir),