Schall Circuit Group


Put circuit network subgroup into a separate new “Circuit” group tab, containing all vanilla and most modded circuit components. Designed for players who tried to find circuit components in the “Logistics” tab. (Locale: English, Deutsch, 正體中文, Português Brasileiro) To fellow modders: Please consider putting your modded circuit components in this group as well! Only minor modifications are needed. Instructions included in FAQ.

Utilities
3 years ago
0.17 - 1.1
10.6K
Circuit network

g [Solved] Minor FAQ issue

3 years ago
(updated 3 years ago)

In the FAQ example code, actual check seems to test for the wrong mod:

Next, detect if “Schall Circuit Group” mod is present. If yes, set the variable to the desired subgroup name.

> if mods["SchallTransportGroup"] then
> subgroup_circom = "circuit-combinator"
> end

(I'd probably do it via subgroup = mods.SchallCircuitGroup and 'circuit-combinator' or 'circuit-network' oneliner, but maybe more complicated 3-step way is more comprehensible to other people)

And on a tacked-on unrelated note, I wonder if maybe it's worth adding separate sub-category like circuit-inputs.
I was suggested to add support for this mod here - https://mods.factorio.com/mod/Moon_Logic/discussion/5f908459be1bcaa687536968

Looking at other circuit network mods where I can add support for this category, these are the elements that they have:

Not sure if all inputs from there should be categorized as a "constant combinator", as even though they produce CN inputs, they are not really constant, that actually being the point for the most of them :)

So it might be my bias due to this selection of stuff that I maintain, but maybe there should be a separate line for "circuit network inputs" like these?
(as putting them next to arithmetic/decider or even constant combinators doesn't sound right, unlike with e.g. lua combinator mod, or maybe the switch one)

3 years ago

Thanks for reporting. I have corrected the first line as it was pointing to the wrong mod.

The subgroup checks are not needed though, as they are created by my mod, and it is highly unlikely I will ever rename them.
If my subgroup(s) get disappeared, it would be caused by (intentional) removal by other mods. It is their problem, not my fault. It will be most useful to mark such as conflicting mods ("!" label), rather than unnecessary checks every time.

I agree that a new subgroup circuit-input or circuit-inputs is generally useful enough to warrant such addition. (Singular if being consistent(?) with other subgroup names; yet I do not oppose plural form.)

If it is provided, what order of this new subgroup would you prefer?
Somewhat I already expected this, so I have reserved the slot d, for possible expansion.
Currently, except for a (the default subgroup for anything unsorted) and b for power connection I/O, all other subgroups are roughly in the direction of signal flow and/or descending frequency of usage and/or vanilla order. So I have assigned c for most frequently used combinators, e for visual output, and finally f for (least-used) auditory output.
If you believe the circuit-input should take the c slot, I can rearrange order of existing subgroups.

3 years ago

Putting it after basic ones probably makes sense, thanks.
Will update the mods to use that.

Tbh, given that there aren't many visual/sound indicators, I'd have probably categorized them all into one "circuit-output" or indicator category, similar to one for inputs, but given that existing mods have to be updated to use it, probably not worth it at this point, even if a good idea.

3 years ago
(updated 3 years ago)

Sorry for the wait.
Now the new subgroup circuit-input (with order d) is added to the new versions 0.17.1 / 0.18.1 / 1.0.1. Mod information and FAQ pages are updated accordingly.
For mod compatibility, I think it is sufficient to just use "? Schall Circuit Group >= <X.Y.1>" to ensure the new subgroup is present. No need to check validity every time.

BTW, you have listed some mods (6?) in the OP, where you can add support to this mod. If it is the case and is done, please let me know. I will add them to the "Mod supported" list on the main page, so more users can know that.

Regarding the output items:
I prefer to split them up as seeing a lot of lamp mods available, some of them even providing multiple sizes. So auditory output items in a different line (subgroup) can prevent them from being "buried".
Also, this circuit group tab contains much fewer items than others, so opening a new line (subgroup) here does not do much harm.

3 years ago
(updated 3 years ago)

Sorry for the wait.

No worries, will update the mods for new subcategory in a bit.

BTW, you have listed some mods (6?) in the OP, where you can add support to this mod. If it is the case and is done, please let me know.

Yes, they all have optional dependency and use "circuit-combinator" subgroup since Oct 22 (ones in the list + Moon Logic, indeed 6 in total), so can be added already.

Wonder if maybe mod portal might have some kind of "what depends on this mod" lookup option, in which case you can just add link to that, instead of finding and listing all such mods manually.

3 years ago
(updated 3 years ago)

they all have optional dependency and use "circuit-combinator" subgroup

Um, not true, lamp ones use circuit-visual subgroup :)

