moretrees.lua 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. local slope_cbox = {
  2. type = "fixed",
  3. fixed = {
  4. {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5},
  5. {-0.5, -0.25, -0.25, 0.5, 0, 0.5},
  6. {-0.5, 0, 0, 0.5, 0.25, 0.5},
  7. {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}
  8. }
  9. }
  10. local icorner_cbox = {
  11. type = "fixed",
  12. fixed = {
  13. {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, -- NodeBox5
  14. {-0.5, -0.5, -0.25, 0.5, 0, 0.5}, -- NodeBox6
  15. {-0.5, -0.5, -0.5, 0.25, 0, 0.5}, -- NodeBox7
  16. {-0.5, 0, -0.5, 0, 0.25, 0.5}, -- NodeBox8
  17. {-0.5, 0, 0, 0.5, 0.25, 0.5}, -- NodeBox9
  18. {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}, -- NodeBox10
  19. {-0.5, 0.25, -0.5, -0.25, 0.5, 0.5}, -- NodeBox11
  20. }
  21. }
  22. local ocorner_cbox = {
  23. type = "fixed",
  24. fixed = {
  25. {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5},
  26. {-0.5, -0.25, -0.25, 0.25, 0, 0.5},
  27. {-0.5, 0, 0, 0, 0.25, 0.5},
  28. {-0.5, 0.25, 0.25, -0.25, 0.5, 0.5}
  29. }
  30. }
  31. local moretrees_slopes = { --Material , Description , Item, Image
  32. { "apple" , "Apple Plank" , "moretrees:apple_planks", "apple_tree"},
  33. {"beech", "Beech Plank", "moretrees:beech_planks", "beech"},
  34. {"oak", "Oak Plank", "moretrees:oak_planks", "oak"},
  35. {"sequoia", "Giant Sequoia Plank", "moretrees:sequoia_planks", "sequoia"},
  36. {"birch", "Birch Plank", "moretrees:birch_planks", "birch"},
  37. {"palm", "Palm Plank", "moretrees:palm_planks", "palm"},
  38. {"spruce", "Spruce Plank", "moretrees:spruce_planks", "spruce"},
  39. {"willow", "Willow Plank", "moretrees:willow_planks", "willow"},
  40. {"rubber", "Rubber Plank", "moretrees:rubber_tree_planks","rubber_tree"},
  41. {"fir", "Douglas Fir Plank", "moretrees:fir_planks", "fir"},
  42. }
  43. for i in ipairs(moretrees_slopes) do
  44. local mat = moretrees_slopes[i][1]
  45. local desc = moretrees_slopes[i][2]
  46. local item = moretrees_slopes[i][3]
  47. local img = moretrees_slopes[i][4]
  48. --slope
  49. minetest.register_node("mywoodslopes:"..mat.."_slope", {
  50. description = desc.." Slope",
  51. drawtype = "mesh",
  52. mesh = "twelve-twelve.obj",
  53. tiles = {"moretrees_"..img.."_wood.png"},
  54. paramtype = "light",
  55. paramtype2 = "facedir",
  56. groups = {choppy=2, oddly_breakable_by_hand=2, flammable=3},
  57. sounds = default.node_sound_wood_defaults(),
  58. on_place = minetest.rotate_node,
  59. collision_box = slope_cbox,
  60. selection_box = slope_cbox
  61. })
  62. --icorner
  63. minetest.register_node("mywoodslopes:"..mat.."_icorner", {
  64. description = desc.." Slope Inside Corner",
  65. drawtype = "mesh",
  66. mesh = "twelve-twelve-ic.obj",
  67. tiles = {"moretrees_"..img.."_wood.png"},
  68. paramtype = "light",
  69. paramtype2 = "facedir",
  70. groups = {choppy=2, oddly_breakable_by_hand=2, flammable=3},
  71. sounds = default.node_sound_wood_defaults(),
  72. on_place = minetest.rotate_node,
  73. collision_box = icorner_cbox,
  74. selection_box = icorner_cbox
  75. })
  76. --ocorner
  77. minetest.register_node("mywoodslopes:"..mat.."_ocorner", {
  78. description = desc.." Slope Outside Corner",
  79. drawtype = "mesh",
  80. mesh = "twelve-twelve-oc.obj",
  81. tiles = {"moretrees_"..img.."_wood.png"},
  82. paramtype = "light",
  83. paramtype2 = "facedir",
  84. groups = {choppy=2, oddly_breakable_by_hand=2, flammable=3},
  85. sounds = default.node_sound_wood_defaults(),
  86. on_place = minetest.rotate_node,
  87. collision_box = ocorner_cbox,
  88. selection_box = ocorner_cbox
  89. })
  90. --rotated---------------------------------------------------------------
  91. --slope
  92. minetest.register_node("mywoodslopes:"..mat.."_slope_r", {
  93. description = desc.." Slope Rotated",
  94. drawtype = "mesh",
  95. mesh = "twelve-twelve.obj",
  96. tiles = {"moretrees_"..img.."_wood.png^[transformR90"},
  97. paramtype = "light",
  98. paramtype2 = "facedir",
  99. groups = {choppy=2, oddly_breakable_by_hand=2, flammable=3},
  100. sounds = default.node_sound_wood_defaults(),
  101. on_place = minetest.rotate_node,
  102. collision_box = slope_cbox,
  103. selection_box = slope_cbox
  104. })
  105. --icorner
  106. minetest.register_node("mywoodslopes:"..mat.."_icorner_r", {
  107. description = desc.." Slope Inside Corner Rotate",
  108. drawtype = "mesh",
  109. mesh = "twelve-twelve-ic.obj",
  110. tiles = {"moretrees_"..img.."_wood.png^[transformR90"},
  111. paramtype = "light",
  112. paramtype2 = "facedir",
  113. groups = {choppy=2, oddly_breakable_by_hand=2, flammable=3},
  114. sounds = default.node_sound_wood_defaults(),
  115. on_place = minetest.rotate_node,
  116. collision_box = icorner_cbox,
  117. selection_box = icorner_cbox
  118. })
  119. --ocorner
  120. minetest.register_node("mywoodslopes:"..mat.."_ocorner_r", {
  121. description = desc.." Slope Outside Corner Rotated",
  122. drawtype = "mesh",
  123. mesh = "twelve-twelve-oc.obj",
  124. tiles = {"moretrees_"..img.."_wood.png^[transformR90"},
  125. paramtype = "light",
  126. paramtype2 = "facedir",
  127. groups = {choppy=2, oddly_breakable_by_hand=2, flammable=3},
  128. sounds = default.node_sound_wood_defaults(),
  129. on_place = minetest.rotate_node,
  130. collision_box = ocorner_cbox,
  131. selection_box = ocorner_cbox
  132. })
  133. --Crafts--------------------------------------------------------
  134. --slope
  135. minetest.register_craft({
  136. output = "mywoodslopes:"..mat.."_slope 3",
  137. recipe = {
  138. {"", "",""},
  139. {item, "",""},
  140. {item, item,""},
  141. }
  142. })
  143. --slope icorner
  144. minetest.register_craft({
  145. output = "mywoodslopes:"..mat.."_icorner 3",
  146. recipe = {
  147. {"", "",""},
  148. {"", item,""},
  149. {item,"", item},
  150. }
  151. })
  152. --slope ocorner
  153. minetest.register_craft({
  154. output = "mywoodslopes:"..mat.."_ocorner 3",
  155. recipe = {
  156. {"", "",""},
  157. {item, "",item},
  158. {"", item,""},
  159. }
  160. })
  161. --rotated-----------------------------------------------
  162. --slope
  163. minetest.register_craft({
  164. output = "mywoodslopes:"..mat.."_slope_r 1",
  165. recipe = {
  166. {"", "",""},
  167. {"", "mywoodslopes:"..mat.."_slope",""},
  168. {"", "",""},
  169. }
  170. })
  171. --slope icorner
  172. minetest.register_craft({
  173. output = "mywoodslopes:"..mat.."_icorner_r 1",
  174. recipe = {
  175. {"", "",""},
  176. {"", "mywoodslopes:"..mat.."_icorner",""},
  177. {"", "",""},
  178. }
  179. })
  180. --slope ocorner
  181. minetest.register_craft({
  182. output = "mywoodslopes:"..mat.."_ocorner_r 1",
  183. recipe = {
  184. {"", "",""},
  185. {"", "mywoodslopes:"..mat.."_ocorner",""},
  186. {"", "",""},
  187. }
  188. })
  189. --]]
  190. end