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),
45 after_destruct = function(pos, oldnode)
46 redstone.inject(pos,nil)
52 redstone.register_activator({
53 name = "redstone:inverter_on",
54 deactivate = function(pos)
55 local param2 = minetest.get_node(pos).param2
56 minetest.set_node(pos,{name="redstone:inverter_off",param2=param2})
57 local dir = minetest.facedir_to_dir(param2)
59 name = "redstone:inverter_off",
61 torch_directional = true,
62 directional_activator = true,
63 input = vector.subtract(pos,dir),
64 output = vector.add(pos,dir),
67 minetest.after(0,function()
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),
92 ██████╗ ███████╗███████╗
93 ██╔═══██╗██╔════╝██╔════╝
100 minetest.register_node("redstone:inverter_off", {
101 description = "Redstone Inverter",
102 tiles = {"repeater_off.png"},
103 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,redstone_activation_directional=1,torch_directional=1,redstone_power=9},
104 sounds = main.stoneSound(),
106 paramtype2 = "facedir",
107 sunlight_propagates = true,
110 drop="redstone:inverter_off",
114 --left front bottom right back top
115 {-0.5, -0.5, -0.5, 0.5, -0.3, 0.5}, --base
116 {-0.2, -0.5, 0.2, 0.2, 0.1, 0.4}, --output post
119 after_place_node = function(pos, placer, itemstack, pointed_thing)
120 local dir = minetest.facedir_to_dir(minetest.get_node(pos).param2)
121 redstone.inject(pos,{
122 name = "redstone:inverter_off",
124 torch_directional = true,
125 directional_activator = true,
126 input = vector.subtract(pos,dir),
127 output = vector.add(pos,dir),
132 after_destruct = function(pos, oldnode)
133 redstone.inject(pos,nil)
138 redstone.register_activator({
139 name = "redstone:inverter_off",
140 activate = function(pos)
142 local param2 = minetest.get_node(pos).param2
143 minetest.set_node(pos,{name="redstone:inverter_on",param2=param2})
144 local dir = minetest.facedir_to_dir(param2)
145 redstone.inject(pos,{
146 name = "redstone:inverter_on",
147 directional_activator = true,
148 input = vector.subtract(pos,dir),
151 minetest.after(0,function()
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),