* Improved thread safety and async processing in dump processor components
* Removed unused _processedDumps field and simplified variable scope in QueuePipeline
* Refactored service registration into dedicated extension methods
* Added configuration binding and environment variables support
* Refactored collector initialization to use dependency injection
* Refactored data storage to use dependency injection
* Refactored configuration models to use records and added validation
* Refactored static loot configuration to use dependency injection
The changes include:
- Moved static weapon IDs and forced items from LootDumpProcessorContext to ForcedStatic record
- Added ForcedStatic configuration injection in StaticLootProcessor and StaticContainerProcessor
- Improved immutability by using read-only collections in ForcedStatic model
- Simplified LootDumpProcessorContext by removing unused methods
* Refactored configuration access to use dependency injection consistently
* Fixed ForcedStatic configuration
* Refactored forced items configuration to use async provider pattern
The changes introduce a new `IForcedItemsProvider` abstraction to handle loading and caching of forced static and loose loot configurations. This improves the code by:
1. Making configuration loading asynchronous
2. Implementing caching of loaded configurations
3. Centralizing forced items configuration access
4. Removing direct file system dependencies from processors
5. Improving testability through dependency injection
The change also updates related processors and interfaces to use async/await pattern consistently.
* Refactored loose loot processor to use async forced items provider
* Reorganized processor and service components into dedicated namespaces
* Improved thread safety and async processing in dump processor components
* Removed unused _processedDumps field and simplified variable scope in QueuePipeline
The changes include:
- Replaced Newtonsoft.Json with System.Text.Json for serialization
- Removed redundant JsonProperty attributes and simplified model classes
- Converted static fields to constants where appropriate
- Improved code formatting and readability
- Simplified method bodies and expressions
- Removed unused imports and cleaned up namespaces
The changes include:
- Replaced custom logging with Microsoft.Extensions.Logging
- Added TarkovItemsProvider and ComposedKeyGenerator services
- Simplified configuration models by removing redundant options
- Improved dependency injection in processors and readers
- Removed unused factory methods and simplified service registration
* Seperate Tasks into their own methods, Add method to add map name to file name
* Formatting and added a few comments
* Add Clear method to collectors
* Change to local var, so data isnt stored longer than needed
* add Clear method to Storages
* Add changes for Per Map Processing and file i forgot to commit last time
* Update config to have mapNames in it, removed unused yaml file
* update comment
* changed to not throw so Filemode still can be used
Instead of only using the static forced containers from the first dump, merge all static forced containers so we can utilize dumps from multiple versions
Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com>
Reviewed-on: SPT/LootDumpProcessor#7
Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Resolves the following exception:
System.ArgumentException: .NET number values such as positive and negative infinity cannot be written as valid JSON. To make it work when using 'JsonSerializer', consider specifying 'JsonNumberHandling.AllowNamedFloatingPointLiterals'
- Updates the Model/Input classes to match the new export JSON structure
- Updates references to model structure
- Updates SevenZipSharp package
- Adds a few null checks