From 705961e2fe23678753de81b3034df946edc9ab9d Mon Sep 17 00:00:00 2001 From: SmallJoker <mk939@ymail.com> Date: Tue, 01 Nov 2022 20:27:26 +0100 Subject: [PATCH] Supply converter: Charge batteries again --- technic/machines/register/extractor_recipes.lua | 131 +++++++++++++++++++++---------------------- 1 files changed, 63 insertions(+), 68 deletions(-) diff --git a/technic/machines/register/extractor_recipes.lua b/technic/machines/register/extractor_recipes.lua index 2d19130..ba43df5 100644 --- a/technic/machines/register/extractor_recipes.lua +++ b/technic/machines/register/extractor_recipes.lua @@ -1,77 +1,72 @@ local S = technic.getter -if unified_inventory and unified_inventory.register_craft_type then - unified_inventory.register_craft_type("extracting", { - description = S("Extracting"), - height = 1, - width = 1, - }) -end - -technic.extractor_recipes = {} +technic.register_recipe_type("extracting", { description = S("Extracting") }) function technic.register_extractor_recipe(data) data.time = data.time or 4 - local src = ItemStack(data.input):get_name() - technic.extractor_recipes[src] = data - if unified_inventory then - unified_inventory.register_craft({ - type = "extracting", - output = data.output, - items = {data.input}, - width = 0, + technic.register_recipe("extracting", data) +end + +if minetest.get_modpath("dye") then + -- check if we are using dye or unifieddyes + local unifieddyes = minetest.get_modpath("unifieddyes") + + -- register recipes with the same crafting ratios as `dye` provides + local dye_recipes = { + {"technic:coal_dust", "dye:black 2"}, + {"default:blueberries", "dye:violet 2"}, + {"default:grass_1", "dye:green 1"}, + {"default:dry_shrub", "dye:brown 1"}, + {"default:junglegrass", "dye:green 2"}, + {"default:cactus", "dye:green 4"}, + {"flowers:geranium", "dye:blue 4"}, + {"flowers:dandelion_white", "dye:white 4"}, + {"flowers:dandelion_yellow", "dye:yellow 4"}, + {"flowers:tulip", "dye:orange 4"}, + {"flowers:rose", "dye:red 4"}, + {"flowers:viola", "dye:violet 4"}, + {"bushes:blackberry", unifieddyes and "unifieddyes:magenta_s50 4" or "dye:violet 4"}, + {"bushes:blueberry", unifieddyes and "unifieddyes:magenta_s50 4" or "dye:magenta 4"}, + } + + for _, data in ipairs(dye_recipes) do + technic.register_extractor_recipe({input = {data[1]}, output = data[2]}) + end + + -- overwrite the existing crafting recipes + local dyes = {"white", "red", "yellow", "blue", "violet", "orange"} + for _, color in ipairs(dyes) do + minetest.clear_craft({ + type = "shapeless", + recipe = {"group:flower,color_"..color}, + }) + minetest.register_craft({ + type = "shapeless", + output = "dye:"..color.." 1", + recipe = {"group:flower,color_"..color}, + }) + end + + minetest.clear_craft({ + type = "shapeless", + recipe = {"group:coal"}, + }) + minetest.register_craft({ + type = "shapeless", + output = "dye:black 1", + recipe = {"group:coal"}, + }) + + if unifieddyes then + minetest.clear_craft({ + type = "shapeless", + recipe = {"default:cactus"}, + }) + minetest.register_craft({ + type = "shapeless", + output = "dye:green 1", + recipe = {"default:cactus"}, }) end end - --- Receive an ItemStack of result by an ItemStack input -function technic.get_extractor_recipe(item) - if technic.extractor_recipes[item:get_name()] and - item:get_count() >= ItemStack(technic.extractor_recipes[item:get_name()].input):get_count() then - return technic.extractor_recipes[item:get_name()] - else - return nil - end -end - -minetest.after(0.01, function () - for ingredient, recipe in pairs(technic.extractor_recipes) do - ingredient = minetest.registered_aliases[ingredient] - while ingredient do - technic.grinder_recipes[ingredient] = recipe - ingredient = minetest.registered_aliases[ingredient] - end - end -end) - --- Receive an ItemStack of result by an ItemStack input -function technic.get_grinder_recipe(itemstack) - return technic.grinder_recipes[itemstack:get_name()] -end - -local recipes = { - -- Dyes - {"technic:coal_dust", "dye:black 2"}, - {"default:cactus", "dye:green 2"}, - {"default:dry_shrub", "dye:brown 2"}, - {"flowers:geranium", "dye:blue 2"}, - {"flowers:dandelion_white", "dye:white 2"}, - {"flowers:dandelion_yellow", "dye:yellow 2"}, - {"flowers:tulip", "dye:orange 2"}, - {"flowers:rose", "dye:red 2"}, - {"flowers:viola", "dye:violet 2"}, - - -- Rubber - {"technic:raw_latex", "technic:rubber 3"}, - {"moretrees:rubber_tree_trunk_empty", "technic:rubber"}, - {"moretrees:rubber_tree_trunk", "technic:rubber"}, - - -- Other - {"technic:uranium 5", "technic:enriched_uranium"}, -} - -for _, data in pairs(recipes) do - technic.register_extractor_recipe({input = data[1], output = data[2]}) -end - -- Gitblit v1.8.0