Small assembling


2x2 Assembling machines that can do simple recipes

3 months ago
1.1
5.86K

g Incompatible with bob mods?

1 year, 2 months ago

See https://ludwig-software.de/uploads/factorio/colormismatch.png
and https://ludwig-software.de/uploads/factorio/researchmismatch.png

Your mod is not compatible with bobs assembling machines, correct?
And the tech tree seems to be buggy. I see the small assembling machine for 3 colors already even though I did not research all the matching techs. Probably also some bob incompatibility issues.

1 year, 2 months ago
(updated 1 year, 2 months ago)

1 year, 2 months ago
(updated 1 year, 2 months ago)

As bob's mods already has some 2x2 machines to make electronics I did not think it anyone would want to use this mod with bobs. It should add 3 new mini machines but not tier 4 and 5 , and the colours will be vanilla.

Do you want me to add more compatibility with bobs?

Looks like the recipes got accidentally enabled when I added expensive recipes, I fixed that.

1 year, 2 months ago

Bob has some 2x2 machines for electronics. Sure. To speed up electronic production. But for non-electronic production I want to use your machines.
I modified your code for personal use already to make it compatible with bob assembly mod (still missing tier 4/5/6 though):

speed_multiplier = settings.startup["small-assembling-speed"].value

local small_assembling_machine_1_item = util.table.deepcopy(data.raw["item"]["assembling-machine-1"])
small_assembling_machine_1_item.order = "[1]small-assembling-machine"
small_assembling_machine_1_item.name = "small-assembling-machine-1"
small_assembling_machine_1_item.place_result = "small-assembling-machine-1"
small_assembling_machine_1_item.icons = {
{ icon = "schmitt-small_assembling/prototypes/blank.png", icon_size = 64 },
{
icon = "base/graphics/icons/assembling-machine-1.png",
icon_size = 64,
scale = 0.4,
},
}

local small_assembling_machine_2_item = util.table.deepcopy(data.raw["item"]["assembling-machine-2"])
small_assembling_machine_2_item.order = "[2]small-assembling-machine"
small_assembling_machine_2_item.name = "small-assembling-machine-2"
small_assembling_machine_2_item.place_result = "small-assembling-machine-2"
small_assembling_machine_2_item.icons = {
{ icon = "schmitt-small_assembling/prototypes/blank.png", icon_size = 64 },
{
icon = "bobassembly/graphics/icons/new-colors/assembling-machine-2.png",
icon_size = 32,
scale = 0.8,
},
}

local small_assembling_machine_3_item = util.table.deepcopy(data.raw["item"]["assembling-machine-1"])
small_assembling_machine_3_item.order = "[3]small-assembling-machine"
small_assembling_machine_3_item.name = "small-assembling-machine-3"
small_assembling_machine_3_item.place_result = "small-assembling-machine-3"
small_assembling_machine_3_item.icons = {
{ icon = "schmitt-small_assembling/prototypes/blank.png", icon_size = 64 },
{
icon = "bobassembly/graphics/icons/new-colors/assembling-machine-3.png",
icon_size = 32,
scale = 0.8,
},
}

data:extend({small_assembling_machine_1_item, small_assembling_machine_2_item, small_assembling_machine_3_item})

local small_assembling_machine_1 = util.table.deepcopy(data.raw["assembling-machine"]["assembling-machine-1"])
small_assembling_machine_1.name = "small-assembling-machine-1"
small_assembling_machine_1.minable.result = "small-assembling-machine-1"
small_assembling_machine_1.ingredient_count = 1
small_assembling_machine_1.crafting_speed = 0.5 * speed_multiplier
--small_assembling_machine_1.module_specification = { module_slots = 2}
--small_assembling_machine_1.allowed_effects = {"consumption", "speed", "productivity", "pollution"}
small_assembling_machine_1.collision_box = {{-0.7, -0.7}, {0.7, 0.7}}
small_assembling_machine_1.selection_box = {{-1, -1}, {1, 1}}
small_assembling_machine_1.fast_replaceable_group = "small-assembling-machine"
small_assembling_machine_1.next_upgrade = "small-assembling-machine-2"

small_assembling_machine_1.animation = {
layers = {
{
filename = "base/graphics/entity/assembling-machine-1/assembling-machine-1.png",
priority="high",
width = 108,
height = 114,
frame_count = 32,
line_length = 8,
shift = util.by_pixel(0, 2 * 2 / 3),
scale = 2/3
},
{
filename = "base/graphics/entity/assembling-machine-1/assembling-machine-1-shadow.png",
priority="high",
width = 95,
height = 83,
frame_count = 1,
line_length = 1,
repeat_count = 32,
draw_as_shadow = true,
shift = util.by_pixel(8.5 * 2 / 3, 5.5 * 2 / 3),
scale = 2/3
}
}
}

