|  |  | @ -1086,9 +1086,25 @@ static void map_job_items(Core *c) | 
			
		
	
		
		
			
				
					
					|  |  |  |         int16_t imattype = item->getActualMaterial(); |  |  |  |         int16_t imattype = item->getActualMaterial(); | 
			
		
	
		
		
			
				
					
					|  |  |  |         int32_t imatindex = item->getActualMaterialIndex(); |  |  |  |         int32_t imatindex = item->getActualMaterialIndex(); | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         bool is_invalid = false; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         // Special handling
 |  |  |  |         // Special handling
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (dry_buckets && itype == item_type::BUCKET && !item->flags.bits.in_job) |  |  |  |         switch (itype) { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         case item_type::BUCKET: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (dry_buckets && !item->flags.bits.in_job) | 
			
		
	
		
		
			
				
					
					|  |  |  |                 dryBucket(item); |  |  |  |                 dryBucket(item); | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             break; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         case item_type::THREAD: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (item->getTotalDimension() < 15000) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 is_invalid = true; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             break; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         case item_type::CLOTH: | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             if (item->getTotalDimension() < 10000) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 is_invalid = true; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |             break; | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         if (item->flags.bits.melt && !item->flags.bits.owned && !itemBusy(item)) |  |  |  |         if (item->flags.bits.melt && !item->flags.bits.owned && !itemBusy(item)) | 
			
		
	
		
		
			
				
					
					|  |  |  |             meltable_count++; |  |  |  |             meltable_count++; | 
			
		
	
	
		
		
			
				
					|  |  | @ -1119,7 +1135,8 @@ static void map_job_items(Core *c) | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (!ok) |  |  |  |             if (!ok) | 
			
		
	
		
		
			
				
					
					|  |  |  |                 continue; |  |  |  |                 continue; | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |             if (item->flags.bits.owned || |  |  |  |             if (is_invalid || | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                 item->flags.bits.owned || | 
			
		
	
		
		
			
				
					
					|  |  |  |                 item->flags.bits.in_chest || |  |  |  |                 item->flags.bits.in_chest || | 
			
		
	
		
		
			
				
					
					|  |  |  |                 item->isAssignedToStockpile() || |  |  |  |                 item->isAssignedToStockpile() || | 
			
		
	
		
		
			
				
					
					|  |  |  |                 itemInRealJob(item) || |  |  |  |                 itemInRealJob(item) || | 
			
		
	
	
		
		
			
				
					|  |  | 
 |