init.lua 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. wormball = {}
  2. wormball.HUD = {}
  3. dofile(minetest.get_modpath("wormball") .. "/globals.lua")
  4. arena_lib.register_minigame("wormball", {
  5. prefix = "[Wormball] ",
  6. --hub_spawn_point = { x = 0, y = 20, z = 0 },
  7. show_minimap = false,
  8. time_mode = 'incremental',
  9. load_time = 5,
  10. min_players = 1,
  11. max_players = 10,
  12. join_while_in_progress = false,
  13. keep_inventory = false,
  14. in_game_physics = {
  15. speed = 1,
  16. jump = 1,
  17. sneak = false,
  18. gravity = 1,
  19. },
  20. spectate_mode = true,
  21. show_nametags = false,
  22. hotbar = {
  23. slots = 1,
  24. },
  25. celebration_time = 10,
  26. disabled_damage_types = {"punch","fall"},
  27. properties = {
  28. area_to_clear_after_game_pos_1 = {x = 0, y = 0, z = 0},
  29. area_to_clear_after_game_pos_2 = {x = 0, y = 0, z = 0},
  30. min_food_factor = 2,
  31. min_food = 20,
  32. singleplayer_leaderboard = {},
  33. multi_scores = {},
  34. -- highscores = {
  35. -- {'pl_name_placeholder',0},
  36. -- {'pl_name_placeholder',0},
  37. -- {'pl_name_placeholder',0},
  38. -- {'pl_name_placeholder',0},
  39. -- {'pl_name_placeholder',0},
  40. -- {'pl_name_placeholder',0},
  41. -- {'pl_name_placeholder',0},
  42. -- {'pl_name_placeholder',0},
  43. -- {'pl_name_placeholder',0},
  44. -- {'pl_name_placeholder',0},
  45. -- },
  46. },
  47. temp_properties = {
  48. mode = 'singleplayer',
  49. dots = {},
  50. num_players = 0,
  51. time_to_next_elim = 60,
  52. elims = 0,
  53. },
  54. initial_time = 300,
  55. player_properties = {
  56. alive = true,
  57. direction = {x=0,y=1,z=0},
  58. old_direction = {x=0,y=1,z=0},
  59. nodes = {},
  60. score = 1,
  61. color = "",
  62. --apple = false,
  63. --textures= {},
  64. move = true,
  65. attached = false,
  66. eliminated = false,
  67. },
  68. })
  69. if not minetest.get_modpath("lib_chatcmdbuilder") then
  70. dofile(minetest.get_modpath("wormball") .. "/chatcmdbuilder.lua")
  71. end
  72. dofile(minetest.get_modpath("wormball") .. "/editor.lua")
  73. dofile(minetest.get_modpath("wormball") .. "/commands.lua")
  74. --nodes includes the attachment entity, also there are creative decorative worm body parts for decorating minigame hubs
  75. dofile(minetest.get_modpath("wormball") .. "/nodes.lua")
  76. dofile(minetest.get_modpath("wormball") .. "/privs.lua")
  77. --minigame_manager simply runs all the files in the folder minigame_manager
  78. dofile(minetest.get_modpath("wormball") .. "/minigame_manager.lua")
  79. -- get highscores from storage if found
  80. -- it doesnt seem to work for some reason
  81. -- you will have to play one game before scores are available.
  82. if arena_lib.mods and arena_lib.mods["wormball"] and arena_lib.mods["wormball"].arenas and # arena_lib.mods["wormball"].arenas > 0 then
  83. for arena_name, arena_stats in pairs(arena_lib.mods["wormball"].arenas) do
  84. if wormball.storage:get_string(arena_name .. "_highscores") then
  85. local wormball_highscores = wormball.storage:get_string(arena_name .. "_highscores")
  86. local leaderboard = {}
  87. if wormball_highscores then leaderboard = minetest.deserialize( wormball_highscores ) end
  88. arena_lib.mods["wormball"].arenas.singleplayer_leaderboard = leaderboard
  89. end
  90. end
  91. end