diff --git a/game_api.txt b/game_api.txt index d2394903..99c34a78 100644 --- a/game_api.txt +++ b/game_api.txt @@ -125,7 +125,8 @@ farming.register_plant(name, Plant definition) description = "", -- Description for tooltip inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image max_uses = 30, -- Uses until destroyed - recipe = { -- Craft recipe + material = "", -- Material for recipes + recipe = { -- Craft recipe, if material isn't used {"air", "air", "air"}, {"", "group:stick"}, {"", "group:stick"}, @@ -138,7 +139,7 @@ farming.register_plant(name, Plant definition) description = "", -- Description of seed item inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image steps = 8, -- How many steps the plant has to grow, until it can be harvested - ^ Always provide a plant texture for ech step, format: modname_plantname_i.png (i = stepnumber) + ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber) minlight = 13, -- Minimum light to grow maxlight = default.LIGHT_MAX -- Maximum light to grow } diff --git a/mods/farming/API.txt b/mods/farming/API.txt index 9234bc44..171c3c38 100644 --- a/mods/farming/API.txt +++ b/mods/farming/API.txt @@ -9,7 +9,8 @@ Hoe Definition description = "", -- Description for tooltip inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image max_uses = 30, -- Uses until destroyed - recipe = { -- Craft recipe + material = "", -- Material for recipes + recipe = { -- Craft recipe, if material isn't used {"air", "air", "air"}, {"", "group:stick"}, {"", "group:stick"}, @@ -21,7 +22,7 @@ Plant definition description = "", -- Description of seed item inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image steps = 8, -- How many steps the plant has to grow, until it can be harvested - ^ Always provide a plant texture for ech step, format: modname_plantname_i.png (i = stepnumber) + ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber) minlight = 13, -- Minimum light to grow maxlight = default.LIGHT_MAX -- Maximum light to grow } \ No newline at end of file diff --git a/mods/farming/api.lua b/mods/farming/api.lua index 6ce996d8..8c27233f 100644 --- a/mods/farming/api.lua +++ b/mods/farming/api.lua @@ -83,10 +83,30 @@ farming.register_hoe = function(name, def) end }) -- Register its recipe - minetest.register_craft({ - output = name:gsub(":", "", 1), - recipe = def.recipe - }) + if def.material == nil then + minetest.register_craft({ + output = name:sub(2), + recipe = def.recipe + }) + else + minetest.register_craft({ + output = name:sub(2), + recipe = { + {def.material, def.material, ""}, + {"", "group:stick", ""}, + {"", "group:stick", ""} + } + }) + -- Reverse Recipe + minetest.register_craft({ + output = name:sub(2), + recipe = { + {"", def.material, def.material}, + {"", "group:stick", ""}, + {"", "group:stick", ""} + } + }) + end end -- Seed placement diff --git a/mods/farming/hoes.lua b/mods/farming/hoes.lua index 084d586f..31da19ff 100644 --- a/mods/farming/hoes.lua +++ b/mods/farming/hoes.lua @@ -2,64 +2,40 @@ farming.register_hoe(":farming:hoe_wood", { description = "Wooden Hoe", inventory_image = "farming_tool_woodhoe.png", max_uses = 30, - recipe = { - {"group:wood", "group:wood"}, - {"", "group:stick"}, - {"", "group:stick"}, - } + material = "group:wood" }) farming.register_hoe(":farming:hoe_stone", { description = "Stone Hoe", inventory_image = "farming_tool_stonehoe.png", max_uses = 90, - recipe = { - {"group:stone", "group:stone"}, - {"", "group:stick"}, - {"", "group:stick"}, - } + material = "group:stone" }) farming.register_hoe(":farming:hoe_steel", { description = "Steel Hoe", inventory_image = "farming_tool_steelhoe.png", max_uses = 200, - recipe = { - {"default:steel_ingot", "default:steel_ingot"}, - {"", "group:stick"}, - {"", "group:stick"}, - } + material = "default:steel_ingot" }) farming.register_hoe(":farming:hoe_bronze", { description = "Bronze Hoe", inventory_image = "farming_tool_bronzehoe.png", max_uses = 220, - recipe = { - {"default:bronze_ingot", "default:bronze_ingot"}, - {"", "group:stick"}, - {"", "group:stick"}, - } + material = "default:bronze_ingot" }) farming.register_hoe(":farming:hoe_mese", { description = "Mese Hoe", inventory_image = "farming_tool_mesehoe.png", max_uses = 350, - recipe = { - {"default:mese_crystal", "default:mese_crystal"}, - {"", "group:stick"}, - {"", "group:stick"}, - } + material = "default:mese_crystal" }) farming.register_hoe(":farming:hoe_diamond", { description = "Diamond Hoe", inventory_image = "farming_tool_diamondhoe.png", max_uses = 500, - recipe = { - {"default:diamond", "default:diamond"}, - {"", "group:stick"}, - {"", "group:stick"}, - } + material = "default:diamond" })