diff --git a/changelog.txt b/changelog.txt index d113da2..b403802 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,13 @@ --------------------------------------------------------------------------------------------------- +Version: 3.3.0 +Date: 2026-07-30 + Changes: + - Updated for 2.1 + - Updated shunt inserter graphics. Thank you Talander! + - Removed steam engine minimum steam temperature as a stopgap fix until wube fixed fluid temp 'mixing' + Bugfixes: + - Fixed that alt names were concatenated instead of chosen. Resolves https://github.com/pyanodon/pybugreports/issues/1497 +--------------------------------------------------------------------------------------------------- Version: 3.2.18 Date: 2026-03-08 Changes: diff --git a/control.lua b/control.lua index 2ee195d..0c22394 100644 --- a/control.lua +++ b/control.lua @@ -34,8 +34,8 @@ script.on_event(defines.events.on_player_created, function(event) local nauvis = game.surfaces["nauvis"] if not nauvis then return end local elevation = game.surfaces["nauvis"].map_gen_settings.property_expression_names.elevation - if elevation ~= "pyblock_classic" and elevation ~= "pyblock_island" and elevation ~= "pyblock_archipeligo" then - player.print {"messages.pyblock-warning-no-preset"} + if elevation ~= "pyblock_classic" and elevation ~= "pyblock_island" and elevation ~= "pyblock_archipeligo" then + player.print {"messages.pyblock-warning-no-preset"} end player.print {"messages.pyblock-intro"} end) diff --git a/data-updates.lua b/data-updates.lua index 4dd1af1..1ab7a41 100644 --- a/data-updates.lua +++ b/data-updates.lua @@ -9,6 +9,7 @@ require("prototypes/updates/pypetroleumhandling-updates") require("prototypes/updates/pyrawores-updates") require("prototypes/updates/pyalienlife-updates") require("prototypes/updates/pyalternativeenergy-updates") +require("prototypes/updates/pyhardmode-updates") --mapgen-- require("prototypes/mapgen") @@ -67,7 +68,7 @@ end data.raw.technology["excavation-1"].unit.ingredients = {{"automation-science-pack", 1}, {"py-science-pack-1", 1}} data.raw.technology["excavation-1"].prerequisites = nil -table.insert(RECIPE("soot-separation").results, {type = "item", name = "ore-nickel", amount = 1, probability = 0.1}) +RECIPE("soot-separation"):add_result{type = "item", name = "ore-nickel", amount = 1, independent_probability = 0.1} RECIPE("soot-separation").unlock_results = true @@ -127,7 +128,7 @@ for o, ore in pairs(ores) do }, results = { {type = "item", name = o, amount = ore.amount}, - {type = "item", name = "ash", amount = 1, probability = 0.3} + {type = "item", name = "ash", amount = 1, independent_probability = 0.3} }, result = nil, main_product = o, @@ -135,7 +136,7 @@ for o, ore in pairs(ores) do } for s, secondary_ore in pairs(ores) do if s ~= o then - table.insert(data.raw.recipe["soot-to-" .. ore.recipe_extension].results, {type = "item", name = s, amount = 1, probability = secondary_ore.byproduct_probability}) + RECIPE("soot-to-" .. ore.recipe_extension):add_result{type = "item", name = s, amount = 1, independent_probability = secondary_ore.byproduct_probability} end end end @@ -214,21 +215,15 @@ RECIPE("automated-screener-mk01"):add_ingredient {type = "item", name = "automat RECIPE("distilator"):add_ingredient {type = "item", name = "ddc-mk00", amount = 1} --- data.raw.technology["mega-farm"].unit.ingredients = {{"automation-science-pack", 1},{"py-science-pack-1",1}} --- TECHNOLOGY("mega-farm"):set_fields{prerequisites = {}} - --- RECIPE("mega-farm"):set_fields{ingredients = {}}:add_ingredient({"concrete", 200}):add_ingredient({"treated-wood", 50}) - --- RECIPE("replicator-bioreserve"):set_fields{ingredients = {}} - --- data.raw.technology["mega-farm-bioreserve"].unit.ingredients = {{"automation-science-pack", 1},{"py-science-pack-1",1}} - RECIPE("earth-generic-sample"):remove_unlock("xenobiology"):add_unlock("biotech-mk01") RECIPE("data-array"):remove_ingredient("titanium-plate") RECIPE("molten-zinc-01"):replace_ingredient("heavy-oil", "heavy-oil", 40) +-- remove min temp, stopgap fix until wube fixes fluid temp 'mixing' +ENTITY("steam-engine").fluid_box.minimum_temperature = nil + -- create pumping productivity techs for i = 1, 12 do local tech = table.deepcopy(data.raw.technology["mining-productivity-" .. i]) @@ -251,32 +246,32 @@ for i = 1, 12 do end drilling_categories = { - clay = true, - ["soil-extraction"] = true, - ["ground-borer"] = true, - ["sand-extractor"] = true + "clay", + "soil-extraction", + "ground-borer", + "sand-extractor" } pumping_categories = { - coalbed = true, - fracking = true, - pumpjack = true + "coalbed", + "fracking", + "pumpjack" } -for r, recipe in pairs(data.raw.recipe) do - if drilling_categories[recipe.category] then +for recipe in pairs(data.raw.recipe) do + if RECIPE(recipe):has_categories(drilling_categories) then for i = 1, 12 do data.raw.technology["mining-productivity-" .. i].effects[#data.raw.technology["mining-productivity-" .. i].effects + 1] = { type = "change-recipe-productivity", - recipe = r, + recipe = recipe, change = 0.1 } end - elseif pumping_categories[recipe.category] then + elseif RECIPE(recipe):has_categories(pumping_categories) then for i = 1, 12 do data.raw.technology["pumping-productivity-" .. i].effects[#data.raw.technology["pumping-productivity-" .. i].effects + 1] = { type = "change-recipe-productivity", - recipe = r, + recipe = recipe, change = 0.1 } end @@ -294,9 +289,9 @@ if settings.startup["disable-pyblock-fun-names"].value then "wpu-mk00", "solid-separator-mk00" }) do - data.raw["assembling-machine"][entity].localised_name = { "", "entity-name-alt." .. entity, "entity-name." .. entity } + data.raw["assembling-machine"][entity].localised_name = { "?", "entity-name-alt." .. entity, "entity-name." .. entity } end - data.raw["furnace"]["compost-plant-mk00"].localised_name = { "", "entity-name-alt.compost-plant-mk00", "entity-name-alt.compost-plant-mk00" } + data.raw["furnace"]["compost-plant-mk00"].localised_name = { "?", "entity-name-alt.compost-plant-mk00", "entity-name-alt.compost-plant-mk00" } end if register_cache_file ~= nil then diff --git a/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-horizontal-remnants.png b/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-horizontal-remnants.png new file mode 100644 index 0000000..c293e50 Binary files /dev/null and b/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-horizontal-remnants.png differ diff --git a/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-horizontal.png b/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-horizontal.png new file mode 100644 index 0000000..1cfaaa4 Binary files /dev/null and b/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-horizontal.png differ diff --git a/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-vertical-remnants.png b/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-vertical-remnants.png new file mode 100644 index 0000000..d911d9b Binary files /dev/null and b/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-vertical-remnants.png differ diff --git a/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-vertical.png b/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-vertical.png new file mode 100644 index 0000000..7079584 Binary files /dev/null and b/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-vertical.png differ diff --git a/info.json b/info.json index cb95d0f..36b114a 100644 --- a/info.json +++ b/info.json @@ -1,15 +1,15 @@ { "name": "PyBlock", - "version": "3.2.18", - "factorio_version": "2.0", + "version": "3.3.0", + "factorio_version": "2.1", "title": "PyBlock", - "author": "KingArthur", + "author": "KingArthur, protocol_1903", "contact": "PM on the Factorio Forums", "homepage": "", "description": "Pymod edition of a Sea Block style game", "dependencies": [ - "base >= 2.0", - "pyalternativeenergy >= 3.1.34", + "base >= 2.1", + "pyalternativeenergy >= 3.2.0", "? aai-loaders", "! pystellarexpedition" ] diff --git a/prototypes/buildings/mega-farm-thing.lua b/prototypes/buildings/mega-farm-thing.lua index efaed01..65cc12e 100644 --- a/prototypes/buildings/mega-farm-thing.lua +++ b/prototypes/buildings/mega-farm-thing.lua @@ -327,7 +327,7 @@ ENTITY { filename = "__base__/sound/silo-rocket.ogg", volume = 1.0 } - ]] -- + ]] -- } data:extend {{ diff --git a/prototypes/buildings/shunt-inserter.lua b/prototypes/buildings/shunt-inserter.lua index 733ddd6..f7fff18 100644 --- a/prototypes/buildings/shunt-inserter.lua +++ b/prototypes/buildings/shunt-inserter.lua @@ -1,3 +1,4 @@ +---@diagnostic disable: param-type-mismatch RECIPE { type = "recipe", name = "shunt-inserter", @@ -13,10 +14,7 @@ RECIPE { } }:add_unlock("atomizer-mk00") -ITEM { - type = "item", - name = "shunt-inserter", - icons = { +local icons = { { icon = table.deepcopy(data.raw.item["burner-inserter"].icon), icon_size = 64, @@ -28,7 +26,12 @@ ITEM { shift = {-8, 8}, scale = 0.25 } - }, +} + +ITEM { + type = "item", + name = "shunt-inserter", + icons = icons, flags = {}, subgroup = "inserter", order = "a[shunt-inserter]", @@ -36,69 +39,203 @@ ITEM { stack_size = 50 } +require("__base__.prototypes.entity.pipecovers") +local item_sounds = require("__base__.prototypes.item_sounds") +local hit_effects = require("__base__.prototypes.entity.hit-effects") +local sounds = require("__base__.prototypes.entity.sounds") + +local function steam_inserter_pipe_straight() + return { + north = { + filename = "__PyBlock__/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-vertical.png", + priority = "extra-high", + width = 128, + height = 128, + shift = util.by_pixel(0, 32), + scale = 0.5, + }, + west = { + filename = "__PyBlock__/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-horizontal.png", + priority = "extra-high", + width = 128, + height = 128, + shift = util.by_pixel(32, 0), + scale = 0.5, + }, + south = util.empty_sprite(), + east = util.empty_sprite(), + } +end + +local function steam_inserter_pipe_cross() + return { + north = { + filename = "__PyBlock__/graphics/entity/shunt-inserter/pipe-inserter-base-4-directions.png", + priority = "extra-high", + width = 128, + height = 128, + shift = util.by_pixel(0, 32), + scale = 0.5, + }, + west = { + filename = "__PyBlock__/graphics/entity/shunt-inserter/pipe-inserter-base-4-directions.png", + priority = "extra-high", + width = 128, + height = 128, + shift = util.by_pixel(32, 0), + scale = 0.5, + }, + south = util.empty_sprite(), + east = util.empty_sprite(), + } +end + ENTITY { - type = "inserter", - name = "shunt-inserter", - icons = { - { - icon = table.deepcopy(data.raw.item["burner-inserter"].icon), - icon_size = 64, - tint = {0.75, 0.75, 0.75, 1} + type = "inserter", + name = "shunt-inserter", + icons = icons, + flags = {"placeable-neutral", "placeable-player", "player-creation" }, + minable = {mining_time = 0.1, result = "shunt-inserter"}, + max_health = 150, + corpse = "shunt-inserter-remnants", + dying_explosion = "inserter-explosion", + collision_box = {{-0.289063, -0.289063}, {0.289063, 0.289063}}, + selection_box = {{-0.398438, -0.398438}, {0.398438, 0.398438}}, + damaged_trigger_effect = hit_effects.entity(), + energy_source = { + type = "fluid", + burns_fluid = true, + scale_fluid_usage = true, + fluid_box = { + volume = 20, + pipe_covers = py.pipe_covers(true, true, true, true), + pipe_picture = steam_inserter_pipe_straight(), + always_draw_covers = false, + pipe_connections = { + {direction = defines.direction.east, position = {0, 0}}, + {direction = defines.direction.west, position = {0, 0}}, + }, + production_type = "input-output", + filter = "steam", + volume_reservation_fraction = 0.2 + }, + smoke = { + { + name = "smoke", + frequency = 3, + position = {0, 0}, + starting_vertical_speed = 0.1, + starting_frame_deviation = 60, + }, + }, }, - { - icon = data.raw.fluid["steam"].icon, - icon_size = 64, - shift = {-8, 8}, - scale = 0.25 - } - }, - flags = {"placeable-neutral", "player-creation"}, - minable = {mining_time = 0.1, result = "shunt-inserter"}, - fast_replaceable_group = "inserter", - max_health = 100, - corpse = "burner-inserter-remnants", - dying_explosion = "burner-inserter-explosion", - collision_box = {{-0.289063, -0.289063}, {0.289063, 0.289063}}, - selection_box = {{-0.398438, -0.398438}, {0.398438, 0.398438}}, - energy_source = { - type = "fluid", - effectivity = 1, - emissions = 1, - fluid_box = { - volume = 20, - pipe_covers = py.pipe_covers(true, true, true, true), - pipe_connections = { - {flow_direction = "input-output", position = {0, 0}, direction = 4}, - {flow_direction = "input-output", position = {0, 0}, direction = 12}, + extension_speed = 0.035, + rotation_speed = 0.0175, + insert_position = {0, 1.2}, + pickup_position = {0, -1}, + energy_per_movement = "10kW", + energy_per_rotation = "10kW", + filter_count = 1, + platform_picture = util.empty_sprite(), + hand_base_picture = { + filename = "__base__/graphics/entity/burner-inserter/burner-inserter-hand-base.png", + priority = "extra-high", + width = 32, + height = 136, + scale = 0.25, + }, + hand_open_picture = { + filename = "__base__/graphics/entity/burner-inserter/burner-inserter-hand-open.png", + priority = "extra-high", + width = 72, + height = 164, + scale = 0.25, + }, + hand_closed_picture = { + filename = "__base__/graphics/entity/burner-inserter/burner-inserter-hand-closed.png", + priority = "extra-high", + width = 72, + height = 164, + scale = 0.25, + }, + hand_base_shadow = { + filename = "__base__/graphics/entity/burner-inserter/burner-inserter-hand-base-shadow.png", + priority = "extra-high", + width = 32, + height = 132, + scale = 0.25, + }, + hand_open_shadow = { + filename = "__base__/graphics/entity/burner-inserter/burner-inserter-hand-open-shadow.png", + priority = "extra-high", + width = 72, + height = 164, + scale = 0.25, + }, + hand_closed_shadow = { + filename = "__base__/graphics/entity/burner-inserter/burner-inserter-hand-closed-shadow.png", + priority = "extra-high", + width = 72, + height = 164, + scale = 0.25, + }, + icon_draw_specification = { + shift = {0.25, -0.25}, + render_layer = "entity-info-icon-above", + scale = 0.4, + }, + fast_replaceable_group = "inserter", + impact_category = "metal", + open_sound = sounds.inserter_open, + close_sound = sounds.inserter_close, + working_sound = sounds.inserter_fast, + circuit_connector = circuit_connector_definitions["inserter"], + circuit_wire_max_distance = inserter_circuit_wire_max_distance, + default_stack_control_input_signal = inserter_default_stack_control_input_signal, +} + +data:extend{ + { + type = "corpse", + name = "shunt-inserter-remnants", + icons = icons, + flags = {"placeable-neutral", "not-on-map" }, + subgroup = "inserter-remnants", + order = "a-d-a", + selection_box = {{-0.5, -0.5}, {0.5, 0.5} }, + tile_width = 1, + tile_height = 1, + selectable_in_game = false, + time_before_removed = 60 * 60 * 15, + final_render_layer = "remnants", + remove_on_tile_placement = false, + animation = { + width = 128, + height = 128, + direction_count = 4, + stripes = { + { + filename = "__PyBlock__/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-horizontal-remnants.png", + width_in_frames = 1, + height_in_frames = 1, + }, + { + filename = "__PyBlock__/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-vertical-remnants.png", + width_in_frames = 1, + height_in_frames = 1, + }, + { + filename = "__PyBlock__/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-horizontal-remnants.png", + width_in_frames = 1, + height_in_frames = 1, + }, + { + filename = "__PyBlock__/graphics/entity/shunt-inserter/pipe-inserter-base-2-directions-vertical-remnants.png", + width_in_frames = 1, + height_in_frames = 1, + }, }, - production_type = "input-output", - filter = "steam", - maximum_temperature = 2000 + scale = 0.5 } - }, - circuit_wire_max_distance = data.raw.inserter["burner-inserter"].circuit_wire_max_distance, - circuit_connector = data.raw.inserter["burner-inserter"].circuit_connector, - extension_speed = 0.035, - rotation_speed = 0.0175, - insert_position = {0, 1.2}, - pickup_position = {0, -1}, - energy_per_movement = "10kW", - energy_per_rotation = "10kW", - hide_connection_info = true, - filter_count = 1, - platform_picture = { - north = table.deepcopy(data.raw["pipe"]["pipe"].pictures.straight_horizontal), - south = table.deepcopy(data.raw["pipe"]["pipe"].pictures.straight_horizontal), - east = table.deepcopy(data.raw["pipe"]["pipe"].pictures.straight_vertical), - west = table.deepcopy(data.raw["pipe"]["pipe"].pictures.straight_vertical) - }, - hand_base_picture = table.deepcopy(data.raw["inserter"]["burner-inserter"].hand_base_picture), - hand_open_picture = table.deepcopy(data.raw["inserter"]["burner-inserter"].hand_open_picture), - hand_closed_picture = table.deepcopy(data.raw["inserter"]["burner-inserter"].hand_closed_picture), - icon_draw_specification = table.deepcopy(data.raw["inserter"]["burner-inserter"].icon_draw_specification) + } } - -data.raw["inserter"]["shunt-inserter"].icon_draw_specification.shift = {0.25, -0.25} -data.raw["inserter"]["shunt-inserter"].hand_base_picture.tint = {0.75, 0.75, 0.75, 1} -data.raw["inserter"]["shunt-inserter"].hand_open_picture.tint = {0.75, 0.75, 0.75, 1} -data.raw["inserter"]["shunt-inserter"].hand_closed_picture.tint = {0.75, 0.75, 0.75, 1} diff --git a/prototypes/buildings/shunt-loader.lua b/prototypes/buildings/shunt-loader.lua index fc9ef76..2e1088f 100644 --- a/prototypes/buildings/shunt-loader.lua +++ b/prototypes/buildings/shunt-loader.lua @@ -2,28 +2,28 @@ if not mods["aai-loaders"] then return end AAILoaders.make_tier{ name = "shunt", - transport_belt = "transport-belt", + transport_belt = "transport-belt", speed = 0.0078125, - color = {0.5, 0.5, 0.5}, + color = {0.5, 0.5, 0.5}, fluid = "steam", fluid_per_minute = 0.05, technology = { name = "automation-science-pack" }, recipe = { - ingredients = { + ingredients = { {type = "item", name = "transport-belt", amount = 1}, {type = "item", name = "iron-plate", amount = 4}, {type = "item", name = "pipe", amount = 1} }, - energy_required = 2 + energy_required = 2 }, unlubricated_recipe = { - ingredients = { + ingredients = { {type = "item", name = "transport-belt", amount = 1}, {type = "item", name = "iron-plate", amount = 6} }, - energy_required = 2 + energy_required = 2 }, order = "d[loader]-a00[shunt-loader]", - upgrade = "aai-loader", + upgrade = "aai-loader", localise = false } \ No newline at end of file diff --git a/prototypes/buildings/washer-mk00.lua b/prototypes/buildings/washer-mk00.lua index 9bc1fed..b7aa4bb 100644 --- a/prototypes/buildings/washer-mk00.lua +++ b/prototypes/buildings/washer-mk00.lua @@ -78,21 +78,21 @@ data.raw["assembling-machine"]["washer-mk00"] = burner_washer -- type = "fluid", -- effectivity = 1, -- emissions = 1, --- fluid_box = --- { --- base_area = 1, --- height = 2, --- base_level = -1, --- pipe_covers = pipecoverspictures(), --- pipe_connections = --- { --- {type = "input-output", position = {-3.5,0.5}}, --- {type = "input-output", position = {3.5, 0.5} } --- }, --- filter = "steam", --- production_type = "input-output", --- }, --- scale_fluid_usage = true, +-- fluid_box = +-- { +-- base_area = 1, +-- height = 2, +-- base_level = -1, +-- pipe_covers = pipecoverspictures(), +-- pipe_connections = +-- { +-- {type = "input-output", position = {-3.5,0.5}}, +-- {type = "input-output", position = {3.5, 0.5} } +-- }, +-- filter = "steam", +-- production_type = "input-output", +-- }, +-- scale_fluid_usage = true, -- }, -- energy_usage = "100kW", -- animation = { diff --git a/prototypes/entity.lua b/prototypes/entity.lua index 1c38e20..9793958 100644 --- a/prototypes/entity.lua +++ b/prototypes/entity.lua @@ -1,8 +1,8 @@ local crashedshipparts = { - 'crash-site-spaceship', 'crash-site-spaceship-wreck-big-1', - 'crash-site-spaceship-wreck-big-2', 'crash-site-spaceship-wreck-medium-1', 'crash-site-spaceship-wreck-medium-2', - 'crash-site-spaceship-wreck-medium-3', 'crash-site-chest-1', 'crash-site-chest-2' + 'crash-site-spaceship', 'crash-site-spaceship-wreck-big-1', + 'crash-site-spaceship-wreck-big-2', 'crash-site-spaceship-wreck-medium-1', 'crash-site-spaceship-wreck-medium-2', + 'crash-site-spaceship-wreck-medium-3', 'crash-site-chest-1', 'crash-site-chest-2' } for c, crashed in pairs(crashedshipparts) do diff --git a/prototypes/recipe-categories.lua b/prototypes/recipe-categories.lua index ace3715..2ca7a5c 100644 --- a/prototypes/recipe-categories.lua +++ b/prototypes/recipe-categories.lua @@ -1,19 +1,19 @@ data:extend { - --[[ - { - type = "recipe-category", - name = "starter-nursery", - }, - { - type = "recipe-category", - name = "fwf-basic", - }, - ]]-- - { - type = "recipe-category", - name = "geowater", - }, + --[[ + { + type = "recipe-category", + name = "starter-nursery", + }, + { + type = "recipe-category", + name = "fwf-basic", + }, + ]]-- + { + type = "recipe-category", + name = "geowater", + }, { type = "recipe-category", name = "cultivation" diff --git a/prototypes/recipes/recipes-kimberlite.lua b/prototypes/recipes/recipes-kimberlite.lua index 058555b..148fb42 100644 --- a/prototypes/recipes/recipes-kimberlite.lua +++ b/prototypes/recipes/recipes-kimberlite.lua @@ -1,7 +1,7 @@ RECIPE{ type = "recipe", name = "coal-dust-early", - category = "centrifuging", + categories = {"centrifuging"}, enabled = false, energy_required = 10, ingredients = { @@ -18,7 +18,7 @@ RECIPE{ RECIPE{ type = "recipe", name = "making-dust-into-diamonds", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 45, ingredients = { diff --git a/prototypes/recipes/recipes-uranium.lua b/prototypes/recipes/recipes-uranium.lua index 4e6703a..bcef6d8 100644 --- a/prototypes/recipes/recipes-uranium.lua +++ b/prototypes/recipes/recipes-uranium.lua @@ -4,7 +4,7 @@ RECIPE { type = "recipe", name = "sodium-acetate", - category = "biofactory", + categories = {"biofactory"}, enabled = false, energy_required = 5, ingredients = { @@ -23,7 +23,7 @@ RECIPE { RECIPE { type = "recipe", name = "ethane", - category = "electrolyzer", + categories = {"electrolyzer"}, enabled = false, energy_required = 12, ingredients = { @@ -44,7 +44,7 @@ RECIPE { RECIPE { type = "recipe", name = "dichloroethane", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 15, ingredients = { @@ -65,7 +65,7 @@ RECIPE { RECIPE { type = "recipe", name = "fecl2", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 6, ingredients = { @@ -84,7 +84,7 @@ RECIPE { RECIPE { type = "recipe", name = "fecl3", - category = "chemistry", + categories = {"chemistry"}, enabled = false, energy_required = 8, ingredients = { @@ -102,7 +102,7 @@ RECIPE { RECIPE { type = "recipe", name = "ethylenediamine", - category = "fbreactor", + categories = {"fbreactor"}, enabled = false, energy_required = 12, ingredients = { @@ -123,7 +123,7 @@ RECIPE { RECIPE { type = "recipe", name = "nylon-rope", - category = "crafting", + categories = {"crafting"}, enabled = false, energy_required = 6, ingredients = { @@ -140,7 +140,7 @@ RECIPE { RECIPE { type = "recipe", name = "nylon-rope-coated", - category = "hydroclassifier", + categories = {"hydroclassifier"}, enabled = false, energy_required = 9, ingredients = { @@ -158,7 +158,7 @@ RECIPE { RECIPE { type = "recipe", name = "nylon-rope-uranyl-soaked", - category = "hydroclassifier", + categories = {"hydroclassifier"}, enabled = false, energy_required = 60, ingredients = { @@ -176,7 +176,7 @@ RECIPE { RECIPE { type = "recipe", name = "uranyl-nitrate", - category = "scrubber", + categories = {"scrubber"}, enabled = false, energy_required = 42, ingredients = { @@ -184,7 +184,7 @@ RECIPE { {type = "item", name = "tbp", amount = 10}, }, results = { - {type = "item", name = "uranyl-nitrate", amount = 10, probability = .6}, + {type = "item", name = "uranyl-nitrate", amount = 10, independent_probability = .6}, }, main_product = "uranyl-nitrate", subgroup = "py-rawores-uranium", @@ -194,7 +194,7 @@ RECIPE { RECIPE { type = "recipe", name = "uranium-ore", - category = "leaching", + categories = {"leaching"}, enabled = false, energy_required = 20, ingredients = { diff --git a/prototypes/recipes/recipes.lua b/prototypes/recipes/recipes.lua index 0eddb1a..4a00aff 100644 --- a/prototypes/recipes/recipes.lua +++ b/prototypes/recipes/recipes.lua @@ -1,74 +1,74 @@ -- soil to stone RECIPE { - type = "recipe", - name = "soil-to-stone", - category = "washer", - enabled = true, - energy_required = 4, - ingredients = - { - { type = "item", name = "soil", amount = 24 }, - { type = "fluid", name = "water", amount = 400 } - }, - results = - { - { type = "item", name = "stone", amount = 10 }, - { type = "fluid", name = "muddy-sludge", amount = 50 } - }, - main_product = "stone", - icon = "__pycoalprocessinggraphics__/graphics/icons/soil-washer.png", - icon_size = 32, - subgroup = "py-washer", - order = "c" + type = "recipe", + name = "soil-to-stone", + categories = {"washer"}, + enabled = true, + energy_required = 4, + ingredients = + { + { type = "item", name = "soil", amount = 24 }, + { type = "fluid", name = "water", amount = 400 } + }, + results = + { + { type = "item", name = "stone", amount = 10 }, + { type = "fluid", name = "muddy-sludge", amount = 50 } + }, + main_product = "stone", + icon = "__pycoalprocessinggraphics__/graphics/icons/soil-washer.png", + icon_size = 32, + subgroup = "py-washer", + order = "c" } -- early quartz RECIPE { - type = "recipe", - name = "sand-quartz-sifting", - category = "screener", - enabled = false, - ingredients = - { - { type = "item", name = "sand", amount = 10 } - }, - results = - { - { type = "item", name = "ore-quartz", amount = 2 } - }, - main_product = "ore-quartz", - icon = "__pyraworesgraphics__/graphics/icons/ores/ore-quartz.png", - icon_size = 32, - subgroup = "py-washer", - order = "c", - energy_required = 4 + type = "recipe", + name = "sand-quartz-sifting", + categories = {"screener"}, + enabled = false, + ingredients = + { + { type = "item", name = "sand", amount = 10 } + }, + results = + { + { type = "item", name = "ore-quartz", amount = 2 } + }, + main_product = "ore-quartz", + icon = "__pyraworesgraphics__/graphics/icons/ores/ore-quartz.png", + icon_size = 32, + subgroup = "py-washer", + order = "c", + energy_required = 4 }:add_unlock("glass") -- geothermal water fake mining recipe RECIPE { - type = "recipe", - name = "geothermal-water", - category = "geowater", - enabled = false, - energy_required = 4, - ingredients = { - { type = "fluid", name = "pressured-water", amount = 3750 }, + type = "recipe", + name = "geothermal-water", + categories = {"geowater"}, + enabled = false, + energy_required = 4, + ingredients = { + { type = "fluid", name = "pressured-water", amount = 3750 }, { type = "item", name = "pipe", amount = 20 } - }, - results = { - { type = "fluid", name = "geothermal-water", amount = 400, temperature = 3000 }, - { type = "item", name = "pipe", amount_min = 0, amount_max = 20, probability = 0.9 } - }, - main_product = "geothermal-water", + }, + results = { + { type = "fluid", name = "geothermal-water", amount = 400, temperature = 3000 }, + { type = "item", name = "pipe", amount_min = 0, amount_max = 20, independent_probability = 0.9 } + }, + main_product = "geothermal-water", }:add_unlock("geothermal-power-mk01") -- bootstrapping stone to moss RECIPE { type = "recipe", name = "moss-cultivation", - category = "washer", - subgroup = "py-alienlife-moss", + categories = {"washer"}, + subgroup = "py-alienlife-moss", enabled = false, energy_required = 160, ingredients = { @@ -76,9 +76,9 @@ RECIPE { { type = "fluid", name = "water", amount = 1200 }, }, results = { - { type = "item", name = "stone", amount_min = 6, amount_max = 12, probability = 0.5 }, + { type = "item", name = "stone", amount_min = 6, amount_max = 12, independent_probability = 0.5 }, { type = "fluid", name = "muddy-sludge", amount = 1200 }, - { type = "item", name = "moss", amount = 1, probability = 0.08 }, + { type = "item", name = "moss", amount = 1, independent_probability = 0.08 }, }, main_product = "moss" }:add_unlock("moss-mk01") @@ -87,8 +87,8 @@ RECIPE { RECIPE { type = "recipe", name = "sap-cultivation", - category = "fwf", - subgroup = "py-alienlife-sap", + categories = {"fwf"}, + subgroup = "py-alienlife-sap", enabled = false, energy_required = 120, ingredients = { @@ -96,7 +96,7 @@ RECIPE { { type = "fluid", name = "water", amount = 800 }, }, results = { - { type = "item", name = "saps", amount_min = 0, amount_max = 2, probability = 0.1 }, + { type = "item", name = "saps", amount_min = 0, amount_max = 2, independent_probability = 0.1 }, { type = "item", name = "log", amount = 4 } }, main_product = "saps" @@ -106,8 +106,8 @@ RECIPE { RECIPE { type = "recipe", name = "synthesize-flora", - category = "cultivation", - subgroup = "py-alienlife-genetics", + categories = {"cultivation"}, + subgroup = "py-alienlife-genetics", enabled = false, energy_required = 12, ingredients = { @@ -116,7 +116,7 @@ RECIPE { { type = "item", name = "fawogae", amount = 4 } }, results = { - { type = "item", name = "native-flora", amount = 1, probability = 0.02 } + { type = "item", name = "native-flora", amount = 1, independent_probability = 0.02 } }, show_amount_in_title = false }:add_unlock("automation-science-pack") @@ -124,8 +124,8 @@ RECIPE { RECIPE { type = "recipe", name = "flora-cultivation", - category = "cultivation", - subgroup = "py-alienlife-genetics", + categories = {"cultivation"}, + subgroup = "py-alienlife-genetics", enabled = false, energy_required = 15, ingredients = { @@ -143,8 +143,8 @@ RECIPE { RECIPE { type = "recipe", name = "flora-cultivation-2", - category = "cultivation", - subgroup = "py-alienlife-genetics", + categories = {"cultivation"}, + subgroup = "py-alienlife-genetics", enabled = false, energy_required = 20, ingredients = { @@ -163,8 +163,8 @@ RECIPE { RECIPE { type = "recipe", name = "flora-cultivation-3", - category = "cultivation", - subgroup = "py-alienlife-genetics", + categories = {"cultivation"}, + subgroup = "py-alienlife-genetics", enabled = false, energy_required = 30, ingredients = { @@ -187,111 +187,111 @@ RECIPE { --new fluids for ree from ash --[[ RECIPE { - type = "recipe", - name = "propene-to-butanol", - ingredients = - { - { type = "fluid", name = "propene", amount = 50 }, - { type = "fluid", name = "hydrogen", amount = 50 }, - { type = "fluid", name = "carbon-dioxide", amount = 25 } - }, - results = - { - { type = "fluid", name = "butanol", amount = 50 } - }, - main_product = "butanol", - category = "electrolyzer" + type = "recipe", + name = "propene-to-butanol", + ingredients = + { + { type = "fluid", name = "propene", amount = 50 }, + { type = "fluid", name = "hydrogen", amount = 50 }, + { type = "fluid", name = "carbon-dioxide", amount = 25 } + }, + results = + { + { type = "fluid", name = "butanol", amount = 50 } + }, + main_product = "butanol", + categories = {"electrolyzer"} }:add_unlock("uranium-mk01") ]]-- --[[ RECIPE { - type = "recipe", - name = "phosphorus-tricloride", - ingredients = - { - { type = "item", name = "powdered-phosphate-rock", amount = 10 }, - { type = "fluid", name = "chlorine", amount = 60 } - }, - results = - { - { type = "fluid", name = "phosphorus-tricloride", amount = 50 } - }, - main_product = "phosphorus-tricloride", - category = "electrolyzer" + type = "recipe", + name = "phosphorus-tricloride", + ingredients = + { + { type = "item", name = "powdered-phosphate-rock", amount = 10 }, + { type = "fluid", name = "chlorine", amount = 60 } + }, + results = + { + { type = "fluid", name = "phosphorus-tricloride", amount = 50 } + }, + main_product = "phosphorus-tricloride", + categories = {"electrolyzer"} }:add_unlock("uranium-mk01") ]]-- --make phosphorous acid: not used atm --[[ - { - type = "recipe", - name = "phosphorus-acid", - ingredients = - { - {type = "fluid", name = "phosphorus-tricloride", amount = 20}, - {type = "fluid", name = "water", amount = 60} - }, - results = - { - {type = "fluid", name = "phosphorus-acid", amount = 20}, - {type = "fluid", name = "hydrogen-chloride", amount = 60}, - }, - main_product = "phosphorus-acid" - }, - ]] -- + { + type = "recipe", + name = "phosphorus-acid", + ingredients = + { + {type = "fluid", name = "phosphorus-tricloride", amount = 20}, + {type = "fluid", name = "water", amount = 60} + }, + results = + { + {type = "fluid", name = "phosphorus-acid", amount = 20}, + {type = "fluid", name = "hydrogen-chloride", amount = 60}, + }, + main_product = "phosphorus-acid" + }, + ]] -- - --[[ + --[[ RECIPE { - type = "recipe", - name = "phosphoryl-chloride", - ingredients = - { - { type = "fluid", name = "phosphorus-tricloride", amount = 20 }, - { type = "fluid", name = "oxygen", amount = 10 } - }, - results = - { - { type = "fluid", name = "phosphoryl-chloride", amount = 40 } - }, - main_product = "phosphoryl-chloride", - category = "electrolyzer" + type = "recipe", + name = "phosphoryl-chloride", + ingredients = + { + { type = "fluid", name = "phosphorus-tricloride", amount = 20 }, + { type = "fluid", name = "oxygen", amount = 10 } + }, + results = + { + { type = "fluid", name = "phosphoryl-chloride", amount = 40 } + }, + main_product = "phosphoryl-chloride", + categories = {"electrolyzer"} }:add_unlock("uranium-mk01") ]]-- --[[ RECIPE { - type = "recipe", - name = "tributyl-phosphate", - ingredients = - { - { type = "fluid", name = "phosphoryl-chloride", amount = 10 }, - { type = "fluid", name = "butanol", amount = 30 } - }, - results = - { - { type = "fluid", name = "tributyl-phosphate", amount = 10 }, - { type = "fluid", name = "hydrogen-chloride", amount = 30 }, - }, - main_product = "tributyl-phosphate", - category = "electrolyzer" + type = "recipe", + name = "tributyl-phosphate", + ingredients = + { + { type = "fluid", name = "phosphoryl-chloride", amount = 10 }, + { type = "fluid", name = "butanol", amount = 30 } + }, + results = + { + { type = "fluid", name = "tributyl-phosphate", amount = 10 }, + { type = "fluid", name = "hydrogen-chloride", amount = 30 }, + }, + main_product = "tributyl-phosphate", + categories = {"electrolyzer"} }:add_unlock("uranium-mk01") ]] --[[ RECIPE { - type = "recipe", - name = "ree-from-ash", - ingredients = - { - { type = "fluid", name = "tributyl-phosphate", amount = 20 }, - { type = "item", name = "ash", amount = 25 } - }, - results = - { - { type = "item", name = "rare-earth-ore", amount = 5 }, - }, - main_product = "rare-earth-ore", - category = "electrolyzer" + type = "recipe", + name = "ree-from-ash", + ingredients = + { + { type = "fluid", name = "tributyl-phosphate", amount = 20 }, + { type = "item", name = "ash", amount = 25 } + }, + results = + { + { type = "item", name = "rare-earth-ore", amount = 5 }, + }, + main_product = "rare-earth-ore", + categories = {"electrolyzer"} }:add_unlock("rare-earth-tech") ]] \ No newline at end of file diff --git a/prototypes/technology.lua b/prototypes/technology.lua index a88cbd6..574ea4d 100644 --- a/prototypes/technology.lua +++ b/prototypes/technology.lua @@ -51,19 +51,19 @@ table.insert(data.raw.technology["rare-earth-tech"].effects,{type="unlock-recipe table.insert(data.raw.technology["rare-earth-tech"].effects,{type="unlock-recipe", recipe = "ree-from-ash"}) data:extend({ - { - type = "technology", - name = "early-concrete", - icon = "__base__/graphics/technology/concrete.png", - icon_size = 128, - effects = - { - { - type = "unlock-recipe", - recipe = "concrete" - } - }, - unit = + { + type = "technology", + name = "early-concrete", + icon = "__base__/graphics/technology/concrete.png", + icon_size = 128, + effects = + { + { + type = "unlock-recipe", + recipe = "concrete" + } + }, + unit = { count = 40, ingredients = @@ -72,8 +72,8 @@ data:extend({ }, time = 30 }, - order = "c-c-a" - }, + order = "c-c-a" + }, }) --move crude oil, heavy oil, light oil and petrol from fuel production to oil processing diff --git a/prototypes/updates/pyalienlife-updates.lua b/prototypes/updates/pyalienlife-updates.lua index 01a3e56..8e07e35 100644 --- a/prototypes/updates/pyalienlife-updates.lua +++ b/prototypes/updates/pyalienlife-updates.lua @@ -12,7 +12,7 @@ RECIPE("fawogae-1"):set_fields {enabled = true}:remove_unlock("fawogae-mk01") RECIPE { type = "recipe", name = "fawogae-start", - category = "handcrafting", + categories = {"handcrafting"}, enabled = true, energy_required = 5, ingredients = { @@ -55,7 +55,7 @@ data.raw["assembling-machine"]["spore-collector-mk01"].energy_source = { } -- fawogae to raw coal -RECIPE("coal-fawogae"):set_fields {enabled = true}:remove_unlock("fawogae-mk01"):set_fields {category = "distilator"}:replace_result("raw-coal", "raw-coal", 5) +RECIPE("coal-fawogae"):set_fields {enabled = true}:remove_unlock("fawogae-mk01"):replace_category("hpf", "distilator"):replace_result("raw-coal", "raw-coal", 5) -- seaweed RECIPE("seaweed-crop-mk01"):remove_ingredient("tin-plate") @@ -98,7 +98,7 @@ if settings.startup["py-enable-decay"] and mods["enable-all-feature-flags"] then RECIPE { type = "recipe", name = "dried-meat-01", - category = "smelting", + categories = {"smelting"}, enabled = false, energy_required = 45, ingredients = { @@ -118,7 +118,7 @@ data.raw["assembling-machine"]["fawogae-plantation-mk04"].crafting_speed = 2 * d RECIPE { type = "recipe", name = "mossogen", - category = "hpf", + categories = {"hpf"}, enabled = false, energy_required = 6, ingredients = { @@ -219,8 +219,6 @@ RECIPE("yaedols-ti"):remove_unlock("phytomining-mk02"):add_unlock("yaedols") RECIPE("titanium-plate-1"):remove_unlock("alloys-mk01"):add_unlock("yaedols") -RECIPE("flue-gas-1"):set_fields {category = "gasifier"} - RECIPE("flue-gas-3"):remove_unlock("compost") --moving later biomasses to later tech diff --git a/prototypes/updates/pycoalprocessing-updates.lua b/prototypes/updates/pycoalprocessing-updates.lua index 67b08da..5dd060e 100644 --- a/prototypes/updates/pycoalprocessing-updates.lua +++ b/prototypes/updates/pycoalprocessing-updates.lua @@ -1,16 +1,16 @@ RECIPE("solid-separator"):remove_unlock("ash-separation"):add_unlock("steel-processing"):add_ingredient {type = "item", name = "solid-separator-mk00", amount = 1}:add_ingredient_amount("small-parts-01", -20):add_ingredient_amount("steel-plate", -10):add_ingredient_amount("inductor1", -5) RECIPE("ash-separation"):set_fields {results = { - {type = "item", name = "coal-dust", amount = 1, probability = 0.5}, - {type = "item", name = "iron-oxide", amount = 1, probability = 0.05}, - {type = "item", name = "soot", amount = 1, probability = 1} + {type = "item", name = "coal-dust", amount = 1, independent_probability = 0.5}, + {type = "item", name = "iron-oxide", amount = 1, independent_probability = 0.05}, + {type = "item", name = "soot", amount = 1, independent_probability = 1} }} -- move oxide smelting to ash processing RECIPE("iron-oxide-smelting"):remove_unlock("coal-processing-1"):add_unlock("ash-separation") data.raw.recipe["landfill"].ingredients = {{type = "item", name = "stone", amount = 1}, - {type = "item", name = "sand", amount = 2}} + {type = "item", name = "sand", amount = 2}} data.raw.recipe["landfill"].results = {{type = "item", name = "landfill", amount = 2}} RECIPE("soil-washing"):remove_unlock("soil-washing"):set_fields {enabled = true} diff --git a/prototypes/updates/pyhardmode-updates.lua b/prototypes/updates/pyhardmode-updates.lua new file mode 100644 index 0000000..0f41602 --- /dev/null +++ b/prototypes/updates/pyhardmode-updates.lua @@ -0,0 +1,2 @@ +if not mods.pyhardmode then return end +