]> git.lizzy.rs Git - Crafter.git/blob - mods/redstone/lever.lua
Inject torch data
[Crafter.git] / mods / redstone / lever.lua
1
2 local minetest,vector,math,pairs = minetest,vector,math,pairs
3
4
5 minetest.register_node("redstone:lever_off", {
6     description = "Lever",
7     tiles = {"stone.png"},
8     groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,dig_immediate=1},
9     sounds = main.stoneSound(),
10     paramtype = "light",
11         paramtype2 = "wallmounted",
12         sunlight_propagates = true,
13         walkable = false,
14         drawtype= "nodebox",
15         drop="redstone:lever_off",
16         node_box = {
17                 type = "fixed",
18                 fixed = {
19                                 --left front bottom right back top
20                                 {-0.3, -0.5,  -0.4, 0.3,  -0.4, 0.4},
21                                 {-0.1, -0.5,  -0.3, 0.1,  0, -0.1},
22                         },
23                 },
24     on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
25                 minetest.swap_node(pos, {name="redstone:lever_on",param2=node.param2})
26                 minetest.sound_play("lever", {pos=pos})
27
28                 local dir = minetest.wallmounted_to_dir(node.param2)
29                 pos = vector.add(dir,pos)
30         
31                 local meta = minetest.get_meta(pos)
32
33                 meta:set_int("redstone_power", 9)
34                 
35                 
36                 redstone.collect_info(pos)
37         end,
38         after_destruct = function(pos, oldnode)
39                 local dir = minetest.wallmounted_to_dir(oldnode.param2)
40                 pos = vector.add(dir,pos)
41         
42                 local meta = minetest.get_meta(pos)
43
44                 meta:set_int("redstone_power", 0)
45                 
46                 redstone.collect_info(pos)
47         end,
48 })
49 minetest.register_node("redstone:lever_on", {
50     description = "Lever On",
51     tiles = {"stone.png"},
52     groups = {stone = 1, hard = 1, pickaxe = 1, hand = 4,attached_node = 1,dig_immediate=1},
53     sounds = main.stoneSound(),
54     paramtype = "light",
55         paramtype2 = "wallmounted",
56         sunlight_propagates = true,
57         walkable = false,
58         drawtype= "nodebox",
59         drop="redstone:lever_off",
60         node_box = {
61                 type = "fixed",
62                 fixed = {
63                                 --left front bottom right back top
64                                 {-0.3, -0.5,  -0.4, 0.3,  -0.4, 0.4},
65                                 {-0.1, -0.5,  0.3, 0.1,  0, 0.1},
66                         },
67                 },
68     on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
69                 minetest.swap_node(pos, {name="redstone:lever_off",param2=node.param2})
70
71                 minetest.sound_play("lever", {pos=pos})
72
73                 local dir = minetest.wallmounted_to_dir(node.param2)
74                 pos = vector.add(dir,pos)
75         
76                 local meta = minetest.get_meta(pos)
77
78                 meta:set_int("redstone_power", 0)
79                 
80                 redstone.collect_info(pos)
81         end,
82         after_destruct = function(pos, oldnode)
83                 local dir = minetest.wallmounted_to_dir(oldnode.param2)
84                 pos = vector.add(dir,pos)
85         
86                 local meta = minetest.get_meta(pos)
87
88                 meta:set_int("redstone_power", 0)
89                 
90                 redstone.collect_info(pos)
91         end,
92 })