basic_services.lua 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. minetestd.register_service("error_notify", {
  2. description = "Chat-based error notification system",
  3. stop = function()
  4. minetestd.services.error_notify.enabled = false
  5. end,
  6. start = function()
  7. minetestd.services.error_notify.enabled = dofile(minetestd.modpath.."/services/error_notify.lua")
  8. minetestd.services.error_notify.enabled = true
  9. return true
  10. end,
  11. })
  12. minetestd.register_service("playerctl", {
  13. description = "Player-step and simplified player data storage",
  14. stop = function()
  15. if minetestd.services.playerctl.initialized then
  16. for _,player in pairs(minetest.get_connected_players()) do
  17. minetestd.playerctl.on_leave(player)
  18. end
  19. end
  20. minetestd.services["playerctl"].enabled = false
  21. end,
  22. start = function()
  23. minetestd.services.playerctl.enabled = dofile(minetestd.modpath.."/services/playerctl.lua")
  24. return true
  25. end,
  26. })
  27. minetestd.register_service("teleport_callback", {
  28. description = "register_on_teleportplayer callback handler",
  29. stop = function()
  30. minetestd.services["teleport_callback"].enabled = false
  31. end,
  32. start = function()
  33. dofile(minetestd.modpath.."/services/teleport_callback.lua")
  34. minetestd.services["teleport_callback"].enabled = true
  35. return true
  36. end,
  37. depends = {playerctl=true}
  38. })
  39. minetestd.register_service("kill_callback", {
  40. description = "register_on_killplayer callback handler",
  41. stop = function()
  42. minetestd.playerctl.steps["kill_callback"] = nil
  43. minetestd.services["kill_callback"].enabled = false
  44. end,
  45. start = function()
  46. dofile(minetestd.modpath.."/services/kill_callback.lua")
  47. minetestd.services["kill_callback"].enabled = true
  48. return true
  49. end,
  50. depends = {playerctl=true}
  51. })
  52. minetestd.register_service("extras", {
  53. description = "Extra utilities and functions",
  54. start = function()
  55. dofile(minetestd.modpath.."/services/extras.lua")
  56. return true
  57. end,
  58. })
  59. minetestd.register_service("physicsctl", {
  60. description = "Player Physics Daemon (physicsctl)",
  61. stop = function()
  62. minetestd.services["physicsctl"].enabled = false
  63. minetestd.playerctl.steps["physicsctl"] = nil
  64. for _,player in pairs(minetest.get_connected_players()) do
  65. player:set_physics_override({gravity=1,speed=1,jump=1})
  66. end
  67. end,
  68. start = function()
  69. dofile(minetestd.modpath.."/services/physicsctl.lua")
  70. return true
  71. end,
  72. depends = {playerctl=true}
  73. })
  74. minetestd.register_service("gravityctl", {
  75. description = "Dummy service for deprecated gravityctl system",
  76. start = function() minetestd.services["gravityctl"].enabled = true; return true end,
  77. stop = function() minetestd.services["gravityctl"].enabled = false end,
  78. depends = {physicsctl=true},
  79. })