Community-maintained continuation of Deadlock's Stacking Beltboxes & Compact Loaders, updated for Factorio 2.1.
Mods introducing new content into the game.
Augmented or new ways of transporting materials - belts, inserters, pipes!
Hello!
I've had to check out this mod lately to make a compatibility patch for another mod that adds belts, and I've noticed that most of the stacked icons are based on the old item icons from 0.17, or they just look odd. Moreover, a lot of space age items just don't have stacked variants for some reason (only tungsten ore is stackable in-game, and even then it looks weird).
So I took it upon myself to remake all the item stack sprites, and make some extras for fun. Take a look. :)
I've tried making a stack icon for most basic resources and components added by Space Age. They're all 64px icons.

I'm still making mipmaps and fixing minor spriting issues, but I should be done soon.
Once I'm done, could I send the files to you so you could patch them in? (I don't really know how to use Github...)
Hello! @Supershadow30
That looks fantastic, and thank you very much for taking the time to remake all of these. The old stacked icons have definitely been showing their age, and having proper Space Age variants would be a huge improvement.
I would be very happy to include them once they are finished. Could you send me the individual 64×64 PNG files with transparent backgrounds, preferably named after the items they belong to? Putting all the loose PNGs into a ZIP would be perfect. You do not need to use GitHub at all; I can take care of integrating everything into the mod.
Graphics are absolutely not my strong point, so this kind of contribution is genuinely very welcome. I will of course make sure you are properly credited for the artwork.
Thanks again for the very kind offer!
Alright I'm done with the sprites. I've uploaded a zip here: https://www.mediafire.com/file/zedjw3r9tcst5ae/DLSB_-_Stacked_item_icons.zip/file
I've decided to name them all item-name-stack.png after their respective item's internal names for ease of use.
Inside the zip are both the 64x64 PNG pictures and mip mapped versions, like the base game's item icons (4 sizes; x64, x32, x16 and x8).
I'd advise you only use the mipped versions for performance.
One note regarding integration of space age item stacks: remember to make stacked spoilables spoil into stacked spoilage (that's why I've included a sprite for it too :) ), probably after the same amount of time. Hopefully the stacking/unstacking recipes won't reset spoil time, otherwise there might be potential exploits.
If you have suggestions to tweak some sprites, or want more stacked item sprites, please let me know.
@Supershadow30
Hi SUPER !!, the spoilage iam still figuring out and working on it, iam thinking but not sure how yet that if stacked its just 5x times the time but iam not sure of that just yet
I think it'd be best if stacked items spoil just as fast as the regular item. Stacking already lets you move them way faster.
Plus, with factorio's spoil time logic (an item crafted using spoiled items will average each item's spoil time for itself), I think it makes sense. If you put a rotten apple with good ones, they'll spoil faster.
That is a good point. I am currently considering handling it this way:
For example, five items at 100%, 80%, 60%, 40% and 20% freshness would become one stacked item at 60% freshness.
However, this is only the approach I am considering at the moment. I am not yet sure whether Factorio’s recipe system will handle the freshness transfer automatically, whether it would require a major rewrite of the stacking system, or whether tracking it manually would have an unacceptable UPS impact.
I will need to experiment with it and see what is realistically possible before I can promise support for stacked spoilable items.
That is a good point. I am currently considering handling it this way:
[detailed explanation]
For example, five items at 100%, 80%, 60%, 40% and 20% freshness would become one stacked item at 60% freshness.
It seems Factorio already handles this natively.
The Agricultural Science Pack page from the Factorio wiki says the following:
The freshness transfers from ingredients to outputs, so fresher ingredients result in fresher products. The freshness of the ingredients of is averaged for the output freshness.
Due to this, fresher pentapod eggs can make up for less fresh bioflux; a 99% fresh egg and 50% fresh bioflux will yield a 74.5% fresh science pack.
So, freshness already transfers in the way you're mentioning, as long as the recipe isn't setting the output's spoilage to a specific amount (such as "nutrient from spoilage" which sets the nutrient's freshness at 50%).
Therefore, just make sure the recipe's output product doesn't have reset_freshness_on_craft isn't set to true (by default, it's false).
Ah, excellent, that is exactly the native behaviour I was hoping Factorio would provide.
That should mean the stacking recipe can let Factorio calculate and transfer the averaged freshness, without the mod having to track individual items manually. That would also avoid introducing runtime tracking or a potential UPS cost.
I still need to verify that the generated stacking and unstacking recipes do not override or reset freshness, and test that unstacking produces all normal items with the same averaged freshness.
The remaining complication is the spoil result. I need to make sure that a fully spoiled stacked item produces the correct stacked equivalent, including items that have a special spoil result rather than ordinary spoilage.
But this makes the feature look considerably more practical. Thanks for finding that!
The remaining complication is the spoil result. I need to make sure that a fully spoiled stacked item produces the correct stacked equivalent, including items that have a special spoil result rather than ordinary spoilage.
So far I've only made sprites for items that spoil into spoilage, but I could make some extra stack sprites for pentapod eggs or biter eggs :P
it would be welcome but i think i first need the rest get working :)
The remaining complication is the spoil result. I need to make sure that a fully spoiled stacked item produces the correct stacked equivalent, including items that have a special spoil result rather than ordinary spoilage.
So far I've only made sprites for items that spoil into spoilage, but I could make some extra stack sprites for pentapod eggs or biter eggs :P
i had my workflow system add your files, remotely to my repo , iam at work now and havent tested it yet BUT
here is a .7 test build.
i have not tested this my self yet.
here is a .7 test build.
i have not tested this my self yet.
I'm testing it. The spoilage works fine, the freshness during stacking/unstacking is preserved. Fuel/yum value is preserved.
The only thing wrong right now is the rocket capacity of stacks. Every type of stack has a rocket capacity of 10k, which is way too much.
It should be:
Rocket capacity of a stack = original item's rocket capacity / amount of item in a stack (default: 5)
So for instance, iron plate stacks should have their rocket capacity set to 200, steel plate stacks should have 80, etc
No rush tho if you're at work
Supershadow, that is valuable information. I cannot fix that remotely right now, but I do have some ideas for when I get home from work later today.
It is great to hear that the spoilage works correctly and that freshness is preserved during both stacking and unstacking. That confirms the most uncertain part of the implementation.
I was also a little worried because I have not had the chance to test the new graphics in-game myself yet, and I was not sure whether they would work correctly after being integrated through my automated workflow. Since you have not mentioned any problems with them, it sounds like that part is working as intended as well, which is very good news.
You are completely right about the rocket capacity. I mostly play with Pyanodon, so I do not normally encounter or pay much attention to the vanilla rocket-capacity system. A stacked item should represent the combined weight of the items inside it, so its rocket capacity should be divided by the number of items represented by the stack.
I will look into correcting the generated item weights and prepare another 7.0.7 test build once it is fixed.
keep an eye on
https://github.com/goakiller900/deadlock-beltboxes-loaders-continued/actions
thats where you can download the test builds
Thanks again for testing it so quickly and catching this!
@Supershadow30
I am home now and have fixed the issues as far as I can see.
The rocket-capacity problem has been corrected, and I tested it in-game with both iron plate stacks and steel plate stacks. Their rocket capacities now scale correctly with the number of items represented by each stack.
Since the Foundry support, spoilage, freshness preservation, fuel values, graphics and rocket capacities all appear to be working correctly, I have now released version 7.0.7 publicly on the Mod Portal.
And yes, the extra graphics for items such as pentapod eggs or biter eggs would still be very welcome! There is no pressure, of course, but I would be happy to add more supported stacked items in a future update.
I have also credited you in both the changelog and the updated mod description for creating the new stacked-item artwork, testing the 7.0.7 build, confirming that spoilage and freshness preservation work correctly, and finding the rocket-capacity issue.
I have validated this update about as thoroughly as I reasonably could, but should I still have missed something, please feel free to report it. Bugs have an unfortunate habit of surviving even excessive amounts of testing. :P
Thank you again for all the artwork, research and testing. It made this update considerably better!
Here's the stacked icons for pentapod eggs, biter eggs and superconductors. If you need more stacked item icons, don't hesitate to ask.
https://www.mediafire.com/file/xl27qtdbo4eaza5/DLSB_-_Eggs_%252B_superconductor.zip/file
If you do implement the eggs, remember to spawn x5 enemies on spoil :P That's all for me for now.
Thank you! I have downloaded the files, and the new icons look like a great addition.
The superconductor should be fairly straightforward to integrate. For the pentapod and biter eggs, I first want to investigate exactly how their spoilage and enemy-spawning behaviour is implemented in Space Age.
A stacked egg represents five normal eggs, so I want to make sure that spoiling one stack produces the same result as five individual eggs spoiling—including spawning the correct number of enemies. I do not want to add them with incomplete or incorrect gameplay behaviour just because the graphics are ready. :P
I am leaving for holiday right now. I am bringing my PC with me, but I still need to travel, settle in and get everything set up, so I will probably look into the implementation sometime next week.
Thank you again for making these and for the reminder about the five enemies!