wheat.lua 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. local S = farming.translate
  2. local a = farming.recipe_items
  3. -- wheat seeds
  4. minetest.register_node("farming:seed_wheat", {
  5. description = S("Wheat Seed"),
  6. tiles = {"farming_wheat_seed.png"},
  7. inventory_image = "farming_wheat_seed.png",
  8. wield_image = "farming_wheat_seed.png",
  9. drawtype = "signlike",
  10. groups = {
  11. handy = 1, seed = 1, snappy = 3, attached_node = 1, flammable = 4, growing = 1
  12. },
  13. paramtype = "light",
  14. paramtype2 = "wallmounted",
  15. walkable = false,
  16. sunlight_propagates = true,
  17. selection_box = farming.select,
  18. next_plant = "farming:wheat_1",
  19. on_place = function(itemstack, placer, pointed_thing)
  20. return farming.place_seed(itemstack, placer, pointed_thing, "farming:seed_wheat")
  21. end,
  22. on_timer = function(pos, elapsed)
  23. minetest.set_node(pos, {name = "farming:wheat_1", param2 = 3})
  24. end
  25. })
  26. -- harvested wheat
  27. minetest.register_craftitem("farming:wheat", {
  28. description = S("Wheat"),
  29. inventory_image = "farming_wheat.png",
  30. groups = {food_wheat = 1, flammable = 4}
  31. })
  32. -- straw
  33. minetest.register_node("farming:straw", {
  34. description = S("Straw"),
  35. tiles = {"farming_straw.png"},
  36. is_ground_content = false,
  37. groups = {snappy = 3, flammable = 4, fall_damage_add_percent = -30},
  38. sounds = farming.sounds.node_sound_leaves_defaults()
  39. })
  40. minetest.register_craft({
  41. output = "farming:straw 3",
  42. recipe = {
  43. {"farming:wheat", "farming:wheat", "farming:wheat"},
  44. {"farming:wheat", "farming:wheat", "farming:wheat"},
  45. {"farming:wheat", "farming:wheat", "farming:wheat"}
  46. }
  47. })
  48. minetest.register_craft({
  49. output = "farming:wheat 3",
  50. recipe = {{"farming:straw"}}
  51. })
  52. -- check and register stairs
  53. if minetest.global_exists("stairs") then
  54. if stairs.mod and stairs.mod == "redo" then
  55. stairs.register_all("straw", "farming:straw",
  56. {snappy = 3, flammable = 4},
  57. {"farming_straw.png"},
  58. "Straw",
  59. farming.sounds.node_sound_leaves_defaults())
  60. else
  61. stairs.register_stair_and_slab("straw", "farming:straw",
  62. {snappy = 3, flammable = 4},
  63. {"farming_straw.png"},
  64. "Straw Stair",
  65. "Straw Slab",
  66. farming.sounds.node_sound_leaves_defaults())
  67. end
  68. end
  69. -- flour
  70. minetest.register_craftitem("farming:flour", {
  71. description = S("Flour"),
  72. inventory_image = "farming_flour.png",
  73. groups = {food_flour = 1, flammable = 1}
  74. })
  75. minetest.register_craft({
  76. output = "farming:flour",
  77. recipe = {
  78. {"farming:wheat", "farming:wheat", "farming:wheat"},
  79. {"farming:wheat", a.mortar_pestle, ""}
  80. },
  81. replacements = {{"group:food_mortar_pestle", "farming:mortar_pestle"}}
  82. })
  83. -- bread
  84. minetest.register_craftitem("farming:bread", {
  85. description = S("Bread"),
  86. inventory_image = "farming_bread.png",
  87. on_use = minetest.item_eat(5),
  88. groups = {food_bread = 1, flammable = 2}
  89. })
  90. minetest.register_craft({
  91. type = "cooking",
  92. cooktime = 15,
  93. output = "farming:bread",
  94. recipe = "farming:flour"
  95. })
  96. -- wheat definition
  97. local def = {
  98. drawtype = "plantlike",
  99. tiles = {"farming_wheat_1.png"},
  100. paramtype = "light",
  101. paramtype2 = "meshoptions",
  102. place_param2 = 3,
  103. sunlight_propagates = true,
  104. walkable = false,
  105. buildable_to = true,
  106. drop = "",
  107. waving = 1,
  108. selection_box = farming.select,
  109. groups = {
  110. snappy = 3, flammable = 4, plant = 1, attached_node = 1,
  111. not_in_creative_inventory = 1, growing = 1
  112. },
  113. sounds = farming.sounds.node_sound_leaves_defaults()
  114. }
  115. -- stage 1
  116. minetest.register_node("farming:wheat_1", table.copy(def))
  117. -- stage 2
  118. def.tiles = {"farming_wheat_2.png"}
  119. minetest.register_node("farming:wheat_2", table.copy(def))
  120. -- stage 3
  121. def.tiles = {"farming_wheat_3.png"}
  122. minetest.register_node("farming:wheat_3", table.copy(def))
  123. -- stage 4
  124. def.tiles = {"farming_wheat_4.png"}
  125. minetest.register_node("farming:wheat_4", table.copy(def))
  126. -- stage 5
  127. def.tiles = {"farming_wheat_5.png"}
  128. def.drop = {
  129. items = {
  130. {items = {"farming:wheat"}, rarity = 2},
  131. {items = {"farming:seed_wheat"}, rarity = 2}
  132. }
  133. }
  134. minetest.register_node("farming:wheat_5", table.copy(def))
  135. -- stage 6
  136. def.tiles = {"farming_wheat_6.png"}
  137. def.drop = {
  138. items = {
  139. {items = {"farming:wheat"}, rarity = 2},
  140. {items = {"farming:seed_wheat"}, rarity = 1}
  141. }
  142. }
  143. minetest.register_node("farming:wheat_6", table.copy(def))
  144. -- stage 7
  145. def.tiles = {"farming_wheat_7.png"}
  146. def.drop = {
  147. items = {
  148. {items = {"farming:wheat"}, rarity = 1},
  149. {items = {"farming:wheat"}, rarity = 3},
  150. {items = {"farming:seed_wheat"}, rarity = 1},
  151. {items = {"farming:seed_wheat"}, rarity = 3}
  152. }
  153. }
  154. minetest.register_node("farming:wheat_7", table.copy(def))
  155. -- stage 8 (final)
  156. def.tiles = {"farming_wheat_8.png"}
  157. def.groups.growing = nil
  158. def.selection_box = farming.select_final
  159. def.drop = {
  160. items = {
  161. {items = {"farming:wheat"}, rarity = 1},
  162. {items = {"farming:wheat"}, rarity = 3},
  163. {items = {"farming:seed_wheat"}, rarity = 1},
  164. {items = {"farming:seed_wheat"}, rarity = 3}
  165. }
  166. }
  167. minetest.register_node("farming:wheat_8", table.copy(def))
  168. -- add to registered_plants
  169. farming.registered_plants["farming:wheat"] = {
  170. crop = "farming:wheat",
  171. seed = "farming:seed_wheat",
  172. minlight = farming.min_light,
  173. maxlight = farming.max_light,
  174. steps = 8
  175. }
  176. -- fuels
  177. minetest.register_craft({
  178. type = "fuel",
  179. recipe = "farming:straw",
  180. burntime = 3
  181. })
  182. minetest.register_craft({
  183. type = "fuel",
  184. recipe = "farming:wheat",
  185. burntime = 1
  186. })