I'm working on a mod, where it would be very helpful to be able to "get" (return, via function output) a list of the names (itemstrings) of all currently registered items. I'm working on a bit of code that can scan the list for items that conform to an existing naming convention, and register their material name in a list to be used when adding stuff made out of materials added by other mods.
For example, if another mod adds a material that doesn't exist in the mod, it would be detected by the sniffer and added to a list of materials, for which to register items such as ingots, plates, dust-piles, wires, rods, bolts, rounds, and such, and recipes using them to create those and other items. However, it would have to conform to an existing naming convention, such as "modname:item_ingot_(material name, such as "nichrome", "steel", etc)" or "modname:ingot_(material name)" or "modname:item_(material name)_ingot" - items detected that do not conform to such conventions would simply not be added to the list, and a text-output would be sent to the console, including the unknown item's name, inserted into a "please report to development for further compatibility"-message.
Is there any way, with the currently-existing api, to make the game return a list of registered items (in stackstring format, or a format that can be changed to or interpreted as stackstring), without making a script that checks all possible mod/item ids for existing things (which would consume far more resources than necessary), or patching the register code to output each registered item's stackstring to a list of items?