1
1
-- WALL LEVER
2
2
-- Basically a switch that can be attached to a wall
3
3
-- Powers the block 2 nodes behind (using a receiver)
4
- minetest .register_node (" mesecons_walllever:wall_lever_off" , {
4
+ mesecon .register_node (" mesecons_walllever:wall_lever" , {
5
+ description = " Lever" ,
5
6
drawtype = " nodebox" ,
6
- tiles = {
7
- " jeija_wall_lever_tb.png" ,
8
- " jeija_wall_lever_bottom.png" ,
9
- " jeija_wall_lever_sides.png" ,
10
- " jeija_wall_lever_sides.png" ,
11
- " jeija_wall_lever_back.png" ,
12
- " jeija_wall_lever_off.png" ,
13
- },
14
7
inventory_image = " jeija_wall_lever_off.png" ,
15
8
wield_image = " jeija_wall_lever_off.png" ,
16
9
paramtype = " light" ,
@@ -21,29 +14,34 @@ minetest.register_node("mesecons_walllever:wall_lever_off", {
21
14
type = " fixed" ,
22
15
fixed = { - 8 / 16 , - 8 / 16 , 3 / 16 , 8 / 16 , 8 / 16 , 8 / 16 },
23
16
},
17
+ sounds = default .node_sound_wood_defaults (),
18
+ on_punch = function (pos , node )
19
+ if (mesecon .flipstate (pos , node ) == " on" ) then
20
+ mesecon .receptor_on (pos , mesecon .rules .buttonlike_get (node ))
21
+ else
22
+ mesecon .receptor_off (pos , mesecon .rules .buttonlike_get (node ))
23
+ end
24
+ minetest .sound_play (" mesecons_lever" , {pos = pos })
25
+ end
26
+ },{
27
+ tiles = { " jeija_wall_lever_tb.png" , " jeija_wall_lever_bottom.png" ,
28
+ " jeija_wall_lever_sides.png" , " jeija_wall_lever_sides.png" ,
29
+ " jeija_wall_lever_back.png" , " jeija_wall_lever_off.png" ,
30
+ },
24
31
node_box = {
25
32
type = " fixed" ,
26
33
fixed = {{ - 6 / 16 , - 6 / 16 , 6 / 16 , 6 / 16 , 6 / 16 , 8 / 16 }, -- the base "slab"
27
34
{ - 5 / 16 , - 3 / 16 , 5 / 16 , 5 / 16 , 3 / 16 , 6 / 16 }, -- the lighted ring area
28
- { - 4 / 16 , - 2 / 16 , 4 / 16 , 4 / 16 , 2 / 16 , 5 / 16 }, -- the raised bit that the lever "sits" on
35
+ { - 4 / 16 , - 2 / 16 , 4 / 16 , 4 / 16 , 2 / 16 , 5 / 16 }, -- the raised bit
29
36
{ - 2 / 16 , - 1 / 16 , 3 / 16 , 2 / 16 , 1 / 16 , 4 / 16 }, -- the lever "hinge"
30
37
{ - 1 / 16 , - 8 / 16 , 4 / 16 , 1 / 16 , 0 , 6 / 16 }} -- the lever itself.
31
38
},
32
- groups = {dig_immediate = 2 , mesecon_needs_receiver = 1 },
33
- description = " Lever" ,
34
- on_punch = function (pos , node )
35
- minetest .swap_node (pos , {name = " mesecons_walllever:wall_lever_on" , param2 = node .param2 })
36
- mesecon .receptor_on (pos , mesecon .rules .buttonlike_get (node ))
37
- minetest .sound_play (" mesecons_lever" , {pos = pos })
38
- end ,
39
- sounds = default .node_sound_wood_defaults (),
40
39
mesecons = {receptor = {
41
40
rules = mesecon .rules .buttonlike_get ,
42
41
state = mesecon .state .off
43
- }}
44
- })
45
- minetest .register_node (" mesecons_walllever:wall_lever_on" , {
46
- drawtype = " nodebox" ,
42
+ }},
43
+ groups = {dig_immediate = 2 , mesecon_needs_receiver = 1 }
44
+ },{
47
45
tiles = {
48
46
" jeija_wall_lever_top.png" ,
49
47
" jeija_wall_lever_tb.png" ,
@@ -52,37 +50,19 @@ minetest.register_node("mesecons_walllever:wall_lever_on", {
52
50
" jeija_wall_lever_back.png" ,
53
51
" jeija_wall_lever_on.png" ,
54
52
},
55
- inventory_image = " jeija_wall_lever_on.png" ,
56
- paramtype = " light" ,
57
- paramtype2 = " facedir" ,
58
- sunlight_propagates = true ,
59
- walkable = false ,
60
- light_source = LIGHT_MAX - 7 ,
61
- selection_box = {
62
- type = " fixed" ,
63
- fixed = { - 8 / 16 , - 8 / 16 , 3 / 16 , 8 / 16 , 8 / 16 , 8 / 16 },
64
- },
65
53
node_box = {
66
54
type = " fixed" ,
67
55
fixed = {{ - 6 / 16 , - 6 / 16 , 6 / 16 , 6 / 16 , 6 / 16 , 8 / 16 }, -- the base "slab"
68
56
{ - 5 / 16 , - 3 / 16 , 5 / 16 , 5 / 16 , 3 / 16 , 6 / 16 }, -- the lighted ring area
69
- { - 4 / 16 , - 2 / 16 , 4 / 16 , 4 / 16 , 2 / 16 , 5 / 16 }, -- the raised bit that the lever "sits" on
57
+ { - 4 / 16 , - 2 / 16 , 4 / 16 , 4 / 16 , 2 / 16 , 5 / 16 }, -- the raised bit
70
58
{ - 2 / 16 , - 1 / 16 , 3 / 16 , 2 / 16 , 1 / 16 , 4 / 16 }, -- the lever "hinge"
71
59
{ - 1 / 16 , 0 , 4 / 16 , 1 / 16 , 8 / 16 , 6 / 16 }} -- the lever itself.
72
60
},
73
- groups = {dig_immediate = 2 , not_in_creative_inventory = 1 , mesecon_needs_receiver = 1 },
74
- drop = " mesecons_walllever:wall_lever_off 1" ,
75
- description = " Lever" ,
76
- on_punch = function (pos , node )
77
- minetest .swap_node (pos , {name = " mesecons_walllever:wall_lever_off" , param2 = node .param2 })
78
- mesecon .receptor_off (pos , mesecon .rules .buttonlike_get (node ))
79
- minetest .sound_play (" mesecons_lever" , {pos = pos })
80
- end ,
81
- sounds = default .node_sound_wood_defaults (),
82
61
mesecons = {receptor = {
83
62
rules = mesecon .rules .buttonlike_get ,
84
63
state = mesecon .state .on
85
- }}
64
+ }},
65
+ groups = {dig_immediate = 2 , mesecon_needs_receiver = 1 , not_in_creative_inventory = 1 }
86
66
})
87
67
88
68
minetest .register_craft ({
0 commit comments