1 minetest.register_node("redstone:breaker_off", {
2 description = "Breaker",
3 tiles = {"redstone_piston.png^[invert:rgb",
4 "redstone_piston.png^[transformR180^[invert:rgb",
5 "redstone_piston.png^[transformR270^[invert:rgb",
6 "redstone_piston.png^[transformR90^[invert:rgb",
7 "wood.png^[invert:rgb",
8 "stone.png^[invert:rgb"},
9 paramtype2 = "facedir",
10 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,pathable = 1,redstone_activation=1},
11 sounds = main.stoneSound(),
12 drop = "redstone:breaker_off",
14 sunlight_propagates = true,
15 --reverse the direction to face the player
16 on_construct = function(pos)
18 name = "redstone:breaker_off",
23 on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
24 local look = clicker:get_look_dir()
25 look = vector.multiply(look,-1)
26 local dir = minetest.dir_to_facedir(look, true)
27 minetest.swap_node(pos,{name="redstone:breaker_off",param2=dir})
30 after_place_node = function(pos, placer, itemstack, pointed_thing)
31 local look = placer:get_look_dir()
32 look = vector.multiply(look,-1)
33 local dir = minetest.dir_to_facedir(look, true)
34 minetest.swap_node(pos,{name="redstone:breaker_off",param2=dir})
36 on_destruct = function(pos, oldnode)
37 redstone.inject(pos,nil)
41 redstone.register_activator({
42 name = "redstone:breaker_off",
43 activate = function(pos)
45 local node = minetest.get_node(pos)
47 minetest.swap_node(pos,{name="redstone:breaker_on",param2=node.param2})
49 local dir = minetest.facedir_to_dir(node.param2)
52 name = "redstone:breaker_on",
56 pos = vector.add(pos,dir)
58 node = minetest.get_node(pos)
60 node = minetest.get_node_drops(node, "main:rubypick")
62 if type(node) == "table" then
63 for _,nodey in pairs(node) do
64 minetest.throw_item(pos,nodey)
67 minetest.throw_item(pos,node)
69 minetest.remove_node(pos)
75 minetest.register_lbm({
76 name = "redstone:breaker_off",
77 nodenames = {"redstone:breaker_off"},
78 run_at_every_load = true,
79 action = function(pos)
81 name = "redstone:breaker_off",
89 minetest.register_node("redstone:breaker_on", {
90 description = "Breaker",
91 tiles = {"redstone_piston.png^[invert:rgb^[colorize:red:100",
92 "redstone_piston.png^[transformR180^[invert:rgb^[colorize:red:100",
93 "redstone_piston.png^[transformR270^[invert:rgb^[colorize:red:100",
94 "redstone_piston.png^[transformR90^[invert:rgb^[colorize:red:100",
95 "wood.png^[invert:rgb^[colorize:red:100",
96 "stone.png^[invert:rgb^[colorize:red:100"},
97 paramtype2 = "facedir",
98 groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,pathable = 1,redstone_activation=1},
99 sounds = main.stoneSound(),
100 drop = "redstone:breaker_off",
102 sunlight_propagates = true,
103 --reverse the direction to face the player
104 on_construct = function(pos)
105 redstone.inject(pos,{
106 name = "redstone:breaker_on",
111 on_destruct = function(pos)
112 redstone.inject(pos,nil)
117 redstone.register_activator({
118 name = "redstone:breaker_on",
119 deactivate = function(pos)
120 local node = minetest.get_node(pos)
122 minetest.swap_node(pos,{name="redstone:breaker_off",param2=node.param2})
123 redstone.inject(pos,{
124 name = "redstone:breaker_off",
131 minetest.register_lbm({
132 name = "redstone:breaker_on",
133 nodenames = {"redstone:breaker_on"},
134 run_at_every_load = true,
135 action = function(pos)
136 redstone.inject(pos,{
137 name = "redstone:breaker_on",