Data Providers
Data providers offer runtime access to game content loaded from JSON manifests. They provide type-safe APIs for querying items, recipes, requirements, and station configurations.ProcessingDataProvider
Provides access to cooking, firemaking, smelting, and smithing recipes.Import
Initialization
The provider is automatically initialized byDataManager after loading recipe manifests. You can manually rebuild if needed:
Smelting API
Check if Bar is Smeltable
Get Smelting Data
Get Smeltable Bars from Inventory
Get All Smeltable Bar IDs
Get Smelting Level/XP
Smithing API
Check if Item is Smithable
Get Smithing Recipe
Get Recipes for Bar Type
Get Smithable Items with Availability
Shows ALL recipes for bar types the player has, with flags for UI display:Use
getSmithableItemsWithAvailability() for UI display to show greyed-out items the player can’t make yet.Get All Smithing Recipes
Get Smithing Level/XP
Cooking API
Check if Item is Cookable
Get Cooking Data
Get Cooked/Burnt Item IDs
Get Stop Burn Level
Firemaking API
Check if Log is Burnable
Get Firemaking Data
Get All Burnable Log IDs
TierDataProvider
Provides tier-based level requirements for equipment and tools.Import
Get Requirements for Item
Get Tier Data
Get Available Tiers
Check if Loaded
StationDataProvider
Provides configuration for world stations (anvils, furnaces, ranges, banks).Import
Get Station Data
Get Model Path
Get Model Scale and Offset
Get Examine Text
Check if Station Exists
Get All Station Types
Type Definitions
SmeltingItemData
SmithingRecipeData
SmithingRecipeWithAvailability
CookingItemData
FiremakingItemData
StationData
Performance Considerations
Pre-allocated Buffers
ProcessingDataProvider uses pre-allocated buffers to avoid allocations in hot paths:Lazy Initialization
All providers use lazy initialization - they build lookup tables on first access:Related Documentation
- Manifests - Manifest file structure
- Smithing System - Smithing gameplay
- Skills - Skill system overview
- Database Schema - Persistence layer