From 053fa59739f4b772174bf0a090969b3395ab3f98 Mon Sep 17 00:00:00 2001 From: kpoppel <poulsen.kim@gmail.com> Date: Tue, 02 Jul 2013 00:19:06 +0200 Subject: [PATCH] Merge pull request #38 from kpoppel/master --- technic/alloy_furnaces_commons.lua | 97 +++++++++++++++++++++++++++++++++++------------- 1 files changed, 71 insertions(+), 26 deletions(-) diff --git a/technic/alloy_furnaces_commons.lua b/technic/alloy_furnaces_commons.lua index 9c9c42a..5a6e65b 100644 --- a/technic/alloy_furnaces_commons.lua +++ b/technic/alloy_furnaces_commons.lua @@ -1,32 +1,77 @@ -alloy_recipes ={} +-- Register alloy recipes +technic.alloy_recipes = {} -registered_recipes_count=1 +-- Register recipe in a table +technic.register_alloy_recipe = function(metal1, count1, metal2, count2, result, count3) + technic.alloy_recipes[metal1..metal2] = { src1_count = count1, src2_count = count2, dst_name = result, dst_count = count3 } + if unified_inventory then + unified_inventory.register_craft( + { + type = "alloy", + output = result.." "..count3, + items = {metal1.." "..count1,metal2.." "..count2}, + width = 2, + }) + end + end + +-- Retrieve a recipe given the input metals. +-- Input parameters are a table from a StackItem +technic.get_alloy_recipe = function(metal1, metal2) + -- Check for both combinations of metals and for the right amount in both + if technic.alloy_recipes[metal1.name..metal2.name] + and metal1.count >= technic.alloy_recipes[metal1.name..metal2.name].src1_count + and metal2.count >= technic.alloy_recipes[metal1.name..metal2.name].src2_count then + return technic.alloy_recipes[metal1.name..metal2.name] + elseif technic.alloy_recipes[metal2.name..metal1.name] + and metal2.count >= technic.alloy_recipes[metal2.name..metal1.name].src1_count + and metal1.count >= technic.alloy_recipes[metal2.name..metal1.name].src2_count then + return technic.alloy_recipes[metal2.name..metal1.name] + else + return nil + end + end + +technic.register_alloy_recipe("technic:copper_dust", 3, "technic:tin_dust", 1, "technic:bronze_dust", 4) +technic.register_alloy_recipe("moreores:copper_ingot",3, "moreores:tin_ingot", 1, "moreores:bronze_ingot", 4) +technic.register_alloy_recipe("technic:iron_dust", 3, "technic:chromium_dust", 1, "technic:stainless_steel_dust", 4) +technic.register_alloy_recipe("default:steel_ingot", 3, "technic:chromium_ingot",1, "technic:stainless_steel_ingot",4) +technic.register_alloy_recipe("technic:copper_dust", 2, "technic:zinc_dust", 1, "technic:brass_dust", 3) +technic.register_alloy_recipe("moreores:copper_ingot",2, "technic:zinc_ingot", 1, "technic:brass_ingot", 3) +technic.register_alloy_recipe("default:sand", 2, "technic:coal_dust", 2, "technic:silicon_wafer", 1) +technic.register_alloy_recipe("technic:silicon_wafer",1, "technic:gold_dust", 1, "technic:doped_silicon_wafer", 1) + +-------------------------------------- +-- LEGACY CODE - some other mods might depend on this - Register the same recipes as above... +-------------------------------------- +alloy_recipes = {} +registered_recipes_count = 1 function register_alloy_recipe (string1,count1, string2,count2, string3,count3) -alloy_recipes[registered_recipes_count]={} -alloy_recipes[registered_recipes_count].src1_name=string1 -alloy_recipes[registered_recipes_count].src1_count=count1 -alloy_recipes[registered_recipes_count].src2_name=string2 -alloy_recipes[registered_recipes_count].src2_count=count2 -alloy_recipes[registered_recipes_count].dst_name=string3 -alloy_recipes[registered_recipes_count].dst_count=count3 -registered_recipes_count=registered_recipes_count+1 -alloy_recipes[registered_recipes_count]={} -alloy_recipes[registered_recipes_count].src1_name=string2 -alloy_recipes[registered_recipes_count].src1_count=count2 -alloy_recipes[registered_recipes_count].src2_name=string1 -alloy_recipes[registered_recipes_count].src2_count=count1 -alloy_recipes[registered_recipes_count].dst_name=string3 -alloy_recipes[registered_recipes_count].dst_count=count3 -registered_recipes_count=registered_recipes_count+1 -if unified_inventory then - unified_inventory.register_craft({ - type = "alloy", - output = string3.." "..count3, - items = {string1.." "..count1,string2.." "..count2}, - width = 2, - }) - end + alloy_recipes[registered_recipes_count]={} + alloy_recipes[registered_recipes_count].src1_name=string1 + alloy_recipes[registered_recipes_count].src1_count=count1 + alloy_recipes[registered_recipes_count].src2_name=string2 + alloy_recipes[registered_recipes_count].src2_count=count2 + alloy_recipes[registered_recipes_count].dst_name=string3 + alloy_recipes[registered_recipes_count].dst_count=count3 + registered_recipes_count=registered_recipes_count+1 + alloy_recipes[registered_recipes_count]={} + alloy_recipes[registered_recipes_count].src1_name=string2 + alloy_recipes[registered_recipes_count].src1_count=count2 + alloy_recipes[registered_recipes_count].src2_name=string1 + alloy_recipes[registered_recipes_count].src2_count=count1 + alloy_recipes[registered_recipes_count].dst_name=string3 + alloy_recipes[registered_recipes_count].dst_count=count3 + registered_recipes_count=registered_recipes_count+1 + if unified_inventory then + unified_inventory.register_craft({ + type = "alloy", + output = string3.." "..count3, + items = {string1.." "..count1,string2.." "..count2}, + width = 2, + }) + end end register_alloy_recipe ("technic:copper_dust",3, "technic:tin_dust",1, "technic:bronze_dust",4) -- Gitblit v1.8.0