carrot.lua 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. --[[
  2. Original textures from PixelBox texture pack
  3. https://forum.minetest.net/viewtopic.php?id=4990
  4. ]]
  5. local S = farming.intllib
  6. -- carrot
  7. minetest.register_craftitem("farming:carrot", {
  8. description = S("Carrot"),
  9. inventory_image = "farming_carrot.png",
  10. groups = {seed = 2, food_carrot = 1, flammable = 2},
  11. on_place = function(itemstack, placer, pointed_thing)
  12. return farming.place_seed(itemstack, placer, pointed_thing, "farming:carrot_1")
  13. end,
  14. on_use = minetest.item_eat(4),
  15. })
  16. -- golden carrot
  17. minetest.register_craftitem("farming:carrot_gold", {
  18. _doc_items_longdesc = "Fills 20 satiation, and increases max HP by 1 up to 60.",
  19. description = S("Golden Carrot"),
  20. inventory_image = "farming_carrot_gold.png",
  21. on_use = function(itemstack, user, pointed_thing)
  22. maxhp.max_hp_change(user, 1, 60)
  23. local eat_func = minetest.item_eat(20)
  24. return eat_func(itemstack, user, pointed_thing)
  25. end,
  26. })
  27. minetest.register_craft({
  28. output = "farming:carrot_gold",
  29. recipe = {
  30. {"", "default:gold_lump", ""},
  31. {"default:gold_lump", "group:food_carrot", "default:gold_lump"},
  32. {"", "default:gold_lump", ""},
  33. }
  34. })
  35. -- carrot definition
  36. local crop_def = {
  37. drawtype = "plantlike",
  38. tiles = {"farming_carrot_1.png"},
  39. paramtype = "light",
  40. sunlight_propagates = true,
  41. walkable = false,
  42. buildable_to = true,
  43. drop = "",
  44. selection_box = farming.select,
  45. groups = {
  46. snappy = 3, flammable = 2, plant = 1, attached_node = 1,
  47. not_in_creative_inventory = 1, growing = 1
  48. },
  49. sounds = default.node_sound_leaves_defaults()
  50. }
  51. -- stage 1
  52. minetest.register_node("farming:carrot_1", table.copy(crop_def))
  53. -- stage 2
  54. crop_def.tiles = {"farming_carrot_2.png"}
  55. minetest.register_node("farming:carrot_2", table.copy(crop_def))
  56. -- stage 3
  57. crop_def.tiles = {"farming_carrot_3.png"}
  58. minetest.register_node("farming:carrot_3", table.copy(crop_def))
  59. -- stage 4
  60. crop_def.tiles = {"farming_carrot_4.png"}
  61. minetest.register_node("farming:carrot_4", table.copy(crop_def))
  62. -- stage 5
  63. crop_def.tiles = {"farming_carrot_5.png"}
  64. minetest.register_node("farming:carrot_5", table.copy(crop_def))
  65. -- stage 6
  66. crop_def.tiles = {"farming_carrot_6.png"}
  67. minetest.register_node("farming:carrot_6", table.copy(crop_def))
  68. -- stage 7
  69. crop_def.tiles = {"farming_carrot_7.png"}
  70. crop_def.drop = {
  71. items = {
  72. {items = {"farming:carrot"}, rarity = 1},
  73. {items = {"farming:carrot 2"}, rarity = 3},
  74. }
  75. }
  76. minetest.register_node("farming:carrot_7", table.copy(crop_def))
  77. -- stage 8 (final)
  78. crop_def.tiles = {"farming_carrot_8.png"}
  79. crop_def.groups.growing = 0
  80. crop_def.drop = {
  81. items = {
  82. {items = {"farming:carrot 2"}, rarity = 1},
  83. {items = {"farming:carrot 3"}, rarity = 2},
  84. }
  85. }
  86. minetest.register_node("farming:carrot_8", table.copy(crop_def))
  87. -- add to registered_plants
  88. farming.registered_plants["farming:carrot"] = {
  89. crop = "farming:carrot",
  90. seed = "farming:carrot",
  91. minlight = 13,
  92. maxlight = 15,
  93. steps = 8
  94. }