Error
Failed to load mods: Error while loading entity prototype "aop-advanced-assembling-machine" (assembling-machine): PipeConnectionDefinition: position must be inside of entity bounding box. position={-1.000, -2.000}, leftTop={-1.949, -1.949}, rightBottom={1.949, 1.949}
Modifications: Age of Production › Factorio HD Age: Base Game - Logistics › Factorio HD Age: Base Game - Production › Bottleneck Lite › Exteros' QoL System › PlanetsLib
Posted on github: https://github.com/Ingo-Igel/Factorio_HD_Age_and_Factorio_QoL_Age/issues/2
Mod that breaks: https://mods.factorio.com/mod/Age-of-Production
Related: https://github.com/AndreusAxolotl/Age-of-Production/issues/54
Investigation
The v2.0.0 "new faster loading method" introduced a bug affecting mods with machines that have edge pipe connections (like Age of Production).
Cause: In texture-loading.lua (in both logistics and production mod modules), the adjustDataDotRaw() function scales ALL position fields found in tables containing .png paths:
local pos = pathed_data["position"]
if type(pos) == "table" and type(pos[1]) == "number" and type(pos[2]) == "number" then
pathed_data["position"] = { floor(pos[1] * val_sf), floor(pos[2] * val_sf) }
end
Since v2.0.0 now traverses all of data.raw (including modded entities), this can inadvertently modify pipe connection positions when mods reference base game pipe graphics.
Suggested fix: Add a path check to skip scaling position fields inside fluid_boxes or pipe_connections structures, as these are entity positions, not texture sprite positions.