init.lua 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. -- WALL LEVER
  2. -- Basically a switch that can be attached to a wall
  3. -- Powers the block 2 nodes behind (using a receiver)
  4. mesecon.register_node("mesecons_walllever:wall_lever", {
  5. description="Lever",
  6. drawtype = "mesh",
  7. inventory_image = "jeija_wall_lever_inv.png",
  8. wield_image = "jeija_wall_lever_inv.png",
  9. paramtype = "light",
  10. paramtype2 = "facedir",
  11. is_ground_content = false,
  12. sunlight_propagates = true,
  13. walkable = false,
  14. selection_box = {
  15. type = "fixed",
  16. fixed = { -8/16, -8/16, 3/16, 8/16, 8/16, 8/16 },
  17. },
  18. sounds = default.node_sound_wood_defaults(),
  19. on_rightclick = function (pos, node)
  20. if(mesecon.flipstate(pos, node) == "on") then
  21. mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
  22. else
  23. mesecon.receptor_off(pos, mesecon.rules.buttonlike_get(node))
  24. end
  25. minetest.sound_play("mesecons_lever", {pos=pos})
  26. end
  27. },{
  28. tiles = {
  29. "jeija_wall_lever_lever_light_off.png",
  30. "jeija_wall_lever_front.png",
  31. "jeija_wall_lever_front_bump.png",
  32. "jeija_wall_lever_back_edges.png"
  33. },
  34. mesh="jeija_wall_lever_off.obj",
  35. on_rotate = mesecon.buttonlike_onrotate,
  36. mesecons = {receptor = {
  37. rules = mesecon.rules.buttonlike_get,
  38. state = mesecon.state.off
  39. }},
  40. groups = {dig_immediate = 2, mesecon_needs_receiver = 1}
  41. },{
  42. tiles = {
  43. "jeija_wall_lever_lever_light_on.png",
  44. "jeija_wall_lever_front.png",
  45. "jeija_wall_lever_front_bump.png",
  46. "jeija_wall_lever_back_edges.png"
  47. },
  48. mesh="jeija_wall_lever_on.obj",
  49. on_rotate = false,
  50. mesecons = {receptor = {
  51. rules = mesecon.rules.buttonlike_get,
  52. state = mesecon.state.on
  53. }},
  54. groups = {dig_immediate = 2, mesecon_needs_receiver = 1, not_in_creative_inventory = 1}
  55. })
  56. minetest.register_craft({
  57. output = "mesecons_walllever:wall_lever_off 2",
  58. recipe = {
  59. {"group:mesecon_conductor_craftable"},
  60. {"default:stone"},
  61. {"default:stick"},
  62. }
  63. })