Flip Dots

by Octapoo

Flip dots that can be used to create flip-dot displays.

Content
2 months ago
1.1
445
Circuit network

b Mod Conflicts Report

2 months ago

Hey Just wanted to give a submission on a mod conflict. Not sure which of these it conflicts with but I know "lamp" mods tend to not like a few of these.

Error message:
Failed to load mods: error while running setup for entity prototype "small-lamp" (lamp): next_upgrade target (switch-flip-dot) must have the same fast_replaceable_group(lamps != lamp).

Mods to be disabled:
flip-dots (0.0.5)
SchallVirtualSignal (1.1.2) # I know this has conflict with some lamp mods
AfraidOfTheDark (1.1.1) # I know this has conflict with some lamp mods
combat-mechanics-overhaul (0.6.24)
integratedCircuitryFixed (1.1.5) # I know this has conflict with some lamp mods
attach-notes (0.5.1)

After restarting and enabling everything except flip-dots there are no errors. Not sure if it is even fixable, but figured I would submit a report so at minimum tags for incompatibility can be added to the mod for reference from the in-game modloader.

2 months ago

The problem is both AfraidOfTheDark and integratedCircuitryFixed. They're fighting over the name of the fast replaceable group that the lamp is in ("lamp" vs. "lamps") and it's triggering a problem with Flip Dots because, in an effort to be compatible with mods that don't try to be compatible, Flip Dots tries to use whatever fast replaceable group the other mods are putting the lamp into, but AfraidOfTheDark first puts the lamp into one group, then Flip Dots loads and puts the flip dots into the same group that AfraidOfTheDark put the lamp into, and then integratedCircuitryFixed puts the lamp into a new group, and thus the flip dots end up not being in the same group as the lamp. Additionally, both mods do this in data-final-fixes.lua which makes it impossible for Flip Dots to check what they did and try to be compatible with it.

If you can, I suggest trying to talk the authors of those mods into the same approach I'm using:

In data.lua, check if the lamp is already in a group. If so, don't put it in a new group, just use the group it's already in. The name of the group is irrelevant as long as all mods use whatever name is chosen by the first mod that loads and finds the lamps not in a fast replace group.

In data-final-fixes.lua, don't change the group that the lamp is in. Instead, just check what group it is in and, if some other poorly-behaving mod has changed the group that the lamp is in, then put your own entities you've created into the same group.

Mods that do this should all be compatible with each other as well as one additional mod that isn't making these efforts to be compatible.

New response