This mod looks through all recipes and adds a small chance of producing scrap based on the recipe's ingredients. You can configure the overall amount of scrap. For example, to make a transport belt in IR3, you need copper and tin components. So this mod changes the recipe to also have a chance to produce copper scrap and tin scrap in addition to the transport belt. These are the same scrap items that are already included in IR3.
You can smelt the scrap to get a few bonus ingots of the original material, as in the base IR3 mod. At scale, this presents a big logistical challenge, as many areas of your factory will produce scrap, which all needs to be collected and transported to furnaces.
As an alternative to smelting all your scrap, if you choose to enable it, the mod adds recipes to turn scrap directly into pellets and rivets, which you can then use to make other products. These new recipes provide an extra logistical challenge, and solving this optional challenge rewards you with savings in energy and resources.
This mod is an unofficial modification of Industrial Revolution 3 by Deadlock989.
Thanks to Wyp020610 for great feature suggestions and bug reports.
This mod takes inspiration from the mods Production Scrap 2 and Ingredient Scrap. I'm not sure who originally came up with the idea.
Some recipes are not changed:
- For recipes like barrelling and alloying, it just wouldn't make logical sense to produce scrap.
- Recipes that are usually only handcrafted, such as personal armor or nightvision goggles, are exempted from producing scrap because it would be annoying. The goal is to make production lines more intricate, not to inconvenience the player.
- The mod does not add any new items. It only uses existing IR3 items, so if IR3 doesn't have platinum scrap then this mod will not produce it.
- Recipes which produce basic intermediates (plates, rods, beams, etc.) are exempted, because making them produce scrap would encourage factory designs that are boring and against the spirit of IR3. If those recipes produced scrap, the easiest way to deal with it would be to produce each intermediate in one place, and then bus/transport them around, rather than producing them locally where they are needed.
How is scrap amount calculated? The mod checks the recipe's ingredients for certain items like ingots, plates, rods, and beams, and then calculates the "ingot equivalent" of these ingredients. Since 1 ingot can be turned into 2 rods, each rod should produce half the scrap of an ingot. This ingot equivalent of the ingredients is then multiplied by the "scrap per ingot" setting that you can configure (default is 0.05), producing a target amount of scrap. If the target is less than 1, such as 0.2, this becomes a 20% chance to produce one scrap item. If the target amount is greater than 1, we produce a random amount of scrap between 0 and the floor of double the target. So for example if the target is 1.6, the recipe will produce between 0 and 3 scrap.
Todos and feature wishlist for future versions:
Feel free to suggest features or report issues in the discussion tab. Pull requests are also welcome.
- Add a setting to enable smelting of pellets to ingots, and melting of pellets to molten metals.
- Make sprites for the types of scrap that are not included in IR3, such as platinum scrap, and integrate them into the mod.
- Play through an entire game with this mod enabled, and make a list of bugs, feature ideas, and better default values for the settings.
- Add a setting to multiply the efficiency of smelting or melting scrap.
- Add concrete scrap as a byproduct to recipes that use concrete blocks.
- Write code to automatically look through the entire set of recipes at the end, and try to find exploits - ways that the player could make resources out of nothing, by exploiting prod modules and repeatedly scrapping and re-making items. This could be released as a separate mod, useful to anyone making a mod with cycles in the recipe/item graph.