2015-06-29 10:55:56 -07:00
-- WALL LEVER
-- Basically a switch that can be attached to a wall
-- Powers the block 2 nodes behind (using a receiver)
minetest.register_node ( " mesecons_walllever:wall_lever_off " , {
drawtype = " nodebox " ,
tiles = {
" jeija_wall_lever_tb.png " ,
" jeija_wall_lever_bottom.png " ,
" jeija_wall_lever_sides.png " ,
" jeija_wall_lever_sides.png " ,
" jeija_wall_lever_back.png " ,
" jeija_wall_lever_off.png " ,
} ,
inventory_image = " jeija_wall_lever.png " ,
wield_image = " jeija_wall_lever.png " ,
paramtype = " light " ,
paramtype2 = " facedir " ,
sunlight_propagates = true ,
walkable = false ,
selection_box = {
type = " fixed " ,
fixed = { { - 2 / 16 , - 3 / 16 , 8 / 16 , 2 / 16 , 3 / 16 , 4 / 16 } ,
{ - 1 / 16 , - 8 / 16 , 7 / 16 , 1 / 16 , 0 / 16 , 5 / 16 } } ,
} ,
node_box = {
type = " fixed " ,
fixed = { { - 2 / 16 , - 3 / 16 , 8 / 16 , 2 / 16 , 3 / 16 , 4 / 16 } , -- the base
{ - 1 / 16 , - 8 / 16 , 7 / 16 , 1 / 16 , 0 / 16 , 5 / 16 } } -- the lever itself.
} ,
2017-05-19 19:13:57 -07:00
groups = { handy = 1 , dig_by_water = 1 , destroy_by_lava_flow = 1 , dig_by_piston = 1 } ,
2017-01-04 13:36:51 -08:00
is_ground_content = false ,
2015-06-29 10:55:56 -07:00
description = " Lever " ,
2017-03-10 18:56:29 -08:00
_doc_items_longdesc = " A lever is a redstone component which can be flipped on and off. It supplies redstone power to the blocks behind while it is in the “on” state. " ,
_doc_items_usagehelp = " Right-click the lever to flip it on or off. " ,
2017-02-05 08:57:33 -08:00
on_rightclick = function ( pos , node )
2017-07-30 15:12:21 -07:00
minetest.swap_node ( pos , { name = " mesecons_walllever:wall_lever_on " , param2 = node.param2 } )
mesecon.receptor_on ( pos , mesecon.rules . buttonlike_get ( node ) )
2015-06-29 10:55:56 -07:00
minetest.sound_play ( " mesecons_lever " , { pos = pos } )
end ,
2017-02-11 09:46:23 -08:00
sounds = mcl_sounds.node_sound_wood_defaults ( ) ,
2015-06-29 10:55:56 -07:00
mesecons = { receptor = {
rules = mesecon.rules . buttonlike_get ,
state = mesecon.state . off
2017-02-22 07:22:28 -08:00
} } ,
_mcl_blast_resistance = 2.5 ,
2017-02-27 08:20:51 -08:00
_mcl_hardness = 0.5 ,
2015-06-29 10:55:56 -07:00
} )
minetest.register_node ( " mesecons_walllever:wall_lever_on " , {
drawtype = " nodebox " ,
tiles = {
" jeija_wall_lever_top.png " ,
" jeija_wall_lever_tb.png " ,
" jeija_wall_lever_sides.png " ,
" jeija_wall_lever_sides.png " ,
" jeija_wall_lever_back.png " ,
" jeija_wall_lever_on.png " ,
} ,
inventory_image = " jeija_wall_lever.png " ,
paramtype = " light " ,
paramtype2 = " facedir " ,
sunlight_propagates = true ,
walkable = false ,
selection_box = {
type = " fixed " ,
fixed = { { - 2 / 16 , - 3 / 16 , 8 / 16 , 2 / 16 , 3 / 16 , 4 / 16 } ,
{ - 1 / 16 , 0 , 7 / 16 , 1 / 16 , 8 / 16 , 5 / 16 } } ,
} ,
node_box = {
type = " fixed " ,
fixed = { { - 2 / 16 , - 3 / 16 , 8 / 16 , 2 / 16 , 3 / 16 , 4 / 16 } , -- the base
{ - 1 / 16 , 0 / 16 , 7 / 16 , 1 / 16 , 8 / 16 , 5 / 16 } } -- the lever itself.
} ,
2017-05-19 19:13:57 -07:00
groups = { handy = 1 , not_in_creative_inventory = 1 , dig_by_water = 1 , destroy_by_lava_flow = 1 , dig_by_piston = 1 } ,
2017-01-04 13:36:51 -08:00
is_ground_content = false ,
2015-06-29 10:55:56 -07:00
drop = ' "mesecons_walllever:wall_lever_off" 1 ' ,
description = " Lever " ,
2017-03-10 18:56:29 -08:00
_doc_items_create_entry = false ,
2017-02-05 08:57:33 -08:00
on_rightclick = function ( pos , node )
2017-07-30 15:12:21 -07:00
minetest.swap_node ( pos , { name = " mesecons_walllever:wall_lever_off " , param2 = node.param2 } )
mesecon.receptor_off ( pos , mesecon.rules . buttonlike_get ( node ) )
2015-06-29 10:55:56 -07:00
minetest.sound_play ( " mesecons_lever " , { pos = pos } )
end ,
2017-02-11 09:46:23 -08:00
sounds = mcl_sounds.node_sound_wood_defaults ( ) ,
2015-06-29 10:55:56 -07:00
mesecons = { receptor = {
rules = mesecon.rules . buttonlike_get ,
state = mesecon.state . on
2017-02-22 07:22:28 -08:00
} } ,
_mcl_blast_resistance = 2.5 ,
2017-02-27 08:20:51 -08:00
_mcl_hardness = 0.5 ,
2015-06-29 10:55:56 -07:00
} )
minetest.register_craft ( {
output = ' mesecons_walllever:wall_lever_off ' ,
recipe = {
2017-01-31 14:32:56 -08:00
{ ' mcl_core:stick ' } ,
{ ' mcl_core:cobble ' } ,
2015-06-29 10:55:56 -07:00
}
} )
2017-03-20 20:27:50 -07:00
if minetest.get_modpath ( " doc " ) then
doc.add_entry_alias ( " nodes " , " mesecons_walllever:wall_lever_off " , " nodes " , " mesecons_walllever:wall_lever_on " )
end