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 local param2 = oldnode.param2
48 local dir = minetest.facedir_to_dir(param2)
49 redstone.inject(pos,nil)
51 redstone.update(vector.add(pos,dir))
56 redstone.register_activator({
57 name = "redstone:inverter_on",
58 deactivate = function(pos)
59 local param2 = minetest.get_node(pos).param2
60 minetest.swap_node(pos,{name="redstone:inverter_off",param2=param2})
61 local dir = minetest.facedir_to_dir(param2)
63 name = "redstone:inverter_off",
65 torch_directional = true,
66 directional_activator = true,
67 input = vector.subtract(pos,dir),
68 output = vector.add(pos,dir),
72 redstone.update(vector.add(pos,dir))
77 minetest.register_lbm({
78 name = "redstone:startupinverter",
79 nodenames = {"redstone:inverter_on"},
80 run_at_every_load = true,
81 action = function(pos)
82 local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
84 name = "redstone:inverter_on",
85 directional_activator = true,
86 input = vector.subtract(pos,dir),
87 output = vector.add(pos,dir),
96 ██████╗ ███████╗███████╗
97 ██╔═══██╗██╔════╝██╔════╝
104 minetest.register_node("redstone:inverter_off", {
105 description = "Redstone Inverter",
106 tiles = {"repeater_off.png"},
107 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1,torch_directional=1,redstone_power=16},
108 sounds = main.stoneSound(),
110 paramtype2 = "facedir",
111 sunlight_propagates = true,
114 drop="redstone:inverter_off",
118 --left front bottom right back top
119 {-0.5, -0.5, -0.5, 0.5, -0.3, 0.5}, --base
120 {-0.2, -0.5, 0.2, 0.2, 0.1, 0.4}, --output post
123 after_place_node = function(pos, placer, itemstack, pointed_thing)
124 local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
125 redstone.inject(pos,{
126 name = "redstone:inverter_off",
128 torch_directional = true,
129 directional_activator = true,
130 input = vector.subtract(pos,dir),
131 output = vector.add(pos,dir),
136 after_destruct = function(pos, oldnode)
137 local param2 = oldnode.param2
138 local dir = minetest.facedir_to_dir(param2)
139 redstone.inject(pos,nil)
141 redstone.update(vector.add(pos,dir))
145 redstone.register_activator({
146 name = "redstone:inverter_off",
147 activate = function(pos)
149 local param2 = minetest.get_node(pos).param2
150 minetest.swap_node(pos,{name="redstone:inverter_on",param2=param2})
151 local dir = minetest.facedir_to_dir(param2)
152 redstone.inject(pos,{
153 name = "redstone:inverter_on",
154 directional_activator = true,
155 input = vector.subtract(pos,dir),
156 output = vector.add(pos,dir),
160 redstone.update(vector.add(pos,dir))
165 minetest.register_lbm({
166 name = "redstone:also_startup_inverter",
167 nodenames = {"redstone:inverter_off"},
168 run_at_every_load = true,
169 action = function(pos)
170 local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
171 redstone.inject(pos,{
172 name = "redstone:inverter_off",
174 torch_directional = true,
175 directional_activator = true,
176 input = vector.subtract(pos,dir),
177 output = vector.add(pos,dir),