1 local minetest = minetest
14 --this allows for a more pale off state so players have more freedom to create different colors
15 for _,color in pairs(colors) do
16 minetest.register_node("redstone:light_on_"..color, {
17 description = color:gsub("^%l", string.upper).." Redstone Light",
18 tiles = {"redstone_light.png^[colorize:"..color..":200"},
21 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,pathable = 1},
22 sounds = main.stoneSound({
23 footstep = {name = "glass_footstep", gain = 0.4},
24 dug = {name = "break_glass", gain = 0.4},
26 drop = "redstone:light_off_"..color,
28 on_construct = function(pos)
30 name = "redstone:light_on_"..color,
33 minetest.after(0,function()
37 after_destruct = function(pos, oldnode)
38 redstone.inject(pos,nil)
42 redstone.register_activator({
43 name = "redstone:light_on_"..color,
44 deactivate = function(pos)
46 minetest.swap_node(pos,{name="redstone:light_off_"..color})
49 name = "redstone:light_off_"..color,
55 minetest.register_lbm({
56 name = "redstone:light_on_"..color,
57 nodenames = {"redstone:light_on_"..color},
58 run_at_every_load = true,
59 action = function(pos)
61 name = "redstone:light_on_"..color,
65 minetest.after(0,function()
73 minetest.register_node("redstone:light_off_"..color, {
74 description = color:gsub("^%l", string.upper).." Redstone Light",
75 tiles = {"redstone_light.png^[colorize:"..color..":100"},
77 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,pathable = 1,redstone_activation=1},
78 sounds = main.stoneSound({
79 footstep = {name = "glass_footstep", gain = 0.4},
80 dug = {name = "break_glass", gain = 0.4},
82 drop = "redstone:light_off_"..color,
85 on_construct = function(pos)
87 name = "redstone:light_off_"..color,
91 minetest.after(0,function()
96 after_destruct = function(pos, oldnode)
97 redstone.inject(pos,nil)
99 after_place_node = function(pos, placer, itemstack, pointed_thing)
105 redstone.register_activator({
106 name = "redstone:light_off_"..color,
107 activate = function(pos)
109 minetest.swap_node(pos,{name="redstone:light_on_"..color})
111 redstone.inject(pos,{
112 name = "redstone:light_on_"..color,
118 minetest.register_lbm({
119 name = "redstone:light_off_"..color,
120 nodenames = {"redstone:light_off_"..color},
121 run_at_every_load = true,
122 action = function(pos)
123 redstone.inject(pos,{
124 name = "redstone:light_off_"..color,
128 minetest.after(0,function()
136 minetest.register_craft({
137 output = "redstone:light_off_"..color,
139 recipe = {"main:glass","redstone:dust","dye:"..color},