mod compatibility is difficult when the icons for every entity have to be checked through either icons or icon and icon_size. It is even possible for icon_size to be defined but the icon to be defined through icons. When adding extra layers to the icons of other mods, this makes it mandatory to basically convert the other two properties into a table in icons. Reading other mods' icons requires looking at both icons and icon. The same goes for
- results and result and result_count
- position and positions in fluidboxes
- dark_background_icon and dark_background_icons
- icon_tintable and icon_tintables
- icon_tintable_mask and icon_tintable_masks
- icon_color_indicator_mask and icon_color_indicator_masks
- layers and everything else in AnimationPrototype
- graphics set and animation and base_picture
remove the simple definition and force mods to use the table definition.
So instead of icon = "__mod__/icon.png" it would be icons = {{icon = "__mod__/icon.png"}}
and instead of result = "transport belt" it would be results = {{result="transport-belt", amount = 1}}
for simple definitions