Having located the magma layer as well as a good source for sand, I'm eager to get glass production up and running, for trade and defense purposes.

In order to better automate things, I set up a glass furnace that doesn't take general orders, but has a specific order to gather sand 10 times whenever there are less than 50 sand-bearing-items available.

However, in order to avoid running completely out of bags I also want to add a conditional not to start the job if there are less than 20 empty bags available, and this is where I run into trouble.

You can specify 'empty items' as a trait, and 'boxes and bags' as a category, but that category includes wooden chests and rock or metal coffers, neither of which are suitable. On the other hand, material doesn't have categories like 'all leather' or 'all yarn' but only specific 'aardvark leather' or 'sheep yarn' or 'ramie cloth'.

This makes the latter test essentially useless since I have a different work order to make sure I always have at least 20 rock coffers available for when I need to create a new bunch of rooms.

Any suggestions?

2 Answers 2


You could try removing the condition for empty bags and instead have the stockpile set to [g]ive resources (and perhaps take as well, I am unsure if the empty bags produced are considered "produced" by the furnace) to that glass furnace, and ensure that it can contain 50 or so sand bags.

This will require that you also ensure it has fuel, but since you mentioned magma I am presuming you intend to make a magma glass furnace so that should not pose an issue.

This way, you will always have 50 bags either empty or full in that stockpile but they will only ever be used by that glass furnace for collecting sand or making glass, so you are free to put other bags elsewhere and they will not be used.

Do note that eventually your glassmakers will become very fast at crafting and will likely outpace your sand collection unless you have many dwarves on it.

  • Hi. Thanks for this answer, but I think I wasn't quite clear enough with my question. What I want is to restrict the 'gather sand' job to not activate unless there is at least a margin of 20 or so empty bags -- not boxes -- available. This is because I need to have a reserve for milling and plant processing as well. Mar 7, 2020 at 23:00
  • There is no way to directly do that, which is why I suggested a specific stockpile of bags for the gather sand job. The job interface might (I don't remember) work with this, so if you set the to job for that glass furnace to run when there are less than 20 bags then it might only check in the specific stockpile you have set to give to the furnace.
    – firedraco
    Mar 9, 2020 at 17:41

My solution to this problem is to limit the amount of sand bags:

Create a job "collect 5 sand" with condition "amount of sand-bearing items at most 8" (item: boxes&bags; trait: sand-bearing).

Then create a bin-less sandbag sockpile next to your glass workshop which can contain ca. 20 sand bags (furniture->sandbag). This way your whole glass industry will ever use only ca. 15 bags in total. No input/output-stockpiles needed if no other stockpile accepts sandbags.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .