init.lua 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. -- Rainbow_Ore Test Mod ----------- Copyright Robin Kuhn 2015
  2. --Check for mods
  3. if minetest.get_modpath("3d_armor") then
  4. dofile(minetest.get_modpath("rainbow_ore").."/rainbow_armor.lua")
  5. end
  6. if minetest.get_modpath("shields") then
  7. dofile(minetest.get_modpath("rainbow_ore").."/rainbow_shield.lua")
  8. end
  9. -- Define Rainbow_Ore_Block node
  10. minetest.register_node("rainbow_ore:rainbow_ore_block", {
  11. description = "Rainbow Ore",
  12. tile_images = {"rainbow_ore_block.png"},
  13. groups = {stone=2, cracky=3},
  14. drop = "rainbow_ore:rainbow_ore_block",
  15. is_ground_content = true,
  16. })
  17. --Define Rainbow_Ore_Ingot node
  18. minetest.register_craftitem("rainbow_ore:rainbow_ore_ingot", {
  19. description = "Rainbow Ore Ingot",
  20. inventory_image = "rainbow_ore_ingot.png",
  21. })
  22. --Define Rainbow_Ore Smelt Recipe
  23. minetest.register_craft({
  24. type = "cooking",
  25. output = "rainbow_ore:rainbow_ore_ingot",
  26. recipe = "rainbow_ore:rainbow_ore_block",
  27. cooktime = 10,
  28. })
  29. --Register Rainbow Pickaxe
  30. minetest.register_tool("rainbow_ore:rainbow_ore_pickaxe", {
  31. description = "Rainbow Pickaxe",
  32. inventory_image = "rainbow_ore_pickaxe.png",
  33. tool_capabilities = {
  34. full_punch_interval = 0.9,
  35. max_drop_level=3,
  36. groupcaps={
  37. cracky = {times={[1]=1.0, [2]=0.5, [3]=0.25}, uses=15, maxlevel=3},
  38. },
  39. damage_groups = {fleshy=5},
  40. },
  41. })
  42. --Define Rainbow_Ore_Pickaxe crafting recipe
  43. minetest.register_craft({
  44. output = "rainbow_ore:rainbow_ore_pickaxe",
  45. recipe = {
  46. {"rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot", ""},
  47. {"", "default:stick", "", ""},
  48. {"", "default:stick", "", ""}
  49. }
  50. })
  51. --Register Rainbow Axe
  52. minetest.register_tool("rainbow_ore:rainbow_ore_axe", {
  53. description = "Rainbow Axe",
  54. inventory_image = "rainbow_ore_axe.png",
  55. tool_capabilities = {
  56. full_punch_interval = 0.9,
  57. max_drop_level=3,
  58. groupcaps={
  59. choppy={times={[1]=1.05, [2]=0.45, [3]=0.25}, uses=15, maxlevel=3},
  60. },
  61. damage_groups = {fleshy=7},
  62. }
  63. })
  64. --Define Rainbow Axe crafting recipe
  65. minetest.register_craft({
  66. output = "rainbow_ore:rainbow_ore_axe",
  67. recipe = {
  68. {"rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot", "", ""},
  69. {"rainbow_ore:rainbow_ore_ingot", "default:stick", "", ""},
  70. {"", "default:stick", "", ""}
  71. }
  72. })
  73. minetest.register_craft({
  74. output = "rainbow_ore:rainbow_ore_axe",
  75. recipe = {
  76. {"", "rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot", ""},
  77. {"", "default:stick", "rainbow_ore:rainbow_ore_ingot", ""},
  78. {"", "default:stick", "", ""}
  79. }
  80. })
  81. --Register Rainbow shovel
  82. minetest.register_tool("rainbow_ore:rainbow_ore_shovel", {
  83. description = "Rainbow Shovel",
  84. inventory_image = "rainbow_ore_shovel.png",
  85. wield_image = "rainbow_ore_shovel.png^[transformR90",
  86. tool_capabilities = {
  87. full_punch_interval = 1.0,
  88. max_drop_level=3,
  89. groupcaps={
  90. crumbly = {times={[1]=0.55, [2]=0.25, [3]=0.15}, uses=15, maxlevel=3},
  91. },
  92. damage_groups = {fleshy=4},
  93. },
  94. })
  95. --Define Rainbow shovel crafting recipe
  96. minetest.register_craft({
  97. output = "rainbow_ore:rainbow_ore_shovel",
  98. recipe = {
  99. {"", "rainbow_ore:rainbow_ore_ingot", "", ""},
  100. {"", "default:stick", "", ""},
  101. {"", "default:stick", "", ""}
  102. }
  103. })
  104. --Register Rainbow sword
  105. minetest.register_tool("rainbow_ore:rainbow_ore_sword", {
  106. description = "Rainbow Sword",
  107. inventory_image = "rainbow_ore_sword.png",
  108. tool_capabilities = {
  109. full_punch_interval = 0.7,
  110. max_drop_level=3,
  111. groupcaps={
  112. snappy={times={[1]=0.95, [2]=0.45, [3]=0.15}, uses=20, maxlevel=3},
  113. },
  114. damage_groups = {fleshy=8},
  115. }
  116. })
  117. --Define Rainbow sword crafting recipe
  118. minetest.register_craft({
  119. output = "rainbow_ore:rainbow_ore_sword",
  120. recipe = {
  121. {"", "rainbow_ore:rainbow_ore_ingot", "", ""},
  122. {"", "rainbow_ore:rainbow_ore_ingot", "", ""},
  123. {"", "default:stick", "", ""}
  124. }
  125. })
  126. --Define MooGNU Rainbow crafting recipe
  127. minetest.register_craft({
  128. output = "moognu:moognu_rainbow",
  129. recipe = {
  130. {"rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot"},
  131. {"rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot"},
  132. {"rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot", "rainbow_ore:rainbow_ore_ingot"}
  133. }
  134. })
  135. --Make Rainbow Ore spawn
  136. minetest.register_ore({
  137. ore_type = "scatter",
  138. ore = "rainbow_ore:rainbow_ore_block",
  139. wherein = "default:stone",
  140. clust_scarcity = 128*128*128,
  141. clust_num_ores = 3,
  142. clust_size = 3,
  143. height_min = -31000,
  144. height_max = -4000,
  145. })
  146. -- Add [toolranks] mod support if found
  147. if minetest.get_modpath("toolranks") then
  148. -- Helper function
  149. local function add_tool(name, desc, afteruse)
  150. minetest.override_item(name, {
  151. original_description = desc,
  152. description = toolranks.create_description(desc, 0, 1),
  153. after_use = afteruse and toolranks.new_afteruse
  154. })
  155. end
  156. add_tool("rainbow_ore:rainbow_ore_pickaxe", "Rainbow Pickaxe", true)
  157. add_tool("rainbow_ore:rainbow_ore_axe", "Rainbow Axe", true)
  158. add_tool("rainbow_ore:rainbow_ore_shovel", "Rainbow Shovel", true)
  159. add_tool("rainbow_ore:rainbow_ore_sword", "Rainbow Sword", true)
  160. end