init.lua 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. conifer = {}
  2. minetest.register_alias("mapgen_pine_tree", "conifer:tree")
  3. minetest.register_alias("mapgen_pine_needles", "conifer:leaves_1")
  4. --
  5. -- Nodes
  6. --
  7. minetest.register_node("conifer:sapling", {
  8. description = "Conifer Sapling",
  9. drawtype = "plantlike",
  10. visual_scale = 1.0,
  11. tiles = {"conifer_sapling.png"},
  12. inventory_image = "conifer_sapling.png",
  13. wield_image = "conifer_sapling.png",
  14. paramtype = "light",
  15. sunlight_propagates = true,
  16. walkable = false,
  17. buildable_to = true,
  18. floodable = true,
  19. on_timer = function(pos)
  20. conifer.grow_conifersapling(pos)
  21. end,
  22. selection_box = {
  23. type = "fixed",
  24. fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3}
  25. },
  26. groups = {snappy=2, dig_immediate=3, sapling=1, flammable=2, falling_node=1},
  27. sounds = default.node_sound_leaves_defaults(),
  28. on_construct = function(pos)
  29. minetest.get_node_timer(pos):start(math.random(600, 9600))
  30. end,
  31. })
  32. minetest.register_alias("conifers:sapling", "conifer:sapling")
  33. minetest.register_alias("nodetest:conifersapling", "conifer:sapling")
  34. minetest.register_node("conifer:tree", {
  35. description = "Conifer Tree",
  36. tiles = {"conifer_tree_top.png", "conifer_tree_top.png", "conifer_tree.png"},
  37. groups = {tree=1, choppy=2, flammable=1},
  38. sounds = default.node_sound_wood_defaults(),
  39. })
  40. minetest.register_alias("conifers:trunk", "conifer:tree")
  41. minetest.register_alias("nodetest:conifertree", "conifer:tree")
  42. for i=1,2 do
  43. minetest.register_node("conifer:leaves_"..i, {
  44. description = "Conifer Leaves",
  45. drawtype = "allfaces_optional",
  46. visual_scale = 1.3,
  47. tiles = {"conifer_leaves_"..i..".png"},
  48. paramtype = "light",
  49. waving = 1,
  50. trunk = "conifer:tree",
  51. groups = {
  52. snappy=3,
  53. leafdecay=4,
  54. flammable=2,
  55. leaves=1,
  56. fall_damage_add_percent=default.COUSHION
  57. },
  58. drop = {
  59. max_items = 1,
  60. items = {
  61. {
  62. -- player will get sapling with 1/rarity chance
  63. items = {'conifer:sapling'},
  64. rarity = 40,
  65. },
  66. {
  67. -- player will get leaves only if he get no saplings,
  68. -- this is because max_items is 1
  69. items = {"conifer:leaves_"..i..""},
  70. }
  71. }
  72. },
  73. sounds = default.node_sound_leaves_defaults(),
  74. })
  75. minetest.register_alias("nodetest:coniferleaves_"..i, "conifer:leaves_"..i)
  76. end
  77. minetest.register_alias("conifers:leaves", "conifer:leaves_1")
  78. minetest.register_alias("conifers:leaves_special", "conifer:leaves_2")
  79. minetest.register_node("conifer:tree_horizontal", {
  80. description = "Conifer Tree",
  81. tiles = {
  82. "conifer_tree.png",
  83. "conifer_tree.png",
  84. "conifer_tree.png^[transformR90",
  85. "conifer_tree.png^[transformR90",
  86. "conifer_tree_top.png",
  87. "conifer_tree_top.png"
  88. },
  89. paramtype2 = "facedir",
  90. groups = {tree_horizontal=1, choppy=2, flammable=1},
  91. melt = "default:coal_block",
  92. sounds = default.node_sound_wood_defaults(),
  93. on_construct = function(pos)
  94. default.rotate_horizontal(pos)
  95. end,
  96. })
  97. minetest.register_alias("conifers:trunk_reversed", "conifer:tree_horizontal")
  98. minetest.register_alias("nodetest:conifertree_horizontal", "conifer:tree_horizontal")
  99. --
  100. -- Crafting definition
  101. --
  102. minetest.register_craft({
  103. output = 'conifer:tree_horizontal 2',
  104. recipe = {
  105. {'', 'conifer:tree'},
  106. {'conifer:tree', ''},
  107. }
  108. })
  109. minetest.register_craft({
  110. output = 'conifer:tree 2',
  111. recipe = {
  112. {'', 'conifer:tree_horizontal'},
  113. {'conifer:tree_horizontal', ''},
  114. }
  115. })
  116. dofile(minetest.get_modpath("conifer").."/trees.lua")