services.lua 965 B

1234567891011121314151617181920212223242526272829
  1. mesecon.on_placenode = function (pos, node)
  2. if mesecon:is_receptor_on(node.name) then
  3. mesecon:receptor_on(pos, mesecon:receptor_get_rules(node))
  4. elseif mesecon:is_powered(pos) then
  5. if mesecon:is_conductor(node.name) then
  6. mesecon:turnon (pos)
  7. mesecon:receptor_on (pos, mesecon:conductor_get_rules(node))
  8. else
  9. mesecon:changesignal(pos, node)
  10. mesecon:activate(pos, node)
  11. end
  12. elseif mesecon:is_conductor_on(node.name) then
  13. mesecon:swap_node(pos, mesecon:get_conductor_off(node.name))
  14. elseif mesecon:is_effector_on (node.name) then
  15. mesecon:deactivate(pos, node)
  16. end
  17. end
  18. mesecon.on_dignode = function (pos, node)
  19. if mesecon:is_conductor_on(node.name) then
  20. mesecon:receptor_off(pos, mesecon:conductor_get_rules(node))
  21. elseif mesecon:is_receptor_on(node.name) then
  22. mesecon:receptor_off(pos, mesecon:receptor_get_rules(node))
  23. end
  24. end
  25. minetest.register_on_placenode(mesecon.on_placenode)
  26. minetest.register_on_dignode(mesecon.on_dignode)