Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Dwarves suddenly stop putting food in pots/barrels  (Read 4033 times)

Mizzytastic

  • Escaped Lunatic
    • View Profile
Dwarves suddenly stop putting food in pots/barrels
« on: July 10, 2017, 03:54:43 pm »

My current fort has been playing for about 2 years. After a certain point the dwarves just stopped using pots or barrels for food storage. I think it may have started after a getting a lot of food in trade with the dwarven caravan, and filling my stockpile, but it might just be I only noticed it after because of the sudden influx of food. I've got a lot of food rotting and I can't think why the sudden change. The system was working fine for about a year without me changing anything. The food stockpile is taking everything that it does by default, except seeds, and there is a furniture stockpile with just pots and barrels, plus another general one.

Stuff I've checked/tried:
  • Dwarves are set to haul food, and mixing food is fine
  • The food stockpile is set to use the maximum number of barrels.
  • I've unassigned and reassigned the food stockpiles and the furniture stockpiles that take barrels and pots, and have also resized them to make them larger. My dwarves come off idle and rearrange stuff, but still don't put the food in the free pots just lying around.
  • It's definitely not just the food from trading, my farms that were being harvested fine before are now having plants wither without being picked, even when there are spaces being freed up in the stockpile from food rotting.
  • Industries like brewing that need barrels are still using them fine
  • My barrels and pots stockpile initially had a link to the general furniture stockpile, but pots still weren't getting used after I set the pile to take from anywhere and got rid of the link

Any ideas?
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Dwarves suddenly stop putting food in pots/barrels
« Reply #1 on: July 10, 2017, 05:07:25 pm »