3 years ago

BTW, you have listed some mods (6?) in the OP, where you can add support to this mod. If it is the case and is done, please let me know.

Yes, they all have optional dependency and use "circuit-network" category since Oct 22 (ones in the list + Moon Logic, indeed 6 in total), so can be added already.

Great. They are now added to the list.

Wonder if maybe mod portal might have some kind of "what depends on this mod" lookup option, in which case you can just add link to that, instead of finding and listing all such mods manually.

That would be ideal.
Currently I have to rely on users and mod authors (like you) to notify me what mods are supported. There are no ways for me to find these mods out easily.
Probably some modders are too shy (polite) to add the support silently, but I believe such work worth to be mentioned.

3 years ago
(updated 3 years ago)

Currently I have to rely on users and mod authors (like you) to notify me what mods are supported. There are no ways for me to find these mods out easily.
Probably some modders are too shy (polite) to add the support silently, but I believe such work worth to be mentioned.

I've updated mods to use new subgroup and made a small script to use Mod Portal API to find all mods with specified dependency reliably here:
https://github.com/mk-fg/games/blob/master/factorio/mod-portal-reverse-dep-check.py
(should only need python to run it)

It has to fetch info for all ~7k mods to get dependencies, but with default very slow (in api terms) delay of 1s between requests, it only takes ~2h to fetch them all. It also caches all fetched mod+version info, so safe to interrupt, or re-run later to only fetch/check info on updated mods, ignoring all the rest.

Running it as ./mod-portal-reverse-dep-check.py SchallCircuitGroup, here's full list of mods that have this one in their dependencies:

Connection Box [id=ConnectionBox]
  url: https://mods.factorio.com/mod/ConnectionBox
  dependency: ? SchallCircuitGroup

Will-o'-the-Wisps updated [id=Will-o-the-Wisps_updated]
  url: https://mods.factorio.com/mod/Will-o-the-Wisps_updated
  dependency: ? SchallCircuitGroup

Circuit Power Measurement Combinator [id=Circuit_Power_Measurement_Combinator]
  url: https://mods.factorio.com/mod/Circuit_Power_Measurement_Combinator
  dependency: ? SchallCircuitGroup

Schall Language Pack [id=SchallLanguagePack]
  url: https://mods.factorio.com/mod/SchallLanguagePack
  dependency: ? SchallCircuitGroup

🧰 Smoothest gameplay [Modpack] [id=SmoothestGameplay]
  url: https://mods.factorio.com/mod/SmoothestGameplay
  dependency: SchallCircuitGroup

Schall Circuit Scaling [id=SchallCircuitScaling]
  url: https://mods.factorio.com/mod/SchallCircuitScaling
  dependency: ? SchallCircuitGroup

Biter Detector Sentinel Combinator [id=Biter_Detector_Sentinel_Combinator]
  url: https://mods.factorio.com/mod/Biter_Detector_Sentinel_Combinator
  dependency: ? SchallCircuitGroup

Moon Logic [id=Moon_Logic]
  url: https://mods.factorio.com/mod/Moon_Logic
  dependency: ? SchallCircuitGroup

Switch Button by GalactusX31 updated for 1.0 [id=Switch_Button-1_0]
  url: https://mods.factorio.com/mod/Switch_Button-1_0
  dependency: ? SchallCircuitGroup

Color Combinator Lamp Posts [id=Color_Combinator_Lamp_Posts]
  url: https://mods.factorio.com/mod/Color_Combinator_Lamp_Posts
  dependency: ? SchallCircuitGroup

Mod_Russian_localization [id=Mod_Russian_Localization]
  url: https://mods.factorio.com/mod/Mod_Russian_Localization
  dependency: ? SchallCircuitGroup

Smoothest gameplay Without Poc[Modpack] [id=SmoothestGameplay_Without_Poc]
  url: https://mods.factorio.com/mod/SmoothestGameplay_Without_Poc
  dependency: SchallCircuitGroup
3 years ago

Thanks for the work.
Have not executed your code, but I can see you have spent quite some time on that.
It seems that the two versions of Smoothest gameplay (one deprecated) are the only real additions to the list (which are using the group). Perhaps this mod is still new, have to wait some time before more mods are actually using this.

Having to fetch info from all mods (and with 2 hours) sounds a lot. Hope Wube does not mind this (slight) load to their server. ;-)

BTW, the Mod Portal API info is new to me. Thanks for the info!
Such page together with your code have inspired me some potential uses. The first one pops in my mind is about keep tracking the download figures of my mods. That may help me to know if my new mods are growing or already dead.

New response