TierDataProvider
Provides OSRS-accurate tier-based level requirements for equipment and tools. Single source of truth loaded fromtier-requirements.json manifest.
Location: packages/shared/src/data/TierDataProvider.ts
Overview
TierDataProvider eliminates redundant requirement definitions by mapping metal tiers (bronze, iron, steel, etc.) to skill requirements. Instead of manually specifying requirements for every item, you just set thetier property.
Before (Manual Requirements)
After (Tier-Based)
Initialization
Methods
getRequirements
Get requirements for an item based on its tier.getTierData
Get raw tier data for a specific category and tier.getAvailableTiers
Get all available tiers for a category.isLoaded
Check if tier data is loaded.reset
Reset tier data (for testing).Tier Categories
Melee Equipment
Weapons and armor that use Attack/Defence requirements.Tools
Hatchets and pickaxes that use Attack + skill requirements.Fishing tools don’t use the tier system - they have explicit requirements in the item definition.
Ranged Equipment
Bows and ranged armor that use Ranged/Defence requirements.Magic Equipment
Staffs and robes that use Magic/Defence requirements.Requirement Precedence
TierDataProvider follows this order when determining requirements:- Explicit requirements (item.requirements.skills) - Highest priority
- Tier-derived requirements (from tier-requirements.json)
- null (no requirements)
Manifest Structure
File:packages/server/world/assets/manifests/tier-requirements.json
Integration with DataManager
DataManager uses TierDataProvider during item normalization:item.requirements from the tier system.