local small_assembling_machine_2 = util.table.deepcopy(data.raw["assembling-machine"]["assembling-machine-1"])
small_assembling_machine_2.name = "small-assembling-machine-2"
small_assembling_machine_2.minable.result = "small-assembling-machine-2"
small_assembling_machine_2.ingredient_count = 1
small_assembling_machine_2.crafting_speed = 0.75 * speed_multiplier
small_assembling_machine_2.module_specification = { module_slots = 2}
small_assembling_machine_2.allowed_effects = {"consumption", "speed", "productivity", "pollution"}
small_assembling_machine_2.collision_box = {{-0.7, -0.7}, {0.7, 0.7}}
small_assembling_machine_2.selection_box = {{-1, -1}, {1, 1}}
small_assembling_machine_2.fast_replaceable_group = "small-assembling-machine"
small_assembling_machine_2.next_upgrade = "small-assembling-machine-3"
small_assembling_machine_2.energy_source.emissions_per_minute = 3
small_assembling_machine_2.energy_usage = "150kW"

small_assembling_machine_2.animation = {
layers = {
{
filename = "bobassembly/graphics/entity/assembling-machine/assembling-machine-2.png",
priority = "high",
width = 108,
height = 110,
frame_count = 32,
line_length = 8,
shift = util.by_pixel(0, 4 * 2 / 3),
scale = 2/3
},
{
filename = "base/graphics/entity/assembling-machine-2/assembling-machine-2-shadow.png",
priority = "high",
width = 98,
height = 82,
frame_count = 32,
line_length = 8,
draw_as_shadow = true,
shift = util.by_pixel(12 * 2 / 3, 5 * 2 / 3),
scale = 2/3
},
{
filename = "bobassembly/graphics/entity/assembling-machine/assembling-machine-mask.png",
priority = "high",
width = 142,
height = 113,
repeat_count = 32,
shift = { 0.84 * 2 / 3, -0.09 * 2 / 3 },
tint = { r = 0.7, g = 0.7, b = 0.1 },
scale = 2/3
}
}
}

local small_assembling_machine_3 = util.table.deepcopy(data.raw["assembling-machine"]["assembling-machine-1"])
small_assembling_machine_3.name = "small-assembling-machine-3"
small_assembling_machine_3.minable.result = "small-assembling-machine-3"
small_assembling_machine_3.ingredient_count = 1
small_assembling_machine_3.crafting_speed = 1.25 * speed_multiplier
small_assembling_machine_3.module_specification = { module_slots = 4}
small_assembling_machine_3.allowed_effects = {"consumption", "speed", "productivity", "pollution"}
small_assembling_machine_3.collision_box = {{-0.7, -0.7}, {0.7, 0.7}}
small_assembling_machine_3.selection_box = {{-1, -1}, {1, 1}}
small_assembling_machine_3.fast_replaceable_group = "small-assembling-machine"
small_assembling_machine_3.next_upgrade = nil
small_assembling_machine_3.energy_source.emissions_per_minute = 2
small_assembling_machine_3.energy_usage = "375kW"
small_assembling_machine_3.animation = {
layers = {
{
filename = "bobassembly/graphics/entity/assembling-machine/assembling-machine-3.png",
priority = "high",
width = 108,
height = 119,
frame_count = 32,
line_length = 8,
shift = util.by_pixel(0 * 2 / 3, -0.5 * 2 / 3),
scale = 2/3
},
{
filename = "base/graphics/entity/assembling-machine-3/assembling-machine-3-shadow.png",
priority = "high",
width = 130,
height = 82,
frame_count = 32,
line_length = 8,
draw_as_shadow = true,
shift = util.by_pixel(28 * 2 / 3, 4 * 2 / 3),
scale = 2/3
},
{
filename = "bobassembly/graphics/entity/assembling-machine/assembling-machine-mask.png",
priority = "high",
width = 142,
height = 113,
repeat_count = 32,
shift = { 0.84 * 2 / 3, -0.09 * 2 / 3},
tint = { r = 0.7, g = 0.2, b = 0.1 },
scale = 2/3
}
}
}

data:extend({small_assembling_machine_1, small_assembling_machine_2, small_assembling_machine_3})

local small_assembling_machine_1_recipe = util.table.deepcopy(data.raw["recipe"]["assembling-machine-1"])
small_assembling_machine_1_recipe.name = "small-assembling-machine-1"
small_assembling_machine_1_recipe.results = { {type="item", name="small-assembling-machine-1", amount=1} }
small_assembling_machine_1_recipe.subgroup = "bob-assembly-machine"
data:extend({small_assembling_machine_1_recipe})

local small_assembling_machine_2_recipe = util.table.deepcopy(data.raw["recipe"]["assembling-machine-2"])
small_assembling_machine_2_recipe.name = "small-assembling-machine-2"
small_assembling_machine_2_recipe.normal.results = { {type="item", name="small-assembling-machine-2", amount=1} }
small_assembling_machine_2_recipe.expensive.results = { {type="item", name="small-assembling-machine-2", amount=1} }
small_assembling_machine_2_recipe.subgroup = "bob-assembly-machine"
data:extend({small_assembling_machine_2_recipe})

local small_assembling_machine_3_recipe = util.table.deepcopy(data.raw["recipe"]["assembling-machine-3"])
small_assembling_machine_3_recipe.name = "small-assembling-machine-3"
small_assembling_machine_3_recipe.results = { {type="item", name="small-assembling-machine-3", amount=1} }
small_assembling_machine_3_recipe.subgroup = "bob-assembly-machine"
data:extend({small_assembling_machine_3_recipe})

New response