Smithing System
The smithing system implements OSRS-accurate smelting and smithing mechanics with manifest-driven recipes, tick-based timing, and auto-smithing support.Smithing code lives in
packages/shared/src/systems/shared/interaction/SmithingSystem.ts and uses recipes from ProcessingDataProvider.Overview
Smithing is a two-step process:- Smelting - Combine ores at a furnace to create bars
- Smithing - Use bars at an anvil to create equipment
- Use tick-based timing (4 ticks = 2.4 seconds per action)
- Support “Make X” functionality (auto-craft multiple items)
- Are 100% success rate (except iron ore smelting)
- Grant Smithing XP per item created
Smelting (Furnaces)
How to Smelt
- Have ores in your inventory
- Click a furnace
- Select bar type from the interface
- Choose quantity (1, 5, 10, X, All)
- System auto-smelts until out of materials
Smelting Requirements
Smelting Recipes
Iron Smelting Failure
Smithing (Anvils)
How to Smith
- Have bars in your inventory
- Have a hammer in your inventory (required, not consumed)
- Click an anvil
- Select item from the interface
- Choose quantity (1, 5, 10, X, All)
- System auto-smiths until out of bars
Smithing Requirements
Smithing Recipes
Weapons:
Armor:
Tools:
Tick-Based Timing
Both smelting and smithing use 4-tick actions (2.4 seconds):Session Processing
Auto-Smithing
The system supports auto-smithing - once started, it continues until:- Target quantity reached
- Out of bars
- Player moves
- Player disconnects
Hammer Requirement
Smithing at anvils requires a hammer in your inventory:Manifest Integration
Smelting Recipes
Defined initems.json with smeltingRecipe property:
Smithing Recipes
Defined initems.json with smithingRecipe property:
Station 3D Models
Anvils and furnaces now use manifest-driven 3D models:Events
API Reference
SmithingSystem
ProcessingDataProvider
Configuration
Constants
Messages
All user-facing messages are centralized:Security Features
Input Validation
All inputs are validated server-side:Server-Authoritative
All smithing logic runs server-side:- Recipe validation - Server checks recipe exists
- Level checks - Server validates smithing level
- Material checks - Server verifies bars in inventory
- Hammer check - Server confirms hammer present
- Consumption - Server removes bars and adds items
Type Safety
The smithing system uses strong typing with type guards:Testing
Smithing has comprehensive test coverage:Related Documentation
- Mining System - Gathering ores
- Skills System - XP and leveling
- Item Manifests - Defining recipes
- Processing Systems - General processing mechanics