Artisan Skills Guide
Comprehensive guide to Hyperscape’s three artisan skills: Crafting, Fletching, and Runecrafting.Overview
Artisan skills allow players to create equipment, ammunition, and consumables from raw materials. All three skills follow OSRS-accurate mechanics with manifest-driven recipes.Crafting
Create leather armor, dragonhide equipment, jewelry, and cut gems.Categories
Leather Crafting (Levels 1-18)
Requirements:- Needle (tool, not consumed)
- Thread (consumable, 5 uses per item)
- Leather (material)
- Leather gloves (level 1, 13.8 XP)
- Leather boots (level 7, 16.3 XP)
- Leather vambraces (level 11, 22 XP)
- Leather chaps (level 14, 27 XP)
- Leather body (level 14, 25 XP)
- Coif (level 18, 37 XP)
- Have needle and thread in inventory
- Use needle on leather
- Select item from crafting panel
- Choose quantity (1, 5, 10, All, or custom)
- Wait for crafting to complete (2-3 ticks per item)
Dragonhide Crafting (Levels 57-84)
Requirements:- Needle (tool, not consumed)
- Thread (consumable, 5 uses per item)
- Dragon leather (material)
- Green d’hide vambraces (level 57, 62 XP)
- Green d’hide chaps (level 60, 124 XP)
- Green d’hide body (level 63, 186 XP)
- Blue d’hide vambraces (level 66, 70 XP)
- Blue d’hide chaps (level 68, 140 XP)
- Blue d’hide body (level 71, 210 XP)
- Red d’hide vambraces (level 73, 78 XP)
- Red d’hide chaps (level 75, 156 XP)
- Red d’hide body (level 77, 234 XP)
- Black d’hide vambraces (level 79, 86 XP)
- Black d’hide chaps (level 82, 172 XP)
- Black d’hide body (level 84, 258 XP)
Jewelry Crafting (Levels 5-40)
Requirements:- Furnace (station)
- Mould (tool, not consumed)
- Gold or silver bar (material)
- Gold ring (level 5, 15 XP, ring mould)
- Sapphire ring (level 20, 40 XP, ring mould + sapphire)
- Emerald ring (level 27, 55 XP, ring mould + emerald)
- Ruby ring (level 34, 70 XP, ring mould + ruby)
- Diamond ring (level 43, 85 XP, ring mould + diamond)
- Gold necklace (level 6, 20 XP, necklace mould)
- Sapphire necklace (level 22, 55 XP, necklace mould + sapphire)
- Emerald necklace (level 29, 60 XP, necklace mould + emerald)
- Ruby necklace (level 40, 75 XP, necklace mould + ruby)
- Diamond necklace (level 56, 90 XP, necklace mould + diamond)
- Have mould and gold/silver bar in inventory
- Use gold bar on furnace
- Select jewelry item from crafting panel
- Choose quantity
- Wait for crafting to complete (instant at furnace)
Gem Cutting (Levels 20-43)
Requirements:- Chisel (tool, not consumed)
- Uncut gem (material)
- Sapphire (level 20, 50 XP)
- Emerald (level 27, 67.5 XP)
- Ruby (level 34, 85 XP)
- Diamond (level 43, 107.5 XP)
- Have chisel in inventory
- Use chisel on uncut gem
- Gem is instantly cut (no quantity selection)
Tanning System
Convert hides to leather at tanner NPCs. Tanning Costs:- Cowhide → Leather (1 gp)
- Green dragonhide → Green dragon leather (20 gp)
- Blue dragonhide → Blue dragon leather (20 gp)
- Red dragonhide → Red dragon leather (20 gp)
- Black dragonhide → Black dragon leather (20 gp)
- Talk to tanner NPC
- Select hide type from tanning panel
- Choose quantity
- Confirm (coins deducted, leather added instantly)
Crafting Mechanics
Thread Consumption:- Thread has 5 uses before being consumed
- Uses tracked in-memory during crafting session
- New thread consumed from inventory when uses depleted
- Crafting stops if no thread available
- Crafting cancels when player moves
- Crafting cancels when combat starts
- Matches OSRS behavior where any action interrupts skilling
- Recipes filter by input item (e.g., chisel + uncut sapphire shows only sapphire)
- Furnace jewelry filters by equipped mould
- Auto-selects single recipe to skip to quantity selection
- Craft 1, 5, 10, All, or custom quantity
- Custom quantity remembered in localStorage
- “All” computes max based on available materials
- Single inventory scan per tick
- Reusable arrays to avoid allocations
- Once-per-tick processing guard
- Rate limiting (1 request per 500ms)
- Audit logging on craft completion
- Monotonic counter for item IDs
- Input validation
Fletching
Create ranged weapons and ammunition.Categories
Arrow Shafts (Levels 1-60)
Requirements:- Knife (tool, not consumed)
- Logs (material)
- Arrow shaft (level 1, 5 XP, 15 per log)
- Oak arrow shaft (level 10, 10 XP, 15 per log)
- Willow arrow shaft (level 20, 15 XP, 15 per log)
- Maple arrow shaft (level 30, 20 XP, 15 per log)
- Yew arrow shaft (level 50, 25 XP, 15 per log)
- Magic arrow shaft (level 60, 30 XP, 15 per log)
- Have knife in inventory
- Use knife on logs
- Select arrow shafts from fletching panel
- Choose quantity (actions, not shafts - each action produces 15 shafts)
- Wait for fletching to complete (2-3 ticks per action)
Headless Arrows (Level 1)
Requirements:- Arrow shafts (material)
- Feathers (material)
- Headless arrow (level 1, 1 XP, 15 per action)
- Use arrow shafts on feathers (item-on-item)
- Fletching panel opens automatically
- Choose quantity (actions, not arrows - each action produces 15 arrows)
- Wait for fletching to complete
Arrows (Levels 1-75)
Requirements:- Headless arrows (material)
- Arrowtips (material)
- Bronze arrow (level 1, 1.3 XP, 15 per action)
- Iron arrow (level 15, 2.5 XP, 15 per action)
- Steel arrow (level 30, 5 XP, 15 per action)
- Mithril arrow (level 45, 7.5 XP, 15 per action)
- Adamant arrow (level 60, 10 XP, 15 per action)
- Rune arrow (level 75, 12.5 XP, 15 per action)
- Use arrowtips on headless arrows (item-on-item)
- Fletching panel opens automatically
- Choose quantity (actions, not arrows - each action produces 15 arrows)
- Wait for fletching to complete
Shortbows (Levels 5-70)
Requirements:- Knife (tool, not consumed)
- Logs (material)
- Shortbow (u) (level 5, 5 XP)
- Oak shortbow (u) (level 20, 16.5 XP)
- Willow shortbow (u) (level 35, 33.3 XP)
- Maple shortbow (u) (level 50, 50 XP)
- Yew shortbow (u) (level 65, 67.5 XP)
- Magic shortbow (u) (level 80, 83.3 XP)
- Have knife in inventory
- Use knife on logs
- Select shortbow from fletching panel
- Choose quantity
- Wait for fletching to complete
Longbows (Levels 10-85)
Requirements:- Knife (tool, not consumed)
- Logs (material)
- Longbow (u) (level 10, 10 XP)
- Oak longbow (u) (level 25, 25 XP)
- Willow longbow (u) (level 40, 41.5 XP)
- Maple longbow (u) (level 55, 58.3 XP)
- Yew longbow (u) (level 70, 75 XP)
- Magic longbow (u) (level 85, 91.5 XP)
Stringing Bows (Levels 5-85)
Requirements:- Bowstring (material)
- Unstrung bow (material)
- Shortbow (level 5, 5 XP)
- Oak shortbow (level 20, 16.5 XP)
- Willow shortbow (level 35, 33.3 XP)
- Maple shortbow (level 50, 50 XP)
- Yew shortbow (level 65, 67.5 XP)
- Magic shortbow (level 80, 83.3 XP)
- Longbow (level 10, 10 XP)
- Oak longbow (level 25, 25 XP)
- Willow longbow (level 40, 41.5 XP)
- Maple longbow (level 55, 58.3 XP)
- Yew longbow (level 70, 75 XP)
- Magic longbow (level 85, 91.5 XP)
- Use bowstring on unstrung bow (item-on-item)
- Fletching panel opens automatically
- Choose quantity
- Wait for fletching to complete (no tool required)
Fletching Mechanics
Multi-Output Recipes:- Arrow shafts: 15 per log
- Headless arrows: 15 per action
- Arrows: 15 per action
- Arrowtips (from Smithing): 15 per bar
- Bowstring + unstrung bow → strung bow
- Arrowtips + headless arrows → arrows
- Arrow shafts + feathers → headless arrows
- Fletching cancels when player moves
- Fletching cancels when combat starts
- Knife + logs shows all recipes for that log type
- Item-on-item shows only matching recipes
- Fletch 1, 5, 10, All, or custom quantity
- Quantity refers to ACTIONS, not output items
- Example: “Fletch 5” with logs = 75 arrow shafts (5 actions × 15 shafts)
Runecrafting
Convert essence into runes at runecrafting altars.Altars
Basic Runes (Levels 1-27)
Advanced Runes (Levels 27-65)
Essence Types
Rune Essence:- Can craft: Air, Mind, Water, Earth, Fire, Body runes
- Obtained from: Rune essence mine (requires quest)
- Can craft: All runes (including Cosmic, Chaos, Nature, Law, Death)
- Obtained from: High-level mining, shops
Multi-Rune Crafting
At specific levels, you craft multiple runes per essence: Example: Air Runes- Level 1-10: 1 air rune per essence
- Level 11-21: 2 air runes per essence
- Level 22-32: 3 air runes per essence
- Level 33-43: 4 air runes per essence
- And so on…
How to Runecraft
- Gather essence (rune essence or pure essence)
- Travel to runecrafting altar
- Click on altar
- ALL essence in inventory is instantly converted to runes
- Runes appear in inventory
Runecrafting Mechanics
Instant Conversion:- No tick delay (unlike other skills)
- All essence converted in one action
- XP granted per essence consumed
- Calculated based on player level
- Each threshold grants +1 rune per essence
- Thresholds are skill-specific (see table above)
- Basic runes require rune_essence OR pure_essence
- Advanced runes require pure_essence only
- Invalid essence types are ignored
- Runecrafting always succeeds
- No burnt or failed runes
Recipe Manifests
All artisan skill recipes are defined in JSON manifests atpackages/server/world/assets/manifests/recipes/:
Crafting Manifest (recipes/crafting.json)
output: Item ID of crafted itemcategory: UI grouping (leather, dragonhide, jewelry, gem_cutting)inputs: Materials consumed per crafttools: Items required in inventory (not consumed)consumables: Items with limited uses (e.g., thread with 5 uses)level: Crafting level requiredxp: XP granted per item madeticks: Time in game ticks (600ms per tick)station: Required station (“none” or “furnace”)
Fletching Manifest (recipes/fletching.json)
output: Item ID of fletched itemoutputQuantity: Number of items produced per action (default: 1)category: UI grouping (arrow_shafts, headless_arrows, arrows, shortbows, longbows, stringing)inputs: Materials consumed per actiontools: Items required in inventory (not consumed, empty for stringing)level: Fletching level requiredxp: XP granted per action (total for all outputQuantity items)ticks: Time in game ticksskill: Must be “fletching”
Runecrafting Manifest (recipes/runecrafting.json)
runeType: Unique identifier (air, mind, water, etc.)runeItemId: Item ID of output runelevelRequired: Runecrafting level requiredxpPerEssence: XP granted per essence consumedessenceTypes: Valid essence item IDsmultiRuneLevels: Levels at which multiplier increases (sorted ascending)
Tanning Manifest (recipes/tanning.json)
input: Hide item IDoutput: Leather item IDcost: Coin cost per hidename: Display name
ProcessingDataProvider API
Central data provider for all artisan skill recipes.Initialization
Crafting Methods
Fletching Methods
Runecrafting Methods
Tanning Methods
Recipe Data Types
Event System
Artisan skills use the event system for all interactions:Crafting Events
Fletching Events
Runecrafting Events
Tanning Events
Adding New Recipes
To add new artisan skill recipes, edit the appropriate manifest file:Adding a Crafting Recipe
- Open
packages/server/world/assets/manifests/recipes/crafting.json - Add new recipe to
recipesarray:
- Restart server (recipes loaded on startup)
Adding a Fletching Recipe
- Open
packages/server/world/assets/manifests/recipes/fletching.json - Add new recipe to
recipesarray:
- Restart server
Adding a Runecrafting Recipe
- Open
packages/server/world/assets/manifests/recipes/runecrafting.json - Add new recipe to
recipesarray:
- Restart server
Adding a Tanning Recipe
- Open
packages/server/world/assets/manifests/recipes/tanning.json - Add new recipe to
recipesarray:
- Restart server
Database Schema
Skill Columns
All artisan skill data is stored in thecharacters table:
Migrations
Recent migrations for artisan skills:- 0029_add_crafting_skill.sql: Add crafting columns
- 0030_add_fletching_skill.sql: Add fletching columns
- 0031_add_runecrafting_skill.sql: Add runecrafting columns
Performance Optimizations
Crafting System
- Single inventory scan per tick (consolidated from 4 separate scans)
- Reusable arrays to avoid per-tick allocations
- Once-per-tick processing guard
- Pre-allocated inventory count buffer
Fletching System
- Single inventory scan per tick
- Reusable arrays for completed session tracking
- Once-per-tick processing guard
- Recipe filtering by input item pair
Runecrafting System
- No tick-based processing (instant conversion)
- Single inventory scan per interaction
- Pre-calculated multi-rune multipliers
Security Features
Rate Limiting
- Crafting interact: 1 request per 500ms
- Fletching interact: 1 request per 500ms
- Runecrafting interact: 1 request per 500ms
Audit Logging
All artisan skill completions are logged:Input Validation
- Recipe ID validation
- Level requirement checks
- Material availability checks
- Tool presence validation
- Consumable availability checks
Monotonic Counters
Item IDs use monotonic counters to prevent Date.now() collisions:Testing
Unit Tests
Artisan skills have comprehensive unit tests:Test Coverage
CraftingSystem:- Crafting lifecycle (start, complete, cancel)
- Thread consumption tracking
- Movement/combat cancellation
- Recipe filtering
- Level requirements
- Material validation
- Fletching lifecycle
- Multi-output recipes
- Item-on-item interactions
- Recipe filtering by input pair
- Movement/combat cancellation
- Instant conversion
- Multi-rune multipliers
- Essence validation
- Level requirements
Troubleshooting
Recipes Not Loading
Symptom: Crafting/fletching/runecrafting panels show no recipes Solution:- Check manifest files exist in
packages/server/world/assets/manifests/recipes/ - Verify JSON syntax is valid
- Check server logs for validation errors
- Restart server to reload manifests
Thread Not Consuming
Symptom: Thread never runs out during crafting Solution:- Thread consumption is tracked in-memory per session
- Check
consumableUsesMap in CraftingSession - Verify thread has
uses: 5in manifest
Multi-Output Not Working
Symptom: Fletching only produces 1 item instead of 15 Solution:- Check
outputQuantityfield in fletching manifest - Verify recipe has
outputQuantity: 15 - Restart server to reload manifests
Multi-Rune Not Working
Symptom: Runecrafting only produces 1 rune per essence at high levels Solution:- Check
multiRuneLevelsarray in runecrafting manifest - Verify levels are sorted ascending
- Check player’s runecrafting level meets threshold