est31
2015-06-18 a793747d92d9b1d93153c7fb4e0c82fe90624c78
technic/machines/register/extractor_recipes.lua
@@ -1,35 +1,59 @@
local S = technic.getter
technic.register_recipe_type("extracting", S("Extracting"))
technic.register_recipe_type("extracting", { description = S("Extracting") })
function technic.register_extractor_recipe(data)
   data.time = data.time or 4
   technic.register_recipe("extracting", data)
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"},
}
if minetest.get_modpath("dye") then
   -- check if we are using dye or unifieddyes
   local unifieddyes = minetest.get_modpath("unifieddyes")
for _, data in pairs(recipes) do
   technic.register_extractor_recipe({input = data[1], output = data[2]})
   -- register recipes with the same crafting ratios as `dye` provides
   local dye_recipes = {
      {"technic:coal_dust",                 "dye:black 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.register_craft({
              type = "shapeless",
              output = "dye:"..color.." 1",
              recipe = {"group:flower,color_"..color},
      })
   end
   minetest.register_craft({
      type = "shapeless",
      output = "dye:black 1",
      recipe = {"group:coal"},
   })
   if unifieddyes then
      minetest.register_craft({
         type = "shapeless",
         output = "dye:green 1",
         recipe = {"default:cactus"},
      })
   end
end