init.lua 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. local board_parts = {
  2. {"1","[colorize:red:200","mys_n_l_1.png",""},
  3. {"2","[colorize:blue:200","mys_n_l_2.png",""},
  4. {"3","[colorize:yellow:200","mys_n_l_3.png","mys_n_l_stail.png"},
  5. {"4","[colorize:green:200","mys_n_l_4.png",""},
  6. {"5","[colorize:red:200","mys_n_l_5.png",""},
  7. {"6","[colorize:blue:200","mys_n_l_6.png",""},
  8. {"7","[colorize:yellow:200","mys_n_l_7.png","mys_n_l_ladbot.png"},
  9. {"8","[colorize:green:200","mys_n_l_8.png",""},
  10. {"9","[colorize:red:200","mys_n_l_9.png",""},
  11. {"10","[colorize:blue:200","mys_n_l_1.png^mys_n_l_10.png","mys_n_l_smid.png"},
  12. {"11","[colorize:yellow:200","mys_n_l_1.png^mys_n_l_11.png","mys_n_l_ladbot.png"},
  13. {"12","[colorize:green:200","mys_n_l_1.png^mys_n_l_12.png",""},
  14. {"13","[colorize:red:200","mys_n_l_1.png^mys_n_l_13.png",""},
  15. {"14","[colorize:blue:200","mys_n_l_1.png^mys_n_l_14.png","mys_n_l_ladmid.png"},
  16. {"15","[colorize:yellow:200","mys_n_l_1.png^mys_n_l_15.png","mys_n_l_shead.png"},
  17. {"16","[colorize:green:200","mys_n_l_1.png^mys_n_l_16.png",""},
  18. {"17","[colorize:red:200","mys_n_l_1.png^mys_n_l_17.png","mys_n_l_stail.png"},
  19. {"18","[colorize:blue:200","mys_n_l_1.png^mys_n_l_18.png","mys_n_l_ladtop.png"},
  20. {"19","[colorize:yellow:200","mys_n_l_1.png^mys_n_l_19.png",""},
  21. {"20","[colorize:green:200","mys_n_l_2.png^mys_n_l_10.png","mys_n_l_smid.png"},
  22. {"21","[colorize:red:200","mys_n_l_2.png^mys_n_l_11.png",""},
  23. {"22","[colorize:blue:200","mys_n_l_2.png^mys_n_l_12.png",""},
  24. {"23","[colorize:yellow:200","mys_n_l_2.png^mys_n_l_13.png","mys_n_l_ladtop.png"},
  25. {"24","[colorize:green:200","mys_n_l_2.png^mys_n_l_14.png",""},
  26. {"25","[colorize:red:200","mys_n_l_2.png^mys_n_l_15.png",""},
  27. {"26","[colorize:blue:200","mys_n_l_2.png^mys_n_l_16.png","mys_n_l_ladbot.png"},
  28. {"27","[colorize:yellow:200","mys_n_l_2.png^mys_n_l_17.png","mys_n_l_stail.png"},
  29. {"28","[colorize:green:200","mys_n_l_2.png^mys_n_l_18.png",""},
  30. {"29","[colorize:red:200","mys_n_l_2.png^mys_n_l_19.png","mys_n_l_shead.png"},
  31. {"30","[colorize:blue:200","mys_n_l_3.png^mys_n_l_10.png",""},
  32. {"31","[colorize:red:200","mys_n_l_3.png^mys_n_l_11.png",""},
  33. {"32","[colorize:blue:200","mys_n_l_3.png^mys_n_l_12.png",""},
  34. {"33","[colorize:yellow:200","mys_n_l_3.png^mys_n_l_13.png",""},
  35. {"34","[colorize:green:200","mys_n_l_3.png^mys_n_l_14.png","mys_n_l_shead.png"},
  36. {"35","[colorize:red:200","mys_n_l_3.png^mys_n_l_15.png","mys_n_l_ladtop.png"},
  37. {"36","[colorize:blue:200","mys_n_l_3.png^mys_n_l_16.png",""},
  38. }
  39. for i in ipairs(board_parts) do
  40. local num = board_parts[i][1]
  41. local col = board_parts[i][2]
  42. local number = board_parts[i][3]
  43. local sorl = board_parts[i][4]
  44. minetest.register_node("mys_n_l_mini:board_block"..num,{
  45. description = "Block "..num,
  46. tiles = {
  47. "mys_n_l_base.png^"..col.."^mys_n_l_edge.png^"..sorl.."^"..number,
  48. "mys_n_l_base.png^"..col.."mys_n_l_edge.png",
  49. "mys_n_l_base.png^"..col.."mys_n_l_edge.png",
  50. "mys_n_l_base.png^"..col.."mys_n_l_edge.png",
  51. "mys_n_l_base.png^"..col.."mys_n_l_edge.png",
  52. "mys_n_l_base.png^"..col.."mys_n_l_edge.png"
  53. },
  54. drawtype = "normal",
  55. paramtype = "light",
  56. paramtype2 = "facedir",
  57. groups = {cracky=1,not_in_creative_inventory = 1},
  58. })
  59. end
  60. minetest.register_node("mys_n_l_mini:placer",{
  61. description = "Snakes and Ladders Mini",
  62. inventory_image = "mys_n_l_mini_inv.png",
  63. wield_image = "mys_n_l_mini_inv.png",
  64. tiles = {
  65. "mys_n_l_base.png^mys_n_l_ladmid.png^mys_n_l_edgem.png"
  66. },
  67. drawtype = "normal",
  68. paramtype = "light",
  69. paramtype2 = "facedir",
  70. groups = {cracky=3},
  71. on_rightclick = function(pos, node, player, itemstack, pointed_thing)
  72. local schem = minetest.get_modpath("mys_n_l_mini").."/schems/mys_n_l_mini.mts"
  73. minetest.place_schematic({x=pos.x,y=pos.y,z=pos.z},schem,0, "air", true)
  74. end,
  75. after_place_node = function(pos, placer, itemstack, pointed_thing)
  76. if placer and minetest.check_player_privs(placer:get_player_name(), {myboardgames = true}) then
  77. else
  78. minetest.remove_node(pos)
  79. return true
  80. end
  81. end,
  82. })
  83. local pieces = {
  84. {"Red","red","^[colorize:red:120"},
  85. {"Green","green","^[colorize:green:120"},
  86. {"Yellow","yellow","^[colorize:yellow:120"},
  87. {"Blue","blue","^[colorize:blue:120"},
  88. }
  89. for i in ipairs (pieces) do
  90. local desc = pieces[i][1]
  91. local item = pieces[i][2]
  92. local col = pieces[i][3]
  93. minetest.register_node("mys_n_l_mini:"..item,{
  94. description = desc.." Player",
  95. tiles = {"default_gravel.png"..col},
  96. drawtype = "nodebox",
  97. paramtype = "light",
  98. light_source = 11,
  99. groups = {cracky = 1, dig_immediate=3, not_in_creative_inventory=1},
  100. node_box = {
  101. type = "fixed",
  102. fixed = {
  103. {-0.3125, -0.5, -0.3125, 0.3125, -0.3125, 0.3125},
  104. {-0.125, -0.3125, -0.125, 0.125, 0.125, 0.125},
  105. {-0.1875, 0.125, -0.1875, 0.1875, 0.3125, 0.1875},
  106. }
  107. }
  108. })
  109. end
  110. dofile(minetest.get_modpath("mys_n_l_mini").."/dice.lua")