From bc823ac823c7d6b8e98eb77227fdb0aaa7e31129 Mon Sep 17 00:00:00 2001 From: Brevven Date: Wed, 4 Aug 2021 02:03:28 -0700 Subject: [PATCH] cl, lib --- changelog.txt | 1 + data-util.lua | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/changelog.txt b/changelog.txt index 871ad7d..3c5f402 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,6 +2,7 @@ Version: 0.5.7 Date: 2021-07-26 Changes: + - SE: Experimental alloy data recipe - Minor refactor --------------------------------------------------------------------------------------------------- Version: 0.5.6 diff --git a/data-util.lua b/data-util.lua index af78198..60edbfb 100644 --- a/data-util.lua +++ b/data-util.lua @@ -353,4 +353,54 @@ function util.add_crafting_category(entity_type, entity, category) end end +function util.add_to_ingredient(recipe, ingredient, amount) + if data.raw.recipe[recipe] then + add_to_ingredient(data.raw.recipe[recipe], ingredient, amount) + add_to_ingredient(data.raw.recipe[recipe].normal, ingredient, amount) + add_to_ingredient(data.raw.recipe[recipe].expensive, ingredient, amount) + end +end + +function add_to_ingredient(recipe, it, amount) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == it then + ingredient.amount = ingredient.amount + amount + return + end + if ingredient[1] == it then + ingredient[2] = ingredients[2] + amount + return + end + end + end +end + +function util.add_to_product(recipe, product, amount) + if data.raw.recipe[recipe] then + add_to_product(data.raw.recipe[recipe], product, amount) + add_to_product(data.raw.recipe[recipe].normal, product, amount) + add_to_product(data.raw.recipe[recipe].expensive, product, amount) + end +end + +function add_to_product(recipe, product, amount) + if recipe ~= nil and recipe.results ~= nil then + if recipe.result == product then + recipe.result_count = recipe.result_count + amount + return + end + for i, result in pairs(recipe.results) do + if result.name == product then + result.amount = result.amount + amount + return + end + if result[1] == product then + result[2] = result[2] + amount + return + end + end + end +end + return util