2015-06-29 19:55:56 +02: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-20 04:13:57 +02:00
groups = { handy = 1 , dig_by_water = 1 , destroy_by_lava_flow = 1 , dig_by_piston = 1 } ,
2017-01-04 22:36:51 +01:00
is_ground_content = false ,
2015-06-29 19:55:56 +02:00
description = " Lever " ,
2017-03-11 03:56:29 +01: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 17:57:33 +01:00
on_rightclick = function ( pos , node )
2017-07-31 00:12:21 +02: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 19:55:56 +02:00
minetest.sound_play ( " mesecons_lever " , { pos = pos } )
end ,
2017-02-11 18:46:23 +01:00
sounds = mcl_sounds.node_sound_wood_defaults ( ) ,
2015-06-29 19:55:56 +02:00
mesecons = { receptor = {
rules = mesecon.rules . buttonlike_get ,
state = mesecon.state . off
2017-02-22 16:22:28 +01:00
} } ,
_mcl_blast_resistance = 2.5 ,
2017-02-27 17:20:51 +01:00
_mcl_hardness = 0.5 ,
2015-06-29 19:55:56 +02: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-20 04:13:57 +02: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 22:36:51 +01:00
is_ground_content = false ,
2015-06-29 19:55:56 +02:00
drop = ' "mesecons_walllever:wall_lever_off" 1 ' ,
description = " Lever " ,
2017-03-11 03:56:29 +01:00
_doc_items_create_entry = false ,
2017-02-05 17:57:33 +01:00
on_rightclick = function ( pos , node )
2017-07-31 00:12:21 +02: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 19:55:56 +02:00
minetest.sound_play ( " mesecons_lever " , { pos = pos } )
end ,
2017-02-11 18:46:23 +01:00
sounds = mcl_sounds.node_sound_wood_defaults ( ) ,
2015-06-29 19:55:56 +02:00
mesecons = { receptor = {
rules = mesecon.rules . buttonlike_get ,
state = mesecon.state . on
2017-02-22 16:22:28 +01:00
} } ,
_mcl_blast_resistance = 2.5 ,
2017-02-27 17:20:51 +01:00
_mcl_hardness = 0.5 ,
2015-06-29 19:55:56 +02:00
} )
minetest.register_craft ( {
output = ' mesecons_walllever:wall_lever_off ' ,
recipe = {
2017-01-31 23:32:56 +01:00
{ ' mcl_core:stick ' } ,
{ ' mcl_core:cobble ' } ,
2015-06-29 19:55:56 +02:00
}
} )
2017-03-21 04:27:50 +01:00
if minetest.get_modpath ( " doc " ) then
doc.add_entry_alias ( " nodes " , " mesecons_walllever:wall_lever_off " , " nodes " , " mesecons_walllever:wall_lever_on " )
end