diff --git a/better-air-filtering/data.lua b/better-air-filtering/data.lua index 97d4fd6..3b86937 100644 --- a/better-air-filtering/data.lua +++ b/better-air-filtering/data.lua @@ -1,4 +1,5 @@ require("prototypes.entity") require("prototypes.item") +require("prototypes.fluid") require("prototypes.recipe") require("prototypes.technology") diff --git a/better-air-filtering/graphics/icons/fluid/pollution-gas.png b/better-air-filtering/graphics/icons/fluid/pollution-gas.png new file mode 100755 index 0000000..801ae52 Binary files /dev/null and b/better-air-filtering/graphics/icons/fluid/pollution-gas.png differ diff --git a/better-air-filtering/graphics/icons/fluid/pollution.png b/better-air-filtering/graphics/icons/fluid/pollution.png new file mode 100755 index 0000000..2bbc003 Binary files /dev/null and b/better-air-filtering/graphics/icons/fluid/pollution.png differ diff --git a/better-air-filtering/prototypes/entity.lua b/better-air-filtering/prototypes/entity.lua index d1194fd..470133c 100644 --- a/better-air-filtering/prototypes/entity.lua +++ b/better-air-filtering/prototypes/entity.lua @@ -1,184 +1,195 @@ data:extend({ - { - type = "fuel-category", - name = "pollution-filter" - }, - { - type = "assembling-machine", - name = "air-filter-machine", - icon = "__better-air-filtering__/graphics/icons/air-filter-machine.png", - icon_size = 32, - flags = {"placeable-neutral", "placeable-player", "player-creation"}, - minable = {hardness = 0.2, mining_time = 0.5, result = "air-filter-machine"}, - fast_replaceable_group = "air-filter-machine", - max_health = 150, - corpse = "big-remnants", - collision_box = {{-1.2, -1.2}, {1.2, 1.2}}, - selection_box = {{-1.5, -1.5}, {1.5, 1.5}}, - animation = { - filename = "__better-air-filtering__/graphics/entity/air-filter-machine.png", - priority = "high", - width = 99, - height = 102, - frame_count = 32, - line_length = 8, - shift = {0.4, -0.06} + type = "fuel-category", + name = "pollution-filter" }, - open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 }, - close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 }, - working_sound = { - sound = { { filename = "__base__/sound/electric-furnace.ogg", volume = 0.7 } }, - idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 }, - apparent_volume = 1.5, + type = "assembling-machine", + name = "air-filter-machine", + icon = "__better-air-filtering__/graphics/icons/air-filter-machine.png", + icon_size = 32, + flags = { "placeable-neutral", "placeable-player", "player-creation" }, + minable = { hardness = 0.2, mining_time = 0.5, result = "air-filter-machine" }, + fast_replaceable_group = "air-filter-machine", + max_health = 150, + corpse = "medium-remnants", + alert_icon_shift = util.by_pixel(-3, -12), + collision_box = { { -1.2, -1.2 }, { 1.2, 1.2 } }, + selection_box = { { -1.5, -1.5 }, { 1.5, 1.5 } }, + animation = + { + filename = "__better-air-filtering__/graphics/entity/air-filter-machine.png", + priority = "high", + width = 99, + height = 102, + frame_count = 32, + line_length = 8, + shift = { 0.4, -0.06 } + }, + open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 }, + close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 }, + working_sound = + { + sound = { { filename = "__base__/sound/electric-furnace.ogg", volume = 0.7 } }, + idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 }, + apparent_volume = 1.5, + }, + fluid_boxes = + { + { + production_type = "input", + pipe_picture = assembler3pipepictures(), + pipe_covers = pipecoverspictures(), + base_area = 10, + base_level = -1, + pipe_connections = { { type = "input", position = { 0, -2 } } }, + secondary_draw_orders = { north = -1 } + }, + off_when_no_fluid_recipe = true + }, + crafting_categories = { "crafting-air-filter" }, + crafting_speed = 1.0, + energy_source = + { + type = "burner", + fuel_category = "pollution-filter", + usage_priority = "secondary-input", + fuel_inventory_size = 1, + burnt_inventory_size = 1, + emissions = -0.06 + }, + energy_usage = "1MW", + fixed_recipe = "filter-air", + ingredient_count = 1, + module_slots = 0, + allowed_effects=nill }, - crafting_categories = {"crafting-air-filter"}, - crafting_speed = 1.0, - energy_source = { - type = "burner", - fuel_category = "pollution-filter", - usage_priority = "secondary-input", - fuel_inventory_size = 1, --- burnt_inventory_size = 1, - emissions = -0.06 + type = "assembling-machine", + name = "air-filter-machine-mk2", + icon = "__better-air-filtering__/graphics/icons/air-filter-machine-mk2.png", + icon_size = 32, + flags = { "placeable-neutral", "placeable-player", "player-creation" }, + minable = { hardness = 0.2, mining_time = 0.5, result = "air-filter-machine" }, + fast_replaceable_group = "air-filter-machine", + max_health = 150, + corpse = "medium-remnants", + alert_icon_shift = util.by_pixel(-3, -12), + collision_box = { { -1.2, -1.2 }, { 1.2, 1.2 } }, + selection_box = { { -1.5, -1.5 }, { 1.5, 1.5 } }, + animation = + { + filename = "__better-air-filtering__/graphics/entity/air-filter-machine-mk2.png", + priority = "high", + width = 99, + height = 102, + frame_count = 32, + line_length = 8, + shift = { 0.4, -0.06 } + }, + open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 }, + close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 }, + working_sound = + { + sound = { { filename = "__base__/sound/electric-furnace.ogg", volume = 0.7 } }, + idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 }, + apparent_volume = 1.5, + }, + fluid_boxes = + { + { + production_type = "output", + pipe_picture = assembler3pipepictures(), + pipe_covers = pipecoverspictures(), + base_area = 10, + base_level = 1, + pipe_connections = { { type = "output", position = { 0, 2 } } }, + secondary_draw_orders = { north = -1 } + }, + off_when_no_fluid_recipe = true + }, + crafting_categories = { "suck-air" }, + crafting_speed = 1.0, + energy_source = + { + type = "electric", + usage_priority = "secondary-input", + emissions = -0.06 + }, + energy_usage = "1MW", + fixed_recipe = "suck-pollution", + ingredient_count = 1, + module_slots = 0, + allowed_effects=nill }, - energy_usage = "1MW", - fixed_recipe="filter-air2", - ingredient_count = 1, - module_slots = 0 - }, --- { --- type = "furnace", --- name = "air-filter-machine", --- icon = "__better-air-filtering__/graphics/icons/air-filter-machine.png", --- icon_size = 32, --- flags = {"placeable-neutral", "placeable-player", "player-creation"}, --- minable = {hardness = 0.2, mining_time = 0.5, result = "air-filter-machine"}, --- fast_replaceable_group = "air-filter-machine", --- max_health = 150, --- corpse = "big-remnants", --- collision_box = {{-1.2, -1.2}, {1.2, 1.2}}, --- selection_box = {{-1.5, -1.5}, {1.5, 1.5}}, --- animation = --- { --- filename = "__better-air-filtering__/graphics/entity/air-filter-machine.png", --- priority = "high", --- width = 99, --- height = 102, --- frame_count = 32, --- line_length = 8, --- shift = {0.4, -0.06} --- }, --- open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 }, --- close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 }, --- working_sound = --- { --- sound = { { filename = "__base__/sound/electric-furnace.ogg", volume = 0.7 } }, --- idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 }, --- apparent_volume = 1.5, --- }, --- crafting_categories = {"crafting-air-filter"}, --- source_inventory_size = 1, --- result_inventory_size = 1, --- crafting_speed = 1.0, --- energy_source = --- { --- type = "electric", --- usage_priority = "secondary-input", --- emissions = -0.06 --- }, --- energy_usage = "200kW", --- ingredient_count = 1, --- module_slots = 0 --- }, - { - type = "furnace", - name = "air-filter-machine-mk2", - icon = "__better-air-filtering__/graphics/icons/air-filter-machine-mk2.png", - icon_size = 32, - flags = {"placeable-neutral", "placeable-player", "player-creation"}, - minable = {hardness = 0.2, mining_time = 0.5, result = "air-filter-machine-mk2"}, - fast_replaceable_group = "air-filter-machine", - max_health = 150, - corpse = "big-remnants", - collision_box = {{-1.2, -1.2}, {1.2, 1.2}}, - selection_box = {{-1.5, -1.5}, {1.5, 1.5}}, - animation = { - filename = "__better-air-filtering__/graphics/entity/air-filter-machine-mk2.png", - priority = "high", - width = 99, - height = 102, - frame_count = 32, - line_length = 8, - shift = {0.4, -0.06} - }, - open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 }, - close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 }, - working_sound = - { - sound = { { filename = "__base__/sound/electric-furnace.ogg", volume = 0.7 } }, - idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 }, - apparent_volume = 1.5, - }, - crafting_categories = {"crafting-air-filter"}, - source_inventory_size = 1, - result_inventory_size = 1, - crafting_speed = 2.0, - energy_source = - { - type = "electric", - usage_priority = "secondary-input", - emissions = -0.12 - }, - energy_usage = "350kW", - ingredient_count = 1, - module_slots = 0 - }, - { - type = "furnace", - name = "air-filter-machine-mk3", - icon = "__better-air-filtering__/graphics/icons/air-filter-machine-mk3.png", - icon_size = 32, - flags = {"placeable-neutral", "placeable-player", "player-creation"}, - minable = {hardness = 0.2, mining_time = 0.5, result = "air-filter-machine-mk3"}, - fast_replaceable_group = "air-filter-machine", - max_health = 150, - corpse = "big-remnants", - collision_box = {{-1.2, -1.2}, {1.2, 1.2}}, - selection_box = {{-1.5, -1.5}, {1.5, 1.5}}, - animation = - { - filename = "__better-air-filtering__/graphics/entity/air-filter-machine-mk3.png", - priority = "high", - width = 99, - height = 102, - frame_count = 32, - line_length = 8, - shift = {0.4, -0.06} - }, - open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 }, - close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 }, - working_sound = - { - sound = { { filename = "__base__/sound/electric-furnace.ogg", volume = 0.7 } }, - idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 }, - apparent_volume = 1.5, - }, - crafting_categories = {"crafting-air-filter"}, - source_inventory_size = 1, - result_inventory_size = 1, - crafting_speed = 5.0, - energy_source = - { - type = "electric", - usage_priority = "secondary-input", - emissions = -0.3 - }, - energy_usage = "1MW", - ingredient_count = 1, - module_slots = 0 - } + type = "assembling-machine", + name = "air-filter-machine-mk3", + icon = "__better-air-filtering__/graphics/icons/air-filter-machine-mk3.png", + icon_size = 32, + flags = { "placeable-neutral", "placeable-player", "player-creation" }, + minable = { hardness = 0.2, mining_time = 0.5, result = "air-filter-machine-mk3" }, + fast_replaceable_group = "air-filter-machine", + max_health = 150, + corpse = "medium-remnants", + collision_box = { { -1.2, -1.2 }, { 1.2, 1.2 } }, + selection_box = { { -1.5, -1.5 }, { 1.5, 1.5 } }, + animation = + { + filename = "__better-air-filtering__/graphics/entity/air-filter-machine-mk3.png", + priority = "high", + width = 99, + height = 102, + frame_count = 32, + line_length = 8, + shift = { 0.4, -0.06 } + }, + open_sound = { filename = "__base__/sound/machine-open.ogg", volume = 0.85 }, + close_sound = { filename = "__base__/sound/machine-close.ogg", volume = 0.75 }, + working_sound = + { + sound = { { filename = "__base__/sound/electric-furnace.ogg", volume = 0.7 } }, + idle_sound = { filename = "__base__/sound/idle1.ogg", volume = 0.6 }, + apparent_volume = 1.5, + }, + fluid_boxes = + { + { + production_type = "input", + pipe_covers = pipecoverspictures(), + base_area = 10, + base_level = -1, + pipe_connections= {} + }, + { + production_type = "input", + pipe_covers = pipecoverspictures(), + base_area = 10, + base_level = -1, + pipe_connections = {{ type="input", position = {0, -2} }} + }, + { + production_type = "output", + pipe_picture = assembler3pipepictures(), + pipe_covers = pipecoverspictures(), + base_area = 10, + base_level = 1, + pipe_connections = { { type = "output", position = { 0, 2 } } }, + secondary_draw_orders = { north = -1 } + }, + off_when_no_fluid_recipe = true + }, + crafting_categories = { "suck-air" }, + crafting_speed = 5.0, + energy_source = + { + type = "electric", + usage_priority = "secondary-input", + emissions = -0.3 + }, + energy_usage = "1MW", + ingredient_count = 1, + module_slots = 0, + allowed_effects=nill + } }) diff --git a/better-air-filtering/prototypes/fluid.lua b/better-air-filtering/prototypes/fluid.lua new file mode 100644 index 0000000..9ffbb09 --- /dev/null +++ b/better-air-filtering/prototypes/fluid.lua @@ -0,0 +1,27 @@ +data:extend({ + { + type = "fluid", + name = "pollution", + default_temperature = 5, + max_temperature = 15, + base_color = {r=0.38, g=0.27, b=0.53}, -- 97, 69, 135 + flow_color = {r=0.7, g=0.7, b=0.7}, + icon = "__better-air-filtering__/graphics/icons/fluid/pollution.png", + icon_size = 32, + order = "a[fluid]-z[water]", + auto_barrel="false" + }, + { + type = "fluid", + name = "pollution-gas", + default_temperature = 15, + max_temperature = 100, + gas_temperature = 15, + base_color = {r=0.38, g=0.27, b=0.53}, -- 97, 69, 135 + flow_color = {r=0.7, g=0.7, b=0.7}, + icon = "__base__/graphics/icons/fluid/pollution.png", + icon_size = 32, + order = "a[fluid]-z[water]", + auto_barrel="false" + } +}) \ No newline at end of file diff --git a/better-air-filtering/prototypes/item.lua b/better-air-filtering/prototypes/item.lua index d1fca28..5612628 100644 --- a/better-air-filtering/prototypes/item.lua +++ b/better-air-filtering/prototypes/item.lua @@ -42,7 +42,7 @@ data:extend({ order = "g[plastic-bar]-h[unused-air-filter]", stack_size = 50, fuel_category = "pollution-filter", --- burnt_result = "used-air-filter", + burnt_result = "used-air-filter", fuel_value = "300MW", }, { diff --git a/better-air-filtering/prototypes/recipe.lua b/better-air-filtering/prototypes/recipe.lua index cae67f5..32d50a4 100644 --- a/better-air-filtering/prototypes/recipe.lua +++ b/better-air-filtering/prototypes/recipe.lua @@ -1,115 +1,150 @@ data:extend({ - { - type = "recipe-category", - name = "crafting-air-filter" - }, - { - type = "recipe", - name = "air-filter-machine", - icon = "__better-air-filtering__/graphics/icons/air-filter-machine.png", - icon_size = 32, - energy_required = 10.0, - enabled = "false", - ingredients = { - {"assembling-machine-2", 1}, - {"electronic-circuit", 5}, - {"steel-plate", 10} + type = "recipe-category", + name = "crafting-air-filter" }, - result = "air-filter-machine" - }, - { - type = "recipe", - name = "air-filter-machine-mk2", - icon = "__better-air-filtering__/graphics/icons/air-filter-machine-mk2.png", - icon_size = 32, - energy_required = 10.0, - enabled = "false", - ingredients = { - {"air-filter-machine", 2}, - {"advanced-circuit", 10} + type = "recipe-category", + name = "suck-air" }, - result = "air-filter-machine-mk2" - }, - { - type = "recipe", - name = "air-filter-machine-mk3", - icon = "__better-air-filtering__/graphics/icons/air-filter-machine-mk3.png", - icon_size = 32, - energy_required = 10.0, - enabled = "false", - ingredients = { - {"air-filter-machine-mk2", 2}, - {"processing-unit", 10} + type = "recipe", + name = "air-filter-machine", + icon = "__better-air-filtering__/graphics/icons/air-filter-machine.png", + icon_size = 32, + energy_required = 10.0, + enabled = "false", + ingredients = + { + { "assembling-machine-2", 1 }, + { "electronic-circuit", 5 }, + { "steel-plate", 10 } + }, + result = "air-filter-machine" }, - result = "air-filter-machine-mk3" - }, - { - type = "recipe", - name = "unused-air-filter", - icon = "__better-air-filtering__/graphics/icons/unused-air-filter.png", - icon_size = 32, - category = "crafting", - subgroup = "raw-material", - order = "f[plastic-bar]-f[unused-air-filter]", - energy_required = 5, - enabled = "false", - ingredients = { - {"coal", 10}, - {"plastic-bar", 4}, - {"steel-plate", 2} + type = "recipe", + name = "air-filter-machine-mk2", + icon = "__better-air-filtering__/graphics/icons/air-filter-machine-mk2.png", + icon_size = 32, + energy_required = 10.0, + enabled = "false", + ingredients = + { + { "air-filter-machine", 2 }, + { "advanced-circuit", 10 } + }, + result = "air-filter-machine-mk2" }, - result = "unused-air-filter" - }, - { - type = "recipe", - name = "filter-air", - icon = "__better-air-filtering__/graphics/icons/filter-air.png", - icon_size = 32, - category = "crafting-air-filter", - order = "f[plastic-bar]-f[filter-air]", - energy_required = 100, - enabled = "false", - ingredients = { - {"unused-air-filter", 1} + type = "recipe", + name = "air-filter-machine-mk3", + icon = "__better-air-filtering__/graphics/icons/air-filter-machine-mk3.png", + icon_size = 32, + energy_required = 10.0, + enabled = "false", + ingredients = + { + { "air-filter-machine-mk2", 2 }, + { "processing-unit", 10 } + }, + result = "air-filter-machine-mk3" }, - result = "used-air-filter" - }, - { - type = "recipe", - name = "filter-air2", - icon = "__better-air-filtering__/graphics/icons/filter-air.png", - icon_size = 32, - category = "crafting-air-filter", - subgroup = "raw-material", - order = "f[plastic-bar]-f[filter-air]", - energy_required = 5, - enabled = "true", - ingredients = { - + type = "recipe", + name = "unused-air-filter", + icon = "__better-air-filtering__/graphics/icons/unused-air-filter.png", + icon_size = 32, + category = "crafting", + subgroup = "raw-material", + order = "f[plastic-bar]-f[unused-air-filter]", + energy_required = 5, + enabled = "false", + ingredients = + { + { "coal", 10 }, + { "plastic-bar", 4 }, + { "steel-plate", 2 } + }, + result = "unused-air-filter" }, - result = "used-air-filter" - }, - { - type = "recipe", - name = "air-filter-recycling", - icon = "__better-air-filtering__/graphics/icons/air-filter-recycling.png", - icon_size = 32, - category = "crafting", - subgroup = "raw-material", - order = "f[unused-air-filter]-f[air-filter-recycling]", - energy_required = 5, - enabled = "false", - ingredients = { - {"used-air-filter", 1}, - {"coal", 5} + type = "recipe", + name = "filter-air", + icon = "__better-air-filtering__/graphics/icons/filter-air.png", + icon_size = 32, + category = "crafting-air-filter", + subgroup = "raw-material", + order = "f[plastic-bar]-f[filter-air]", + energy_required = 0.5, + enabled = "true", + ingredients = + { + {type="fluid", name="pollution-gas", amount=2} + }, + results = {} }, - result = "unused-air-filter" - } + { + type = "recipe", + name = "suck-pollution", + category = "suck-air", + subgroup = "raw-material", + order = "f[plastic-bar]-f[filter-air]", + energy_required = 0.5, + enabled = "true", + ingredients = + { + }, + results = {{type="fluid", name="pollution-gas", amount=4}} + }, + { + type = "recipe", + name = "liquid-pollution", +-- icon = "__better-air-filtering__/graphics/icons/filter-air.png", +-- icon_size = 32, + category = "suck-air", + subgroup = "raw-material", + order = "f[plastic-bar]-f[filter-air]", + energy_required = 0.5, + enabled = "true", + ingredients = + { + {type="fluid", name="pollution-gas", amount=6, fluidbox_index=1}, + {type="fluid", name="water", amount=10, fluidbox_index=2} + }, + results = {{type="fluid", name="pollution", amount=10}} + }, +-- { +-- type = "recipe", +-- name = "debug-pollution", +---- icon = "__base__/graphics/icons/pollution.png", +---- icon_size = 32, +-- category = "crafting-with-fluid", +-- subgroup = "raw-material", +-- order = "f[plastic-bar]-f[filter-air]", +-- energy_required = 1, +-- enabled = "true", +-- ingredients = +-- { +-- +-- }, +-- results = {{type="fluid", name="pollution-gas", amount=10}} +-- }, + { + type = "recipe", + name = "air-filter-recycling", + icon = "__better-air-filtering__/graphics/icons/air-filter-recycling.png", + icon_size = 32, + category = "crafting", + subgroup = "raw-material", + order = "f[unused-air-filter]-f[air-filter-recycling]", + energy_required = 5, + enabled = "false", + ingredients = + { + { "used-air-filter", 1 }, + { "coal", 5 } + }, + result = "unused-air-filter" + } })