I'd check that the food stockpile isn't set to take from links only by accident. Fat fingering isn't exactly an unknown cause of odd behavior...
I'd also check the barrel/pot stockpile to ensure it doesn't give to links only (workshops still take from those stockpiles, even without links, but other stockpiles won't).
Burrows, in particular civilian alert ones forgotten after a threat has been dealt with.
Logged

Thisfox

  • Bay Watcher
  • Vixen.
    • View Profile
Re: Dwarves suddenly stop putting food in pots/barrels
« Reply #2 on: July 10, 2017, 05:18:51 pm »

I would definitely make a new food stockpile. One you can sacrifice later. If every tile in the old stockpiles is full, that can sometimes have an effect, and yes, some link you don't know about could be a culprit. Make a food stockpile, a large one, untainted with orders of any type, nearish the trade depot and see if it helps. Don't link it to anything 'till it's saved everything.

Are all your dorfs very busy? It's possible they've just been kicking "hauling" to the bottom of the list for a year. This is a game of crazy coincidences.

Food won't rot if it's in a food stockpile of some sort. So if the food in the food stockpile not in a jar is rotting, that's not a food stockpile you've got there. The only thing the barrels/pots are for is to keep vermin off them and save space. So if food is rotting in a food stockpile, there is something very wrong with the stockpile. Is it a mislabelled furniture stockpile?

You could also try making some new rock pots, fresh off the masons workshop, and see if these ones are useable while the other ones aren't. Do you have a stockpile that has a barrel reserve? Perhaps it's hogging all the pots.
Logged
Mules gotta spleen. Dwarfs gotta eat.
Thisfox likes aquifers, olivine, Forgotten Beasts for their imagination, & dorfs for their stupidity. She prefers to consume gin & tonic. She absolutely detests Facebook.
"Urist McMason died out of pure spite to make you wonder why he was suddenly dead"
Oh god... Plump Helmet Man Mimes!

Loci

  • Bay Watcher
    • View Profile
Re: Dwarves suddenly stop putting food in pots/barrels
« Reply #3 on: July 10, 2017, 07:26:07 pm »

The best way to get an accurate diagnosis is to upload a save.

That being said, here are a few more guesses:

Your dwarves need to have the appropriate hauling labor enabled, and your standing orders have to allow food hauling jobs. "Dwarves are set to haul food" could conceivably mean either, but both are required.

When editing stockpile settings, players sometimes disable "Additional Options" without realizing that blocks "organic" and "non-organic" items (i.e. everything). 

"Reserved barrels" is a site-wide setting that requires the specified number of empty barrels to only be used by workshop tasks (e.g. brewing). Reserved barrels will not be used for storage in any stockpile. Check that you have more empty barrels than your reserve.
 
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Dwarves suddenly stop putting food in pots/barrels
« Reply #4 on: July 11, 2017, 01:59:25 am »

Worth considering if you're low on haulers: after you, say, purchase maxed out meat of all kinds that you ordered in depot, deconstruct the depot once merchants leave and slap down a 5x5 food stockpile.

Mizzytastic

  • Escaped Lunatic
    • View Profile
Re: Dwarves suddenly stop putting food in pots/barrels
« Reply #5 on: July 11, 2017, 07:19:42 am »

I've tried setting up a new stockpile twice the size with no change. Made sure to get rid of any links that existed.

All dwarves have all hauling enabled AND food hauling is enabled in the options menu. I'm sitting at around 30 idlers and have been for a while. Dwarves are hauling food to the stockpile, just not then sorting it into barrels or pots.

Reserved barrels is set to 0, and the new stockpile definitely doesn't have the additional options turned off.

I've tried making some new pots, they aren't getting treated any differently than the old ones, still used in jobs but stuff sitting in stockpiles isn't getting put into old ones or sorted into new ones.


I'll leave it to run until the next caravan comes and see what happens then.
Logged

Bumber

  • Bay Watcher
  • REMOVE KOBOLD
    • View Profile
Re: Dwarves suddenly stop putting food in pots/barrels
« Reply #6 on: July 11, 2017, 05:24:49 pm »

How big are the food stacks? They might not fit in containers.
Logged
Reading his name would trigger it. Thinking of him would trigger it. No other circumstances would trigger it- it was strictly related to the concept of Bill Clinton entering the conscious mind.

THE xTROLL FUR SOCKx RUSE WAS A........... DISTACTION        the carp HAVE the wagon

A wizard has turned you into a wagon. This was inevitable (Y/y)?

anewaname

  • Bay Watcher
  • The mattock... My choice for problem solving.
    • View Profile
Re: Dwarves suddenly stop putting food in pots/barrels
« Reply #7 on: July 11, 2017, 08:54:59 pm »

The moving of food into barrels happens much slower than individual "Store in Stockpile" jobs. With 30 idle dwarfs, you could fill up a 50-100 square stockpile with individual items before one barrel was placed on the stockpile and filled.

You can see if the barrel-filling job is queued by checking your Jobs menu. Look for a "Store Item in Stockpile" or "Store Item in Barrel" job that targets that food stockpile. Hit 'j' to see that the barrel is the item being put in the stockpile or that there is a bunch of food items being stored in the barrel. The job name may vary if a large pot is being used.

Your trade depot functions as a food stockpile (so there will be no rotting there) but if food is being hauled from the trade depot, food in the farm or butcher's shop may be ignored for too long.

Miasma aggravates me greatly so I always make 100+ square overspill stockpiles with no barrels, linked to 'g'ive to the main food stockpile. When there is a large influx of food, it handles it. There is one of these overspill stockpiles for Meat/Fish/Cheese/Plants/Leaves, and one for cooked food. If I notice either is half full, I know I need to review the main stockpile situation.
Logged
How did I manage to successfully apply the lessons of The Screwtape Letters to my perceptions of big grocery stores?

Altaree

  • Bay Watcher
    • View Profile
Re: Dwarves suddenly stop putting food in pots/barrels
« Reply #8 on: July 12, 2017, 02:32:05 pm »

If there are idle jobs listed called "Store Item in Barrel" you could try this dfhack script from rndmvar:
Code: [Select]
-- Add the priority tag to jobs of selected type.
--(Good for jobs for storing items in location/hospital which will never be completed so long as stockpile jobs keep getting queued above it)
local usage = [====[

priority
=======================
Set's the do_now flag on all of the selected types of jobs.

Arguments::

    -BringItemToDepot
        Sets the do_now flag for jobs of this type.
    -ConstructBuilding
        Sets the do_now flag for jobs of this type.
    -DestroyBuilding
        Sets the do_now flag for jobs of this type.
    -DumpItem
        Sets the do_now flag for jobs of this type.
    -LoadCageTrap
        Sets the do_now flag for jobs of this type.
    -LoadCatapult
        Sets the do_now flag for jobs of this type.
    -LoadStoneTrap
        Sets the do_now flag for jobs of this type.
    -LoadWeaponTrap
        Sets the do_now flag for jobs of this type.
    -ManageWorkOrders
        Sets the do_now flag for jobs of this type.
    -PenLargeAnimal
        Sets the do_now flag for jobs of this type.
    -PenSmallAnimal
        Sets the do_now flag for jobs of this type.
    -PullLever
        Sets the do_now flag for jobs of this type.
    -RecoverPet
        Sets the do_now flag for jobs of this type.
    -RecoverWounded
        Sets the do_now flag for jobs of this type.
    -ReleaseLargeCreature
        Sets the do_now flag for jobs of this type.
    -ReleasePet
        Sets the do_now flag for jobs of this type.
    -ReleaseSmallCreature
        Sets the do_now flag for jobs of this type.
    -RemoveConstruction
        Sets the do_now flag for jobs of this type.
    -StoreItemInBag
        Sets the do_now flag for jobs of this type.
    -StoreItemInBarrel
        Sets the do_now flag for jobs of this type.
    -StoreItemInBin
        Sets the do_now flag for jobs of this type.
    -StoreItemInHospital
        Sets the do_now flag for jobs of this type.
    -StoreItemInLocation
        Sets the do_now flag for jobs of this type.
    -StoreItemInStockpile
        Sets the do_now flag for jobs of this type.
    -StoreItemInVehicle
        Sets the do_now flag for jobs of this type.
    -TameAnimal
        Sets the do_now flag for jobs of this type.
    -TameVermin
        Sets the do_now flag for jobs of this type.
    -TradeAtDepot
        Sets the do_now flag for jobs of this type.
    -TrainAnimal
        Sets the do_now flag for jobs of this type.
    -TrainHuntingAnimal
        Sets the do_now flag for jobs of this type.
    -TrainWarAnimal
        Sets the do_now flag for jobs of this type.

]====]
local utils = require 'utils'

--validArgs = validArgs or utils.invert({
validArgs = utils.invert({
 'help',
 'BringItemToDepot',
 'ConstructBuilding',
 'DestroyBuilding',
 'DumpItem',
 'LoadCageTrap',
 'LoadCatapult',
 'LoadStoneTrap',
 'LoadWeaponTrap',
 'ManageWorkOrders',
 'PenLargeAnimal',
 'PenSmallAnimal',
 'PullLever',
 'RecoverPet',
 'RecoverWounded',
 'ReleaseLargeCreature',
 'ReleasePet',
 'ReleaseSmallCreature',
 'RemoveConstruction',
 'StoreItemInBag',
 'StoreItemInBarrel',
 'StoreItemInBin',
 'StoreItemInHospital',
 'StoreItemInLocation',
 'StoreItemInStockpile',
 'StoreItemInVehicle',
 'TameAnimal',
 'TameVermin',
 'TradeAtDepot',
 'TrainAnimal',
 'TrainHuntingAnimal',
 'TrainWarAnimal',
})

local args = utils.processArgs({...}, validArgs)

if args.help then
 print(usage)
 return
end

local function donow(type_of_job)
    for k, post in pairs(df.global.world.job_postings) do
        if not post.flags.dead then
            local job = post.job
            local job_type = job.job_type
            if job_type == type_of_job and not job.flags.do_now then
                job.flags.do_now = true
                print(('Job at index %d updated.'):format(k))
            end
        end
    end
end

local function filter_args(list_of_jobs)
    for job_name, i in pairs(validArgs) do
        if list_of_jobs[job_name] and df.job_type[job_name] then
            print('Setting do_now flag on jobs of type: ' .. job_name)
            donow(df.job_type[job_name])
        end
    end
end

filter_args(args)


save in hack/scripts/priority.lua and type "priority -StoreItemInBarrel" into dfhack.
Logged
Dan Pearson:
This is a game which calculates the volume of blood in every creature it generates so it knows how much alcohol it would have to consume to get drunk, an update which, remarkably, ended up covering people's fortresses in cat vomit.

Waxonian

  • Escaped Lunatic
    • View Profile
Re: Dwarves suddenly stop putting food in pots/barrels
« Reply #9 on: July 15, 2017, 09:16:02 am »

Your dwarves need to have the appropriate hauling labor enabled, and your standing orders have to allow food hauling jobs. "Dwarves are set to haul food" could conceivably mean either, but both are required.

Wow, that hint finally solved my wood cluttering problem. When did I switched my dwarves to not haul wood by accident? Dunno, but now the logs come to the carpenter again  8).
Logged