diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..bbf3e21 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,3 @@ +[*] +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..723ef36 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea \ No newline at end of file diff --git a/advanced-carbon-furnace.lua b/advanced-carbon-furnace.lua index b3b331f..225e8be 100644 --- a/advanced-carbon-furnace.lua +++ b/advanced-carbon-furnace.lua @@ -20,8 +20,8 @@ if util.me.get_setting("bztungsten-advanced-carbon-furnace") == "yes" and not mo { type = "recipe", name = "advanced-carbon-furnace", - ingredients = {{"steel-furnace", 2}, {"stone-brick", 5}, {"tungsten-plate", 5}}, - result = "advanced-carbon-furnace", + ingredients = {{type="item", name="steel-furnace", amount=2}, {type="item", name="stone-brick", amount=5}, {type="item", name="tungsten-plate", amount=5}}, + results = {{type="item", name="advanced-carbon-furnace", amount=1}}, energy_required = 6, enabled = false, }, @@ -102,9 +102,9 @@ if util.me.get_setting("bztungsten-advanced-carbon-furnace") == "yes" and not mo energy_source = { type = "burner", - fuel_category = "chemical", + fuel_categories = {"chemical"}, effectivity = 1, - emissions_per_minute = 4, + emissions_per_minute = {["pollution"] = 4}, fuel_inventory_size = 1, light_flicker = { @@ -130,42 +130,22 @@ if util.me.get_setting("bztungsten-advanced-carbon-furnace") == "yes" and not mo { filename = "__base__/graphics/entity/steel-furnace/steel-furnace.png", priority = "high", - width = 85, - height = 87, - frame_count = 1, - shift = futil.by_pixel(-1.5, 1.5), - tint = {a = 1, r = .55, g = .6, b = .6}, - hr_version = - { - filename = "__base__/graphics/entity/steel-furnace/hr-steel-furnace.png", - priority = "high", - width = 171, + width = 171, height = 174, frame_count = 1, shift = futil.by_pixel(-1.25, 2), scale = 0.5, tint = {a = 1, r = .55, g = .6, b = .6}, - } }, { filename = "__base__/graphics/entity/steel-furnace/steel-furnace-shadow.png", priority = "high", - width = 139, - height = 43, - frame_count = 1, - draw_as_shadow = true, - shift = futil.by_pixel(39.5, 11.5), - hr_version = - { - filename = "__base__/graphics/entity/steel-furnace/hr-steel-furnace-shadow.png", - priority = "high", - width = 277, + width = 277, height = 85, frame_count = 1, draw_as_shadow = true, shift = futil.by_pixel(39.25, 11.25), scale = 0.5 - } } } }, @@ -181,24 +161,12 @@ if util.me.get_setting("bztungsten-advanced-carbon-furnace") == "yes" and not mo filename = "__base__/graphics/entity/steel-furnace/steel-furnace-fire.png", priority = "high", line_length = 8, - width = 29, - height = 40, - frame_count = 48, - direction_count = 1, - shift = futil.by_pixel(-0.5, 6), - hr_version = - { - animation_speed = 0.25, - filename = "__base__/graphics/entity/steel-furnace/hr-steel-furnace-fire.png", - priority = "high", - line_length = 8, width = 57, height = 81, frame_count = 48, direction_count = 1, shift = futil.by_pixel(-0.75, 5.75), scale = 0.5 - } }, }, { @@ -225,17 +193,6 @@ if util.me.get_setting("bztungsten-advanced-carbon-furnace") == "yes" and not mo filename = "__base__/graphics/entity/steel-furnace/steel-furnace-working.png", priority = "high", line_length = 1, - width = 64, - height = 74, - frame_count = 1, - direction_count = 1, - shift = futil.by_pixel(0, -4), - blend_mode = "additive", - hr_version = - { - filename = "__base__/graphics/entity/steel-furnace/hr-steel-furnace-working.png", - priority = "high", - line_length = 1, width = 128, height = 150, frame_count = 1, @@ -243,7 +200,6 @@ if util.me.get_setting("bztungsten-advanced-carbon-furnace") == "yes" and not mo shift = futil.by_pixel(0, -5), blend_mode = "additive", scale = 0.5, - } } }, { @@ -256,18 +212,6 @@ if util.me.get_setting("bztungsten-advanced-carbon-furnace") == "yes" and not mo filename = "__base__/graphics/entity/steel-furnace/steel-furnace-ground-light.png", priority = "high", line_length = 1, - draw_as_sprite = false, - width = 78, - height = 64, - frame_count = 1, - direction_count = 1, - shift = futil.by_pixel(0, 48), - blend_mode = "additive", - hr_version = - { - filename = "__base__/graphics/entity/steel-furnace/hr-steel-furnace-ground-light.png", - priority = "high", - line_length = 1, draw_as_sprite = false, width = 152, height = 126, @@ -276,7 +220,6 @@ if util.me.get_setting("bztungsten-advanced-carbon-furnace") == "yes" and not mo shift = futil.by_pixel(1, 48), blend_mode = "additive", scale = 0.5, - } }, }, }, diff --git a/compatibility/248k.lua b/compatibility/248k.lua index a8917b4..be65eee 100644 --- a/compatibility/248k.lua +++ b/compatibility/248k.lua @@ -1,6 +1,6 @@ local util = require("__bztungsten__.data-util"); -if mods["248k"] then +if mods["248k-Redux"] then local cuw = util.me.cuw() and "cuw" or "tungsten-plate" util.add_ingredient("fu_ingot_recipe", cuw, 20) util.add_ingredient("fu_plasma_recipe", cuw, 40) diff --git a/data-final-fixes.lua b/data-final-fixes.lua index 9eed201..b616fa8 100644 --- a/data-final-fixes.lua +++ b/data-final-fixes.lua @@ -29,7 +29,7 @@ if mods["space-exploration"] then -- core mining balancing util.add_to_product("se-core-fragment-omni", "tungsten-ore", -3) - if string.sub(mods["space-exploration"], 1, 3) == "0.6" then + if util.se6() then util.add_prerequisite("rocket-silo", "rocketry") end end diff --git a/data-util.lua b/data-util.lua index 0c58ecd..8a63c8c 100644 --- a/data-util.lua +++ b/data-util.lua @@ -64,17 +64,7 @@ function util.fe_plus(sub) end end -function util.get_stack_size(default) - if mods.Krastorio2 then - local size = get_setting("kr-stack-size") - if size and tonumber(size) then - return tonumber(size) - end - end - return default -end - -function util.k2assets() +function util.k2assets() if mods["Krastorio2Assets"] then return "__Krastorio2Assets__" end @@ -111,8 +101,8 @@ function util.se_landfill(params) category = "hard-recycling", order = "z-b-"..params.ore, subgroup = "terrain", - result = "landfill", - ingredients = {{params.ore, 50}}, + results = {{type="item", name="landfill", amount=1}}, + ingredients = {{type="item", name=params.ore, amount=50}}, } }) util.add_unlock("se-recycling-facility", lname) @@ -123,7 +113,7 @@ end -- k2 matter -- params: {k2matter}, k2baseicon , {icon} function util.k2matter(params) - local matter = require("__Krastorio2__/lib/public/data-stages/matter-util") + local matter = require("__Krastorio2__/prototypes/libraries/matter") if mods["space-exploration"] then params.k2matter.need_stabilizer = true end @@ -169,15 +159,15 @@ function util.k2matter(params) { {"production-science-pack", 1}, {"utility-science-pack", 1}, - {"matter-tech-card", 1} + {"kr-matter-tech-card", 1} }, time = 45, }, - -- (ignore for now) localised_name = {"technology-name.k2-conversion", {"item-name."..params.k2matter.item_name}}, + localised_name = {"technology-name.k2-conversion", {"item-name."..params.k2matter.item_name}}, }, }) end - matter.createMatterRecipe(params.k2matter) + matter.make_recipes(params.k2matter) end @@ -211,16 +201,16 @@ function util.se_matter(params) energy_required = params.energy_required, enabled = false, ingredients = { - {sedata, 1}, + {type="item", name=sedata, amount=1}, {type="fluid", name="se-particle-stream", amount=50}, {type="fluid", name="se-space-coolant-supercooled", amount=25}, }, results = { - {params.ore, params.quant_out}, - {"se-contaminated-scrap", 1}, - {type=item, name=sedata, amount=1, probability=.99}, - {type=item, name=sejunk, amount=1, probability=.01}, - {type="fluid", name="se-space-coolant-hot", amount=25, catalyst_amount=25}, + {type="item", name=params.ore, amount=params.quant_out}, + {type="item", name="se-contaminated-scrap", amount=1}, + {type="item", name=sedata, amount=1, probability=.99}, + {type="item", name=sejunk, amount=1, probability=.01}, + {type="fluid", name="se-space-coolant-hot", amount=25, ignored_by_productivity=25, ignored_by_stats=25}, } } }) @@ -250,14 +240,14 @@ function util.se_matter(params) energy_required = 30, enabled = false, ingredients = { - {"se-kr-matter-liberation-data", 1}, - {params.ore, params.quant_in}, + {type="item", name="se-kr-matter-liberation-data", amount=1}, + {type="item", name=params.ore, amount=params.quant_in}, {type="fluid", name="se-particle-stream", amount=50}, }, results = { - {type=item, name="se-kr-matter-liberation-data", amount=1, probability=.99}, - {type=item, name=sejunk, amount=1, probability=.01}, - {type="fluid", name="se-particle-stream", amount=params.stream_out, catalyst_amount=50}, + {type="item", name="se-kr-matter-liberation-data", amount=1, probability=.99}, + {type="item", name=sejunk, amount=1, probability=.01}, + {type="fluid", name="se-particle-stream", amount=params.stream_out, ignored_by_productivity=50, ignored_by_stats=50}, } } }) @@ -284,7 +274,7 @@ function util.se_matter(params) {"se-astronomic-science-pack-4", 1}, {"se-energy-science-pack-4", 1}, {"se-material-science-pack-4", 1}, - {"matter-tech-card", 1}, + {"kr-matter-tech-card", 1}, {"se-deep-space-science-pack-1", 1}, } @@ -298,18 +288,6 @@ function util.se_matter(params) end end --- Get the normal prototype for a recipe -- either .normal or the recipe itself -function util.get_normal(recipe_name) - if data.raw.recipe[recipe_name] then - recipe = data.raw.recipe[recipe_name] - if recipe.normal and recipe.normal.ingredients then - return recipe.normal - elseif recipe.ingredients then - return recipe - end - end -end - -- Set/override a technology's prerequisites function util.set_prerequisite(technology_name, prerequisites) local technology = data.raw.technology[technology_name] @@ -376,7 +354,7 @@ function util.add_unlock(technology_name, recipe) end -- Check if a tech unlocks a recipe -function util.check_unlock(technology_name, recipe_name) +function util.check_unlock(technology_name, recipe) local technology = data.raw.technology[technology_name] if technology and technology.effects then for i, effect in pairs(technology.effects) do @@ -421,17 +399,13 @@ end function util.set_enabled(recipe_name, enabled) if data.raw.recipe[recipe_name] then - if data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].normal.enabled = enabled end - if data.raw.recipe[recipe_name].expensive then data.raw.recipe[recipe_name].expensive.enabled = enabled end - if not data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].enabled = enabled end + data.raw.recipe[recipe_name].enabled = enabled end end function util.set_hidden(recipe_name) if data.raw.recipe[recipe_name] then - if data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].normal.hidden = true end - if data.raw.recipe[recipe_name].expensive then data.raw.recipe[recipe_name].expensive.hidden = true end - if not data.raw.recipe[recipe_name].normal then data.raw.recipe[recipe_name].hidden = true end + data.raw.recipe[recipe_name].hidden = true end end @@ -441,8 +415,6 @@ function util.add_or_add_to_ingredient(recipe_name, ingredient, quantity, option if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then me.add_modified(recipe_name) add_or_add_to_ingredient(data.raw.recipe[recipe_name], ingredient, quantity) - add_or_add_to_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity) - add_or_add_to_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity) end end @@ -465,8 +437,6 @@ function util.add_ingredient(recipe_name, ingredient, quantity, options) if data.raw.recipe[recipe_name] and (data.raw.item[ingredient] or is_fluid) then me.add_modified(recipe_name) add_ingredient(data.raw.recipe[recipe_name], ingredient, quantity, is_fluid) - add_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity, is_fluid) - add_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity, is_fluid) end end @@ -480,7 +450,7 @@ function add_ingredient(recipe, ingredient, quantity, is_fluid) if is_fluid then table.insert(recipe.ingredients, {type="fluid", name=ingredient, amount=quantity}) else - table.insert(recipe.ingredients, {ingredient, quantity}) + table.insert(recipe.ingredients, {type="item", name=ingredient, amount=quantity}) end end end @@ -491,8 +461,6 @@ function util.add_ingredient_raw(recipe_name, ingredient, options) if data.raw.recipe[recipe_name] and (data.raw.item[ingredient.name] or data.raw.item[ingredient[1]]) then me.add_modified(recipe_name) add_ingredient_raw(data.raw.recipe[recipe_name], ingredient) - add_ingredient_raw(data.raw.recipe[recipe_name].normal, ingredient) - add_ingredient_raw(data.raw.recipe[recipe_name].expensive, ingredient) end end @@ -514,56 +482,45 @@ end function util.set_ingredient(recipe_name, ingredient, quantity, options) if not should_force(options) and bypass(recipe_name) then return end if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then + local is_fluid = not not data.raw.fluid[ingredient] me.add_modified(recipe_name) - set_ingredient(data.raw.recipe[recipe_name], ingredient, quantity) - set_ingredient(data.raw.recipe[recipe_name].normal, ingredient, quantity) - set_ingredient(data.raw.recipe[recipe_name].expensive, ingredient, quantity) + set_ingredient(data.raw.recipe[recipe_name], ingredient, quantity, is_fluid) end end -function set_ingredient(recipe, ingredient, quantity) +function set_ingredient(recipe, ingredient, quantity, is_fluid) if recipe ~= nil and recipe.ingredients ~= nil then for i, existing in pairs(recipe.ingredients) do - if existing[1] == ingredient then - existing[2] = quantity - return - elseif existing.name == ingredient then + if existing.name == ingredient then existing.amount = quantity existing.amount_min = nil existing.amount_max = nil return end end - table.insert(recipe.ingredients, {ingredient, quantity}) + if is_fluid then + table.insert(recipe.ingredients, {type="fluid", name=ingredient, amount=quantity}) + else + table.insert(recipe.ingredients, {type="item", name=ingredient, amount=quantity}) + end end end -- Add a given quantity of product to a given recipe. -- Only works for recipes with multiple products function util.add_product(recipe_name, product, options) if not should_force(options) and bypass(recipe_name) then return end - if data.raw.recipe[recipe_name] and - (data.raw.item[product[1]] or data.raw.item[product.name] or - data.raw.fluid[product[1]] or data.raw.fluid[product.name] - ) then + if data.raw.recipe[recipe_name] and + (data.raw.item[product.name] or data.raw.fluid[product.name]) then add_product(data.raw.recipe[recipe_name], product) - add_product(data.raw.recipe[recipe_name].normal, product) - add_product(data.raw.recipe[recipe_name].expensive, product) end end function add_product(recipe, product) if recipe ~= nil then - if (product[1] and data.raw.item[product[1]]) or - (product.name and data.raw[product.type][product.name]) then - if not recipe.normal then - if recipe.results == nil then - recipe.results = {{recipe.result, recipe.result_count and recipe.result_count or 1}} - end - recipe.result = nil - recipe.result_count = nil - table.insert(recipe.results, product) + if recipe.results == nil then + recipe.results = {} end - end + table.insert(recipe.results, product) end end @@ -571,18 +528,13 @@ end function util.get_ingredient_amount(recipe_name, ingredient_name) local recipe = data.raw.recipe[recipe_name] if recipe then - if recipe.normal and recipe.normal.ingredients then - for i, ingredient in pairs(recipe.normal.ingredients) do - if ingredient[1] == ingredient_name then return ingredient[2] end - if ingredient.name == ingredient_name then return ingredient.amount end - end - elseif recipe.ingredients then + if recipe.ingredients then for i, ingredient in pairs(recipe.ingredients) do if ingredient[1] == ingredient_name then return ingredient[2] end if ingredient.name == ingredient_name then return ingredient.amount end end end - return 0 + return 1 end return 0 end @@ -592,14 +544,7 @@ function util.get_amount(recipe_name, product) if not product then product = recipe_name end local recipe = data.raw.recipe[recipe_name] if recipe then - if recipe.normal and recipe.normal.results then - for i, result in pairs(recipe.normal.results) do - if result[1] == product then return result[2] end - if result.name == product then return result.amount end - end - elseif recipe.normal and recipe.normal.result_count then - return recipe.normal.result_count - elseif recipe.results then + if recipe.results then for i, result in pairs(recipe.results) do if result[1] == product then return result[2] end if result.name == product then return result.amount end @@ -617,9 +562,7 @@ function util.get_result_count(recipe_name, product) if not product then product = recipe_name end local recipe = data.raw.recipe[recipe_name] if recipe then - if recipe.normal and recipe.normal.results then - return #(recipe.normal.results) - elseif recipe.results then + if recipe.results then return #(recipe.results) end return 1 @@ -634,8 +577,6 @@ function util.replace_ingredient(recipe_name, old, new, amount, multiply, option if data.raw.recipe[recipe_name] and (data.raw.item[new] or data.raw.fluid[new]) then me.add_modified(recipe_name) replace_ingredient(data.raw.recipe[recipe_name], old, new, amount, multiply) - replace_ingredient(data.raw.recipe[recipe_name].normal, old, new, amount, multiply) - replace_ingredient(data.raw.recipe[recipe_name].expensive, old, new, amount, multiply) end end @@ -677,8 +618,6 @@ function util.remove_ingredient(recipe_name, old, options) if data.raw.recipe[recipe_name] then me.add_modified(recipe_name) remove_ingredient(data.raw.recipe[recipe_name], old) - remove_ingredient(data.raw.recipe[recipe_name].normal, old) - remove_ingredient(data.raw.recipe[recipe_name].expensive, old) end end @@ -704,28 +643,23 @@ function util.replace_some_product(recipe_name, old, old_amount, new, new_amount if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then me.add_modified(recipe_name) replace_some_product(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid) - replace_some_product(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount, is_fluid) - replace_some_product(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount, is_fluid) end end -function replace_some_product(recipe, old, old_amount, new, new_amount) +function replace_some_product(recipe, old, old_amount, new, new_amount, is_fluid) if recipe ~= nil then if recipe.result == new then return end if recipe.results then for i, existing in pairs(recipe.results) do - if existing[1] == new or existing.name == new then + if existing.name == new then return end end end - add_product(recipe, {new, new_amount}) + add_product(recipe, {type=is_fluid and "fluid" or "item", name=new, amount=new_amount}) for i, product in pairs(recipe.results) do if product.name == old then product.amount = math.max(1, product.amount - old_amount) - end - if product[1] == old then - product[2] = math.max(1, product[2] - old_amount) end end end @@ -738,8 +672,6 @@ function util.replace_some_ingredient(recipe_name, old, old_amount, new, new_amo if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then me.add_modified(recipe_name) replace_some_ingredient(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid) - replace_some_ingredient(data.raw.recipe[recipe_name].normal, old, old_amount, new, new_amount, is_fluid) - replace_some_ingredient(data.raw.recipe[recipe_name].expensive, old, old_amount, new, new_amount, is_fluid) end end @@ -768,8 +700,6 @@ function util.set_product_amount(recipe_name, product, amount, options) me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then set_product_amount(data.raw.recipe[recipe_name], product, amount) - set_product_amount(data.raw.recipe[recipe_name].normal, product, amount) - set_product_amount(data.raw.recipe[recipe_name].expensive, product, amount) end end @@ -808,8 +738,6 @@ function util.multiply_recipe(recipe_name, multiple, options) me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then multiply_recipe(data.raw.recipe[recipe_name], multiple) - multiply_recipe(data.raw.recipe[recipe_name].normal, multiple) - multiply_recipe(data.raw.recipe[recipe_name].expensive, multiple) end end @@ -817,8 +745,6 @@ function multiply_recipe(recipe, multiple) if recipe then if recipe.energy_required then recipe.energy_required = recipe.energy_required * multiple - else - recipe.energy_required = 0.5 * multiple -- 0.5 is factorio default end if recipe.result_count then recipe.result_count = recipe.result_count * multiple @@ -833,8 +759,11 @@ function multiply_recipe(recipe, multiple) result.amount_min = result.amount_min * multiple result.amount_max = result.amount_max * multiple end - if result.catalyst_amount then - result.catalyst_amount = result.catalyst_amount * multiple + if result.ignored_by_productivity then + result.ignored_by_productivity = result.ignored_by_productivity * multiple + end + if result.ignored_by_stats then + result.ignored_by_stats = result.ignored_by_stats * multiple end end if result[1] then @@ -861,9 +790,8 @@ end -- Returns true if a recipe has an ingredient function util.has_ingredient(recipe_name, ingredient) - return data.raw.recipe[recipe_name] and ( - has_ingredient(data.raw.recipe[recipe_name], ingredient) or - has_ingredient(data.raw.recipe[recipe_name].normal, ingredient)) + return data.raw.recipe[recipe_name] and + has_ingredient(data.raw.recipe[recipe_name], ingredient) end function has_ingredient(recipe, ingredient) @@ -883,8 +811,6 @@ function util.remove_product(recipe_name, old, options) me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then remove_product(data.raw.recipe[recipe_name], old) - remove_product(data.raw.recipe[recipe_name].normal, old) - remove_product(data.raw.recipe[recipe_name].expensive, old) end end @@ -907,8 +833,6 @@ function util.set_main_product(recipe_name, product, options) if not should_force(options) and bypass(recipe_name) then return end if data.raw.recipe[recipe_name] then set_main_product(data.raw.recipe[recipe_name], product) - set_main_product(data.raw.recipe[recipe_name].normal, product) - set_main_product(data.raw.recipe[recipe_name].expensive, product) end end @@ -922,13 +846,11 @@ end function util.replace_product(recipe_name, old, new, options) if not should_force(options) and bypass(recipe_name) then return end if data.raw.recipe[recipe_name] then - replace_product(data.raw.recipe[recipe_name], old, new, options) - replace_product(data.raw.recipe[recipe_name].normal, old, new, options) - replace_product(data.raw.recipe[recipe_name].expensive, old, new, options) + replace_product(data.raw.recipe[recipe_name], old, new) end end -function replace_product(recipe, old, new, options) +function replace_product(recipe, old, new) if recipe then if recipe.main_product == old then recipe.main_product = new @@ -968,8 +890,6 @@ function util.set_recipe_time(recipe_name, time, options) me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then set_recipe_time(data.raw.recipe[recipe_name], time) - set_recipe_time(data.raw.recipe[recipe_name].normal, time) - set_recipe_time(data.raw.recipe[recipe_name].expensive, time) end end @@ -987,8 +907,6 @@ function util.multiply_time(recipe_name, factor, options) me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then multiply_time(data.raw.recipe[recipe_name], factor) - multiply_time(data.raw.recipe[recipe_name].normal, factor) - multiply_time(data.raw.recipe[recipe_name].expensive, factor) end end @@ -1006,8 +924,6 @@ function util.add_time(recipe_name, amount, options) me.add_modified(recipe_name) if data.raw.recipe[recipe_name] then add_time(data.raw.recipe[recipe_name], amount) - add_time(data.raw.recipe[recipe_name].normal, amount) - add_time(data.raw.recipe[recipe_name].expensive, amount) end end @@ -1031,7 +947,7 @@ end -- Set recipe subgroup function util.set_subgroup(recipe_name, subgroup, options) if not should_force(options) and bypass(recipe_name) then return end - if data.raw.recipe[recipe_name] and data.raw["item-subgroup"][subgroup] then + if data.raw.recipe[recipe_name] then me.add_modified(recipe_name) data.raw.recipe[recipe_name].subgroup = subgroup end @@ -1050,34 +966,16 @@ function util.add_icon(recipe_name, icon, options) if data.raw.recipe[recipe_name] then me.add_modified(recipe_name) if not (data.raw.recipe[recipe_name].icons and #(data.raw.recipe[recipe_name].icons) > 0) then - if data.raw.recipe[recipe_name].icon then - data.raw.recipe[recipe_name].icons = {{ - icon=data.raw.recipe[recipe_name].icon, - icon_size=data.raw.recipe[recipe_name].icon_size, - icon_mipmaps=data.raw.recipe[recipe_name].icon_mipmaps, - }} - elseif data.raw.item[data.raw.recipe[recipe_name].main_product] then - data.raw.recipe[recipe_name].icons = {{ - icon=data.raw.item[data.raw.recipe[recipe_name].main_product].icon, - icon_size=data.raw.item[data.raw.recipe[recipe_name].main_product].icon_size, - icon_mipmaps=data.raw.item[data.raw.recipe[recipe_name].main_product].icon_mipmaps, - }} - elseif data.raw.item[data.raw.recipe[recipe_name].result] then - data.raw.recipe[recipe_name].icons = {{ - icon=data.raw.item[data.raw.recipe[recipe_name].result].icon, - icon_size=data.raw.item[data.raw.recipe[recipe_name].result].icon_size, - icon_mipmaps=data.raw.item[data.raw.recipe[recipe_name].result].icon_mipmaps, - }} - elseif data.raw.recipe[recipe_name].normal and - data.raw.item[data.raw.recipe[recipe_name].normal.result] then - data.raw.recipe[recipe_name].icons = {{ - icon=data.raw.item[data.raw.recipe[recipe_name].normal.result].icon, - icon_size=data.raw.item[data.raw.recipe[recipe_name].normal.result].icon_size, - icon_mipmaps=data.raw.item[data.raw.recipe[recipe_name].normal.result].icon_mipmaps, - }} - end - data.raw.recipe[recipe_name].icon = nil - data.raw.recipe[recipe_name].icon_size = nil + data.raw.recipe[recipe_name].icons = {} + if data.raw.recipe[recipe_name].icon then + data.raw.recipe[recipe_name].icons = {{ + icon=data.raw.recipe[recipe_name].icon, + icon_size=data.raw.recipe[recipe_name].icon_size, + icon_mipmaps=data.raw.recipe[recipe_name].icon_mipmaps, + }} + data.raw.recipe[recipe_name].icon = nil + data.raw.recipe[recipe_name].icon_size = nil + end end table.insert(data.raw.recipe[recipe_name].icons, icon) end @@ -1137,8 +1035,6 @@ function util.add_to_ingredient(recipe, ingredient, amount, options) if not should_force(options) and bypass(recipe_name) then return end 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 @@ -1161,8 +1057,6 @@ function util.add_to_product(recipe_name, product, amount, options) if not should_force(options) and bypass(recipe_name) then return end if data.raw.recipe[recipe_name] then add_to_product(data.raw.recipe[recipe_name], product, amount) - add_to_product(data.raw.recipe[recipe_name].normal, product, amount) - add_to_product(data.raw.recipe[recipe_name].expensive, product, amount) end end @@ -1285,10 +1179,8 @@ function remove_prior_unlocks(tech, recipe) util.remove_recipe_effect(tech, recipe) if technology.prerequisites then for i, prerequisite in pairs(technology.prerequisites) do - if string.sub(prerequisite, 1, 3) ~= 'ei_' then - -- log("BZZZ removing prior unlocks for " .. recipe .. " from " .. tech ..", checking " .. prerequisite) -- Handy Debug :| - remove_prior_unlocks(prerequisite, recipe) - end + -- log("BZZZ removing prior unlocks for " .. tech ..", checking " .. prerequisite) -- Handy Debug :| + remove_prior_unlocks(prerequisite, recipe) end end end @@ -1330,9 +1222,7 @@ function replace_ingredients_prior_to(tech, old, new, multiplier) if technology.prerequisites then for i, prerequisite in pairs(technology.prerequisites) do -- log("BZZZ checking " .. prerequisite) -- Handy Debug :| - if string.sub(prerequisite, 1, 3) ~= 'ei_' then - replace_ingredients_prior_to(prerequisite, old, new, multiplier) - end + replace_ingredients_prior_to(prerequisite, old, new, multiplier) end end end diff --git a/graphics/entity/ores/hr-tungsten-ore.png b/graphics/entity/ores/hr-tungsten-ore.png deleted file mode 100644 index d5d90d1..0000000 Binary files a/graphics/entity/ores/hr-tungsten-ore.png and /dev/null differ diff --git a/graphics/entity/ores/hr-tungsten-ore.xcf b/graphics/entity/ores/hr-tungsten-ore.xcf deleted file mode 100644 index 2e888e0..0000000 Binary files a/graphics/entity/ores/hr-tungsten-ore.xcf and /dev/null differ diff --git a/graphics/entity/ores/tungsten-ore.png b/graphics/entity/ores/tungsten-ore.png index dded6bc..d5d90d1 100644 Binary files a/graphics/entity/ores/tungsten-ore.png and b/graphics/entity/ores/tungsten-ore.png differ diff --git a/graphics/entity/ores/tungsten-ore.xcf b/graphics/entity/ores/tungsten-ore.xcf index ee8e86b..2e888e0 100644 Binary files a/graphics/entity/ores/tungsten-ore.xcf and b/graphics/entity/ores/tungsten-ore.xcf differ diff --git a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-1.png b/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-1.png deleted file mode 100644 index e241086..0000000 Binary files a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-1.png and /dev/null differ diff --git a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-2.png b/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-2.png deleted file mode 100644 index 7099218..0000000 Binary files a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-2.png and /dev/null differ diff --git a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-3.png b/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-3.png deleted file mode 100644 index cf15c66..0000000 Binary files a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-3.png and /dev/null differ diff --git a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-4.png b/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-4.png deleted file mode 100644 index 307d7cd..0000000 Binary files a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-4.png and /dev/null differ diff --git a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-1.png b/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-1.png deleted file mode 100644 index ebef3b3..0000000 Binary files a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-1.png and /dev/null differ diff --git a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-2.png b/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-2.png deleted file mode 100644 index b9fc4f5..0000000 Binary files a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-2.png and /dev/null differ diff --git a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-3.png b/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-3.png deleted file mode 100644 index a3b24e4..0000000 Binary files a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-3.png and /dev/null differ diff --git a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-4.png b/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-4.png deleted file mode 100644 index 02cca1a..0000000 Binary files a/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-4.png and /dev/null differ diff --git a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-1.png b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-1.png index 1b76c18..e241086 100644 Binary files a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-1.png and b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-1.png differ diff --git a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-2.png b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-2.png index 0bf7c6b..7099218 100644 Binary files a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-2.png and b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-2.png differ diff --git a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-3.png b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-3.png index 35c156a..cf15c66 100644 Binary files a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-3.png and b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-3.png differ diff --git a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-4.png b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-4.png index 9f5115c..307d7cd 100644 Binary files a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-4.png and b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-4.png differ diff --git a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-1.png b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-1.png index 89bfee9..ebef3b3 100644 Binary files a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-1.png and b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-1.png differ diff --git a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-2.png b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-2.png index 7834934..b9fc4f5 100644 Binary files a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-2.png and b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-2.png differ diff --git a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-3.png b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-3.png index 6ef2544..a3b24e4 100644 Binary files a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-3.png and b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-3.png differ diff --git a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-4.png b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-4.png index a8aa006..02cca1a 100644 Binary files a/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-4.png and b/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-4.png differ diff --git a/info.json b/info.json index 60796b8..226b6e9 100644 --- a/info.json +++ b/info.json @@ -1,13 +1,13 @@ { "name": "bztungsten", "version": "0.7.13", - "factorio_version": "1.1", + "factorio_version": "2.0", "title": "Tungsten", "author": "Brevven", "contact": "", "homepage": "", "dependencies": [ - "base >= 1.1.0", + "base >= 2.0", "? space-exploration", "? Krastorio2", "? deadlock-beltboxes-loaders", diff --git a/modules.lua b/modules.lua index b67161a..72bd16c 100644 --- a/modules.lua +++ b/modules.lua @@ -4,14 +4,6 @@ local util = require("data-util"); for i, recipe in pairs(util.me.recipes) do if data.raw.recipe[recipe] then - for j, module in pairs(data.raw.module) do - if module.effect then - for effect_name, effect in pairs(module.effect) do - if effect_name == "productivity" and effect.bonus > 0 and module.limitation and #module.limitation > 0 then - table.insert(module.limitation, recipe) - end - end - end - end + data.raw.recipe[recipe].allow_productivity = true end end diff --git a/settings.lua b/settings.lua index 3eead17..fff6802 100644 --- a/settings.lua +++ b/settings.lua @@ -40,8 +40,8 @@ if mods.Krastorio2 then type = "string-setting", name = "bztungsten-mining-fluid-k2", setting_type = "startup", - default_value = "mineral-water", - allowed_values = {"mineral-water", "water"}, + default_value = "kr-mineral-water", + allowed_values = {"kr-mineral-water", "water"}, order = "aga", }, { diff --git a/strange-matter.lua b/strange-matter.lua index 284de8f..5afe28e 100644 --- a/strange-matter.lua +++ b/strange-matter.lua @@ -16,7 +16,7 @@ data:extend({ enabled = false, energy_required = 1, ingredients = {{type="fluid", name="strange-matter", amount = 2}}, - result = ore, + results = {{type="item", name=ore, amount=1}}, category = "crafting-with-fluid", subgroup = "synthesis", }, diff --git a/tungsten-enriched.lua b/tungsten-enriched.lua index 2c628e1..e24bb23 100644 --- a/tungsten-enriched.lua +++ b/tungsten-enriched.lua @@ -9,14 +9,14 @@ data:extend({ icon_size = 64, icon_mipmaps = 3, icon = "__bztungsten__/graphics/icons/enriched-tungsten.png", pictures = { - {filename="__bztungsten__/graphics/icons/enriched-tungsten.png", size=64, scale=0.25}, - {filename="__bztungsten__/graphics/icons/enriched-tungsten-2.png", size=64, scale=0.25}, - {filename="__bztungsten__/graphics/icons/enriched-tungsten-3.png", size=64, scale=0.25}, - {filename="__bztungsten__/graphics/icons/enriched-tungsten-4.png", size=64, scale=0.25}, + {filename="__bztungsten__/graphics/icons/enriched-tungsten.png", size=64, scale=0.5}, + {filename="__bztungsten__/graphics/icons/enriched-tungsten-2.png", size=64, scale=0.5}, + {filename="__bztungsten__/graphics/icons/enriched-tungsten-3.png", size=64, scale=0.5}, + {filename="__bztungsten__/graphics/icons/enriched-tungsten-4.png", size=64, scale=0.5}, }, subgroup = "raw-material", order = "e05-a[enriched-ores]-a1[enriched-tungsten]", - stack_size = util.get_stack_size(100), + stack_size = 100, }, { type = "recipe", @@ -33,14 +33,14 @@ data:extend({ subgroup = "raw-material", ingredients = { - {type = "fluid", name = "ammonia", amount = 10}, + {type = "fluid", name = "kr-ammonia", amount = 10}, {type = "fluid", name = "water", amount = 25, catalyst_amount = 25}, {type = "item", name = "tungsten-ore", amount = 9} }, results = { {type = "item", name = "enriched-tungsten", amount = 6}, - {type = "fluid", name = "dirty-water", amount = 25, catalyst_amount = 25} + {type = "fluid", name = "kr-dirty-water", amount = 25, catalyst_amount = 25} }, crafting_machine_tint = { @@ -67,30 +67,29 @@ data:extend({ allow_productivity = true, ingredients = { - {"enriched-tungsten", 15} + {type="item", name="enriched-tungsten", amount=15} }, - result = "tungsten-plate", - result_count = 10, + results = {{type="item", name="tungsten-plate", amount=10}}, order = "b[tungsten-plate]-b[enriched-tungsten-plate]" }, { type = "recipe", name = "dirty-water-filtration-tungsten", - category = "fluid-filtration", + category = "kr-fluid-filtration", icons = { { - icon = data.raw.fluid["dirty-water"].icon, - icon_size = data.raw.fluid["dirty-water"].icon_size + icon = data.raw.fluid["kr-dirty-water"].icon, + icon_size = data.raw.fluid["kr-dirty-water"].icon_size }, { icon = data.raw.item["tungsten-ore"].icon, icon_size = data.raw.item["tungsten-ore"].icon_size, - scale = 0.20 * (data.raw.fluid["dirty-water"].icon_size/data.raw.item["tungsten-ore"].icon_size), + scale = 0.20, shift = {0, 4} } }, - icon_size = data.raw.fluid["dirty-water"].icon_size, + icon_size = data.raw.fluid["kr-dirty-water"].icon_size, energy_required = 2, enabled = false, allow_as_intermediate = false, @@ -98,7 +97,7 @@ data:extend({ always_show_products = true, ingredients = { - {type = "fluid", name = "dirty-water", amount = 100, catalyst_amount = 100}, + {type = "fluid", name = "kr-dirty-water", amount = 100, catalyst_amount = 100}, }, results = { diff --git a/tungsten-matter.lua b/tungsten-matter.lua index 0fcd6ba..d74e995 100644 --- a/tungsten-matter.lua +++ b/tungsten-matter.lua @@ -1,27 +1,22 @@ -- Matter recipes for Krastorio2 if mods["Krastorio2"] then local util = require("data-util"); + local matter = require("__Krastorio2__/prototypes/libraries/matter") - util.k2matter({ - k2matter = { - item_name = "tungsten-ore", - matter_value = 6, + matter.make_recipes({ + material = { type = "item", name = "tungsten-ore", amount = 1 }, + matter_count = 6, energy_required = 1, need_stabilizer = false, unlocked_by_technology = "tungsten-matter-processing", - }, - k2baseicon = "stone", - icon = {icon = "__bztungsten__/graphics/icons/tungsten-ore.png", icon_size = 64, scale = 1.25} + icon = {icon = "__bztungsten__/graphics/icons/tungsten-ore.png", icon_size = 64, scale = 1.25} }) - util.k2matter({ - k2matter = { - item_name = "tungsten-plate", - matter_value = 10, + matter.make_recipes({ + material = { type = "item", name = "tungsten-plate", amount = 1 }, + matter_count = 10, energy_required = 2, - only_deconversion = true, - need_stabilizer = true, + need_stabilizer = false, unlocked_by_technology = "tungsten-matter-processing", - }, }) end diff --git a/tungsten-ore-particle.lua b/tungsten-ore-particle.lua index 283e5bb..d3bc7dd 100644 --- a/tungsten-ore-particle.lua +++ b/tungsten-ore-particle.lua @@ -10,66 +10,34 @@ data:extend( { filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-1.png", priority = "extra-high", - width = 16, - height = 16, - frame_count = 1, - hr_version = - { - filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-1.png", - priority = "extra-high", - width = 32, + width = 32, height = 32, frame_count = 1, scale = 0.5 - } }, { filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-2.png", priority = "extra-high", - width = 16, - height = 16, - frame_count = 1, - hr_version = - { - filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-2.png", - priority = "extra-high", - width = 32, + width = 32, height = 32, frame_count = 1, scale = 0.5 - } }, { filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-3.png", priority = "extra-high", - width = 16, - height = 16, - frame_count = 1, - hr_version = - { - filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-3.png", - priority = "extra-high", - width = 32, + width = 32, height = 32, frame_count = 1, scale = 0.5 - } }, { filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-4.png", priority = "extra-high", - width = 16, - height = 16, - frame_count = 1, - hr_version = - { - filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-4.png", - priority = "extra-high", - width = 32, + width = 32, height = 32, frame_count = 1, scale = 0.5 - } } }, shadows = @@ -77,66 +45,34 @@ data:extend( { filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-1.png", priority = "extra-high", - width = 16, - height = 16, - frame_count = 1, - hr_version = - { - filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-1.png", - priority = "extra-high", - width = 32, + width = 32, height = 32, frame_count = 1, scale = 0.5 - } }, { filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-2.png", priority = "extra-high", - width = 16, - height = 16, - frame_count = 1, - hr_version = - { - filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-2.png", - priority = "extra-high", - width = 32, + width = 32, height = 32, frame_count = 1, scale = 0.5 - } }, { filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-3.png", priority = "extra-high", - width = 16, - height = 16, - frame_count = 1, - hr_version = - { - filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-3.png", - priority = "extra-high", - width = 32, + width = 32, height = 32, frame_count = 1, scale = 0.5 - } }, { filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/tungsten-ore-particle-shadow-4.png", priority = "extra-high", - width = 16, - height = 16, - frame_count = 1, - hr_version = - { - filename = "__bztungsten__/graphics/entity/tungsten-ore-particle/hr-tungsten-ore-particle-shadow-4.png", - priority = "extra-high", - width = 32, + width = 32, height = 32, frame_count = 1, scale = 0.5 - } } } } diff --git a/tungsten-ore.lua b/tungsten-ore.lua index 600b912..0f205de 100644 --- a/tungsten-ore.lua +++ b/tungsten-ore.lua @@ -1,8 +1,12 @@ local resource_autoplace = require('resource-autoplace'); -local noise = require('noise'); - +local item_sounds = require('__base__.prototypes.item_sounds') local util = require("__bztungsten__.data-util"); +data.raw.planet.nauvis.map_gen_settings.autoplace_controls["tungsten-ore"] = {} +data.raw.planet.nauvis.map_gen_settings.autoplace_settings.entity.settings["tungsten-ore"] = {} +resource_autoplace.initialize_patch_set("tungsten-ore", true) + + data:extend({ { type = "autoplace-control", @@ -12,10 +16,6 @@ data:extend({ order = "b-e" }, { - type = "noise-layer", - name = "tungsten-ore" - }, - { type = "resource", icon_size = 64, icon_mipmaps = 3, name = "tungsten-ore", @@ -53,43 +53,35 @@ data:extend({ { filename = "__bztungsten__/graphics/entity/ores/tungsten-ore.png", priority = "extra-high", - size = 64, + size = 128, frame_count = 8, variation_count = 8, - hr_version = - { - filename = "__bztungsten__/graphics/entity/ores/hr-tungsten-ore.png", - priority = "extra-high", - size = 128, - frame_count = 8, - variation_count = 8, - scale = 0.5 - } + scale = 0.5, } }, }, { - type = "item", - name = "tungsten-ore", - icon_size = 64, icon_mipmaps = 3, - icon = "__bztungsten__/graphics/icons/tungsten-ore.png", - pictures = { - {filename="__bztungsten__/graphics/icons/tungsten-ore.png", size=64, scale=0.25}, - {filename="__bztungsten__/graphics/icons/tungsten-ore-2.png", size=64, scale=0.25}, - {filename="__bztungsten__/graphics/icons/tungsten-ore-3.png", size=64, scale=0.25}, - {filename="__bztungsten__/graphics/icons/tungsten-ore-4.png", size=64, scale=0.25}, - }, - subgroup = "raw-resource", - order = "t-c-a", - stack_size = util.get_stack_size(50) + type = "item", + name = "tungsten-ore", + icon_size = 64, icon_mipmaps = 3, + icon = "__bztungsten__/graphics/icons/tungsten-ore.png", + pictures = { + {filename="__bztungsten__/graphics/icons/tungsten-ore.png", size=64, scale=0.5}, + {filename="__bztungsten__/graphics/icons/tungsten-ore-2.png", size=64, scale=0.5}, + {filename="__bztungsten__/graphics/icons/tungsten-ore-3.png", size=64, scale=0.5}, + {filename="__bztungsten__/graphics/icons/tungsten-ore-4.png", size=64, scale=0.5}, + }, + subgroup = "raw-resource", + order = "t-c-a", + stack_size = 50, + weight = 20 * kg, + inventory_move_sound = item_sounds.resource_inventory_move, + pick_sound = item_sounds.resource_inventory_pickup, + drop_sound = item_sounds.resource_inventory_move }, }) -- Wolframite becomes 20% richer past 1000 tiles, 60% richer past 10000 tiles. Very close to start, it's 25% richness local richness = data.raw.resource["tungsten-ore"].autoplace.richness_expression -data.raw.resource["tungsten-ore"].autoplace.richness_expression = - richness * noise.if_else_chain( - noise.less_than(noise.distance_from(noise.var("x"), noise.var("y"), noise.var("starting_positions")), noise.to_noise_expression(100)), 0.25, - noise.less_than(noise.distance_from(noise.var("x"), noise.var("y"), noise.var("starting_positions")), noise.to_noise_expression(1000)), 1, - noise.less_than(noise.distance_from(noise.var("x"), noise.var("y"), noise.var("starting_positions")), noise.to_noise_expression(10000)), 1.2, - 1.6) +data.raw.resource["tungsten-ore"].autoplace.richness_expression = richness .. + "* if(distance_from_nearest_point(x, y, starting_positions) < 100, 0.25, if(distance_from_nearest_point(x, y, starting_positions) < 1000, 1, if(distance_from_nearest_point(x, y, starting_positions) < 100, 1.2, 1.6)))" diff --git a/tungsten-recipe-5d.lua b/tungsten-recipe-5d.lua index 4792ae9..7bf46c8 100644 --- a/tungsten-recipe-5d.lua +++ b/tungsten-recipe-5d.lua @@ -21,9 +21,8 @@ if mods["5dim_core"] then icon_size = 128, icon_mipmaps = 3, enabled = true, energy_required = 50, - ingredients = {{"tungsten-ore", 85}}, - result = "tungsten-plate", - result_count = 50, + ingredients = {{type="item", name="tungsten-ore", amount=85}}, + results = {{type="item", name="tungsten-plate", amount=50}}, } }) end @@ -52,9 +51,9 @@ if mods["5dim_core"] then energy_required = 32/15, enabled = true, ingredients = { - {"tungsten-dust", 2} + {type="item", name="tungsten-dust", amount=2} }, - result = "tungsten-plate", + results = {{type="item", name="tungsten-plate", amount=1}}, }, { type = "recipe", @@ -67,7 +66,7 @@ if mods["5dim_core"] then energy_required = 3.2, enabled = true, ingredients = { - {"tungsten-ore", 1} + {type="item", name="tungsten-ore", amount=1} }, results = { {type="item", name = "tungsten-dust", amount=2}, @@ -83,9 +82,8 @@ if mods["5dim_core"] then icon_size = 128, icon_mipmaps = 3, enabled = true, energy_required = 50, - ingredients = {{"tungsten-dust", 85}}, - result = util.me.tungsten_plate, - result_count = 50, + ingredients = {{type="item", name="tungsten-dust", amount=85}}, + results = {{type="item", name=util.me.tungsten_plate, amount=50}}, }, { type = "recipe", @@ -97,9 +95,8 @@ if mods["5dim_core"] then icon_size = 128, icon_mipmaps = 3, enabled = true, energy_required = 500, - ingredients = {{"tungsten-plate", 85}}, - result = util.me.tungsten_plate, - result_count = 20, + ingredients = {{type="item", name="tungsten-plate", amount=85}}, + results = {{type="item", name=util.me.tungsten_plate, amount=20}}, } }) end diff --git a/tungsten-recipe-se.lua b/tungsten-recipe-se.lua index dd71b0c..6fd6190 100644 --- a/tungsten-recipe-se.lua +++ b/tungsten-recipe-se.lua @@ -40,7 +40,7 @@ if string.sub(mods["space-exploration"], 1, 3) >= "0.6" then icons = {{icon = "__bztungsten__/graphics/icons/tungsten-powder.png", icon_size = 64, icon_mipmaps = 3}}, order = "b-a-x", subgroup = "tungsten", - stack_size = util.get_stack_size(200), + stack_size = 200, } or { type = "fluid", name = "molten-tungsten", @@ -65,7 +65,7 @@ if string.sub(mods["space-exploration"], 1, 3) >= "0.6" then }, energy_required = 60, ingredients = { - {name = mods.Krastorio2 and "enriched-tungsten" or "tungsten-ore", amount = 24}, + {type="item", name = mods.Krastorio2 and "enriched-tungsten" or "tungsten-ore", amount = 24}, {type = "fluid", name = "se-pyroflux", amount = 10}, }, enabled = false, @@ -82,7 +82,7 @@ if string.sub(mods["space-exploration"], 1, 3) >= "0.6" then }, energy_required = 60, ingredients = { - {name = mods.Krastorio2 and "enriched-tungsten" or "tungsten-ore", amount = 24}, + {type="item", name = mods.Krastorio2 and "enriched-tungsten" or "tungsten-ore", amount = 24}, {type = "fluid", name = "se-pyroflux", amount = 10}, }, enabled = false, @@ -94,7 +94,7 @@ if string.sub(mods["space-exploration"], 1, 3) >= "0.6" then type = "recipe", name = "tungsten-ingot", category = "casting", - results = {{"tungsten-ingot", 1}}, + results = {{type="item", name="tungsten-ingot", amount=1}}, energy_required = 18, ingredients = { util.me.sinter() and {type = "item", name = "tungsten-powder", amount = 15} or @@ -114,12 +114,11 @@ if string.sub(mods["space-exploration"], 1, 3) >= "0.6" then {icon = "__bztungsten__/graphics/icons/tungsten-powder.png", icon_size = 64, scale = 0.25, shift = {-8, -8}} or {icon = "__bztungsten__/graphics/icons/molten-tungsten.png", icon_size = 128, scale = 0.125, shift = {-8, -8}}, }, - results = {{"tungsten-carbide", 4}}, + results = {{type="item", name="tungsten-carbide", amount=4}}, energy_required = 40, ingredients = { - data.raw.item["coke"] and {"coke", 8} or {"coal", 16}, - util.me.sinter() and {type = "item", name = "tungsten-powder", amount = 15} or - {type = "fluid", name = "molten-tungsten", amount = 375}, + data.raw.item["kr-coke"] and {type="item", name="kr-coke", amount=8} or {type="item", name="coal", amount=16}, + util.me.sinter() and {type = "item", name = "tungsten-powder", amount = 15} or {type = "fluid", name = "molten-tungsten", amount = 375}, }, enabled = false, always_show_made_in = true, @@ -134,11 +133,11 @@ if string.sub(mods["space-exploration"], 1, 3) >= "0.6" then {icon = "__bztungsten__/graphics/icons/tungsten-ingot.png", icon_size = 128, scale = 0.125, shift = {-8, -8}}, }, results = { - {name = "tungsten-plate", amount = 10}, + {type="item", name = "tungsten-plate", amount = 10}, }, energy_required = 5, ingredients = { - {name = "tungsten-ingot", amount = 1} + {type="item", name = "tungsten-ingot", amount = 1} }, enabled = false, always_show_made_in = true, @@ -178,11 +177,11 @@ else always_show_made_in = true, allow_as_intermediate = false, ingredients = { - {name = "enriched-tungsten", amount = 8}, - {name = "se-vulcanite-block", amount = 1}, + {type="item", name = "enriched-tungsten", amount = 8}, + {type="item", name = "se-vulcanite-block", amount = 1}, }, results = { - {name = util.me.tungsten_plate, amount = 8}, + {type="item", name = util.me.tungsten_plate, amount = 8}, }, icons = { @@ -207,11 +206,11 @@ else always_show_made_in = true, allow_as_intermediate = false, ingredients = { - {name = "tungsten-ore", amount = 16}, - {name = "se-vulcanite-block", amount = 1}, + {type="item", name = "tungsten-ore", amount = 16}, + {type="item", name = "se-vulcanite-block", amount = 1}, }, results = { - {name = util.me.tungsten_plate, amount = 12}, + {type="item", name = util.me.tungsten_plate, amount = 12}, }, icons = { @@ -237,19 +236,10 @@ if mods["aai-industry"] and not mods["Krastorio2"] and not mods.bzfoundry then { icon = "__bztungsten__/graphics/icons/tungsten-carbide.png", icon_size = 128 }, { icon = "__base__/graphics/icons/coal.png", icon_size = 64, icon_mipmaps=4, scale=0.25, shift= {-10, -10}}, }, - normal = { - enabled = false, - energy_required = 50, - ingredients = {{"tungsten-plate", 4}, {"coal", 1}}, - result = "tungsten-carbide", - result_count = 2, - }, - expensive = { - enabled = false, - energy_required = 50, - ingredients = {{"tungsten-plate", 4}, {"coal", 1}}, - result = "tungsten-carbide", - }, + enabled = false, + energy_required = 50, + ingredients = {{type="item", name="tungsten-plate", amount=4}, {type="item", name="coal", amount=1}}, + results = {{type="item", name="tungsten-carbide", amount=2}}, } }) util.add_effect(util.me.tungsten_processing, {type = "unlock-recipe", recipe= "tungsten-carbide-coal"}) diff --git a/tungsten-recipe-updates.lua b/tungsten-recipe-updates.lua index 445c4a5..7096fdd 100644 --- a/tungsten-recipe-updates.lua +++ b/tungsten-recipe-updates.lua @@ -102,13 +102,14 @@ util.add_ingredient("deadlock-floor-lamp", "tungsten-plate", 2) ---- K2 if mods["Krastorio2"] then - util.set_tech_recipe("engine", {{"basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) - util.set_tech_recipe("fluid-handling", {{"basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) - util.set_tech_recipe("optics", {{"basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) - util.set_tech_recipe("oil-processing", {{"basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) - util.set_tech_recipe("plastics", {{"basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) + util.set_tech_recipe("engine", {{"kr-basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) + util.set_tech_recipe("fluid-handling", {{"kr-basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) + util.set_tech_recipe("optics", {{"kr-basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) + -- TODO: Fix + --util.set_tech_recipe("oil-processing", {{"kr-basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) + util.set_tech_recipe("plastics", {{"kr-basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) if util.me.get_setting("bztungsten-avoid-military") == "yes" then - util.set_tech_recipe("rocketry", {{"basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) + util.set_tech_recipe("rocketry", {{"kr-basic-tech-card", 1}, {"automation-science-pack", 1}, {"logistic-science-pack", 1}}) end util.remove_prerequisite("kr-sentinel", "optics") @@ -122,7 +123,7 @@ if mods["Krastorio2"] then -- Heat related util.add_ingredient("kr-fusion-reactor", cuw, 350) util.add_ingredient("energy-control-unit", cuw, 3) - util.replace_some_ingredient("kr-advanced-furnace", "rare-metals", 40, cuw, 40) + util.replace_some_ingredient("kr-advanced-furnace", "kr-rare-metals", 40, cuw, 40) -- Other if mods.bzzirconium then @@ -145,7 +146,7 @@ if mods["Krastorio2"] then -- Tooling util.add_ingredient("kr-electric-mining-drill-mk2", "tungsten-carbide", 5) util.add_ingredient("kr-quarry-drill", "tungsten-carbide", 20) - util.replace_some_ingredient("kr-advanced-chemical-plant", "rare-metals", 40, "tungsten-carbide", 20) + util.replace_some_ingredient("kr-advanced-chemical-plant", "kr-rare-metals", 40, "tungsten-carbide", 20) end diff --git a/tungsten-recipe.lua b/tungsten-recipe.lua index dec3f0c..164d200 100644 --- a/tungsten-recipe.lua +++ b/tungsten-recipe.lua @@ -15,7 +15,7 @@ data:extend({ icon_size = 128, subgroup = "raw-material", order = "z[tungsten-carbide]", - stack_size = util.get_stack_size(100) + stack_size = 100 }, { type = "item", @@ -24,7 +24,7 @@ data:extend({ icon_size = 128, icon_mipmaps = 3, subgroup = "raw-material", order = "b[tungsten-plate]", - stack_size = util.get_stack_size(100) + stack_size = 100 } }) end @@ -33,7 +33,7 @@ data:extend({ { type = "recipe", name = util.me.tungsten_plate, - main_product = util.me.tungsten_plate, + --main_product = util.me.tungsten_plate, category = "smelting", order = "d[tungsten-plate]", icons = (mods["Krastorio2"] and { @@ -45,34 +45,10 @@ data:extend({ { { icon = "__bztungsten__/graphics/icons/tungsten-plate.png", icon_size = 128}, }), - normal = (mods["Krastorio2"] and - { - enabled = false, - energy_required = 24, - ingredients = {{"tungsten-ore", 15}}, - result = util.me.tungsten_plate, - result_count = 5, - } or - { - enabled = false, - energy_required = 32/15, - ingredients = {{"tungsten-ore", mods.bobplates and 4 or 2}}, - result = util.me.tungsten_plate, - }), - expensive = (mods["Krastorio2"] and - { - enabled = false, - energy_required = 32, - ingredients = {{"tungsten-ore", 20}}, - result = util.me.tungsten_plate, - result_count = 5, - } or - { - enabled = false, - energy_required = 48/15, - ingredients = {{"tungsten-ore", mods.bobplates and 6 or 3}}, - result = util.me.tungsten_plate, - }), + enabled = false, + energy_required = mods["Krastorio2"] and 24 or 32/15, + ingredients = {{type="item", name="tungsten-ore", amount=mods["Krastorio2"] and 15 or (mods.bobplates and 4 or 2)}}, + results = {{type="item", name=util.me.tungsten_plate, amount=mods["Krastorio2"] and 5 or 1}} }, { type = "technology", @@ -118,24 +94,10 @@ data:extend({ subgroup = "raw-material", category = "big-smelting", order = "d[tungsten-plate]", - normal = - { - enabled = false, - energy_required = 6, --TODO - ingredients = {{"tungsten-ore", 100}}, - results = { - {type="item", name = util.me.tungsten_plate, amount=50}, - } - }, - expensive = - { - enabled = false, - energy_required = 15, --TODO - ingredients = {{"tungsten-ore", 99}}, - results = { - {type="item", name = util.me.tungsten_plate, amount=33}, - } - } + enabled = false, + energy_required = 6, --TODO + ingredients = {{type="item", name="tungsten-ore", amount=100}}, + results = {{type="item", name = util.me.tungsten_plate, amount=50}} } or nil, }) @@ -174,40 +136,17 @@ data:extend({ { type = "recipe", name = util.me.tungsten_carbide_recipe, - main_product = util.me.tungsten_carbide_recipe, + --main_product = util.me.tungsten_carbide_recipe, category = (mods["Krastorio2"] and "smelting" or "smelting-carbon"), order = "z[tungsten-carbide]", icons = { mods.bobplates and { icon = "__bobplates__/graphics/icons/plate/tungsten-carbide-plate.png", icon_size = 64} or { icon = "__bztungsten__/graphics/icons/tungsten-carbide.png", icon_size = 128} }, - normal = (mods["Krastorio2"] and - { - enabled = false, - energy_required = 48, - ingredients = {{"tungsten-plate", 10}, {"coke", 5}}, - result = "tungsten-carbide", - result_count = 4, - } or { - enabled = false, - energy_required = 64/3, - ingredients = {{"tungsten-plate", 5}}, - result = "tungsten-carbide", - result_count = 2, - }), - expensive = (mods["Krastorio2"] and - { - enabled = false, - energy_required = 48, - ingredients = {{"tungsten-plate", 10}, {"coke", 5}}, - result = "tungsten-carbide", - result_count = 2, - } or { - enabled = false, - energy_required = 64/3, - ingredients = {{"tungsten-plate", 5}}, - result = "tungsten-carbide", - }), + enabled = false, + energy_required = mods["Krastorio2"] and 48 or 64/3, + ingredients = {{type="item", name="tungsten-plate", amount=mods["Krastorio2"] and 10 or 5}, mods["Krastorio2"] and {type="item", name="kr-coke", amount=5} or nil}, + results = {{type="item", name="tungsten-carbide", amount=mods["Krastorio2"] and 4 or 2}} }, }) @@ -219,7 +158,7 @@ data:extend({ icon_size = 128, subgroup = "intermediate-product", order = "z[rocket-engine-nozzle]", - stack_size = util.get_stack_size(100) + stack_size = 100 }, { type = "recipe", @@ -232,8 +171,8 @@ data:extend({ }, enabled = false, energy_required = 5, - ingredients = {{"tungsten-plate", 2}}, - results = {{"rocket-engine-nozzle", 1}}, + ingredients = {{type="item", name="tungsten-plate", amount=2}}, + results = {{type="item", name="rocket-engine-nozzle", amount=1}}, } }) @@ -246,7 +185,7 @@ if util.me.cuw() then icon_size = 128, subgroup = "raw-material", order = "z[cuw]", - stack_size = util.get_stack_size(100), + stack_size = 100, }, { type = "recipe", @@ -256,10 +195,10 @@ if util.me.cuw() then enabled = false, energy_required = 80, ingredients = { - {"tungsten-plate", 15}, - {"copper-plate", 5}, + {type="item", name="tungsten-plate", amount=15}, + {type="item", name="copper-plate", amount=5}, }, - results = {{"cuw", 20}}, + results = {{type="item", name="cuw", amount=20}}, }, }) util.add_unlock(util.me.tungsten_processing, "cuw") @@ -279,8 +218,8 @@ data:extend({ category = "double-smelting-carbon", enabled = false, energy_required = 32/3, - ingredients = {{"tungsten-ore", 5}}, - results = {{"tungsten-carbide", 1}}, + ingredients = {{type="item", name="tungsten-ore", amount=5}}, + results = {{type="item", name="tungsten-carbide", amount=1}}, } }) util.add_effect(util.me.tungsten_processing, {type = "unlock-recipe", recipe = "double-tungsten"}) diff --git a/tungsten-sim.lua b/tungsten-sim.lua index 2a2a27f..1e68503 100644 --- a/tungsten-sim.lua +++ b/tungsten-sim.lua @@ -16,8 +16,8 @@ data.raw["utility-constants"]["default"].main_menu_simulations["tungsten-nozzle" [[ local logo = game.surfaces.nauvis.find_entities_filtered{ name = "factorio-logo-11tiles", limit = 1}[1] - game.camera_position = {logo.position.x, logo.position.y+8} - game.camera_zoom = 1.5 + game.simulation.camera_position = {logo.position.x, logo.position.y+8} + game.simulation.camera_zoom = 1.5 game.tick_paused = false game.surfaces.nauvis.daytime = 1 ]],