Security News
Bun 1.2 Released with 90% Node.js Compatibility and Built-in S3 Object Support
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
@2003scape/rsc-data
Advanced tools
collection of data for runescape classic. probabilities for drops, entity spawn information, skill data, etc. useful for game server-sided applications or analysis/simulations.
$ npm install @2003scape/rsc-data
https://classic.runescape.wiki/w/Certificate
{
"items": {
"151": 517, // original item index: certificate item index
// ...
},
"certers": {
"229": { // index of config/npcs.json
"type": "fish", // used for NPC dialogue
"certificates": [ // menu used for certificate -> item
{
"id": 630, // item index of certificate
"alias": "shark" // text used in client menu
}, // ...
],
"items": [ // menu used for item -> certificate
{
"id": 555, // original item index
"alias": "bass"
}, // ...
]
}, // ...
}
}
dumped and converted .jag archive files from the official client. see https://github.com/2003scape/rsc-config#api
{
"257": { // item id to eat
"hits": 5, // amount of hits healed
"result": 263, // optional resulting item ID
// optional message(s) if different than the default
"message": "You eat half of an apple pie"
},
// entries can also just be integers if they have no special behaviour
"373": 12
}
.jag archive files used on the server for collision detection. see https://github.com/2003scape/rsc-landscape
[
{
"id": 10, // index of config/items.json
"amount": 10, // item amount (optional and only for stackables)
"respawn": 60000, // ms for respawn after being picked up
"x": 147,
"y": 3337
}, // ...
]
[
{
"id": 0, // npc index
"x": 185,
"y": 661,
"minX": 175,
"maxX": 195,
"minY": 651,
"maxY": 671
}, // ...
]
[
{
"id": 1, // index of config/objects.json
"direction": 0, // direction from 0-6 in TRBL/NESW order
"x": 346,
"y": 554
}, // ...
]
{
"0": 211000, // npc index -> milliseconds for respawn after death
// ...
}
boundaries and spawn points for different cities and areas.
{
// can also be array of objects if area covers multiple rectangles
"varrock": {
"minX": 50,
"maxX": 444,
"minY": 180,
"maxY": 565,
"spawnX": 120, // used for teleportation
"spawnY": 504
}, // etc.
}
probabilities for various randomized aspects, such as NPC drops or christmas cracker rates. each roll is between 0-128, so the total weight per individual drop table cannot exceed 128. if the total weight is less than 128, there is a chance to drop nothing besides the entries with 0 weight.
{
"11": [ // npc index or table name
{
"id": 20, // item index
"weight": 0 // if 0, always drop
},
{
"id": 10,
"amount": 3, // amount (multiple are dropped if non-stackable)
"weight": 38 // numerator out of 128
},
{
"reference": "herb", // reference another NPC id or table within
"weight": 23
},
{
"id": [827, 273], // drop 2 items in the same entry
"weight": 10
} // ...
// implicit 43/128 nothing roll (besides 0-weighted entries; bones)
], // ...
}
https://classic.runescape.wiki/w/Category:Shops
{
"al-kharid-general": {
"items": [
{
"id": 135, // item index
"amount": 3
}
],
// the multipliers of item.price used when items are at default stock
"sellMultiplier": 130,
"buyMultiplier": 40,
"delta": 3, // amount multipliers change when over/under stock
// milliseconds until restock tick, which increases understocked items
// by 1 annd decreases over-stocked or player-added items by 1
"restock": 12000,
"general": true // true if players can sell any tradeable item
}, // ...
}
https://classic.runescape.wiki/w/Cooking
{
// the item IDs of uncooked items that gauntlets can affect, and how much
// they increase the roll chances
"gauntlets": {
"369": 1.05, // ...
},
"uncooked": {
"133": { // uncooked food index
"level": 1, // required level
"experience": 120, // experience received on success
"cooked": 132, // cooked item index, received on success
"burnt": 134, // burnt item index, received on failure
"roll": [128, 512], // x/256 of success at level 1 and 99
"range": false // is a range required?
}, // ...
},
// inventory item combinations (use item on item)
"combinations": [
{
"level": 35, // required level to perform
"item": 320, // the first item index to be used on...
"with": 321, // the second item index
"result": 323, // the result item index of combining items
"knife": false, // do we kneed a knife to do this?
"message": "You add tomato to the pizza"
}, // ...
]
}
https://classic.runescape.wiki/w/Crafting
{
// gem cutting; results of using a chisel on uncut gems
"cutting": {
"157": { // uncut gem item index
"level": 43, // required level
"experience": 430,
"id": 161 // cut gem item index
}, // ...
},
// leather sewing: result of using leather with needle+thread in inventory
"leather": [
{
"level": 14,
"experience": 100,
"id": 15, // item index of completed leather item
"alias": "Armour" // text used in client menu
}, // ...
],
"pottery": [
{
"level": 4,
"unfired": {
// item index from using item on pottery wheel
"id": 278,
"experience": 60
},
"fired": {
// item index of from using unfired item on pottery oven
"id": 251,
"experience": 40
},
"alias": "pie dishes" // text used on menu prompt
}, // ...
],
"silver-jewellery": [ // silver bar on furnace
"moulds": [386, /* ... */], // the moulds for each item below
"items": [
{ "level": 16, "experience": 200, "id": 44 }, // ...
],
],
"gold-jewellery": [ // gold bar on furnace
// same as silver-jewellery
],
"stringing": { // string on unstrung amulet, unstrung -> strung
"1027": 1028, // ...
},
"glassblowing": [ // using glassblowing pipe on molten glass
{
"level": 46,
"experience": 210,
"id": 611, // item index of result
"alias": "orb" // text in menu prompt
}, // ...
],
"battlestaves": { // using powered orb item on battle staff item
"612": {
"level": 62,
"experience": 500,
"id": 615
}, //...
}
}
https://classic.runescape.wiki/w/Fishing
{
"spots": {
"193": { // fishing spot object index
"net": { // object command name
"tool": 376, // item index required to fish (net, rod, ...)
"bait": null, // stackable item index depleted after success
"fish": {
"349": { // item index of raw fish caught using the command
"level": 1,
"experience": 40,
"roll": [48, 256]
}, // ...
}
}, // ...
}, // ...
}
}
https://classic.runescape.wiki/w/Fletching
{
"bows": {
"14": [ // log item index
// shortbow, longbow
{
"level": 5,
"experience": 20, // experience gained for cutting and stringing
"unstrung": 227, // item index after using knife on log
"strung": 189 // item index after using string on unstrung
},
{
"level": 10,
"experience": 40,
"unstrung": 276,
"string": 188
}
], // ...
}
}
https://classic.runescape.wiki/w/Herblaw
{
"herbs": {
"165": { // unidentified herb item index
"level": 3,
"experience": 10,
"id": 44 // ID of identified herb
}, // ...
},
"unfinished": { // results of using identified herb on vial of water
"444": { // identified herb item index
"level": 3,
"id": 454 // unfinished potion item index
}
},
"potions": { // results of using items on unfinished potions
"454": { // unfinished potion item index
"270": { // secondary item index
"level": 3,
"experience": 100,
"id": 474 // finished potion item index (3 dose)
}
}
}
}
https://classic.runescape.wiki/w/Magic
{
"spellExperience": [
// experience gained on successful spell. index corresponds to
// config/spells.json
88, // ...
]
}
https://classic.runescape.wiki/w/Mining
{
"pickaxes": {
"156": { // pickaxe item index
"level": 1,
"attempts": 1 // attempts the pickaxe performs before success
}, // ...
},
"gem": [ // gem roll rates (1/256 to get a gem from a rock)
{
"id": 160, // item index
"weight": 64 // roll out of 128
}, // ...
],
"rocks": {
"100": { // game object index
"level": 1,
"experience": 70,
"roll": [48, 256],
// item index, or array of weighted item entries (for gem rocks)
"ore": 150,
"respawn": 5400, // milliseconds until depleted turns into original
"depleted": 9 // game object index of rock after success
}, // ...
}
}
https://classic.runescape.wiki/w/Prayer#Bones
{
"buryExperience": { // bone id -> experience received
"20": 15, // ...
}
}
https://classic.runescape.wiki/w/Smithing
{
"smelting": {
"169": { // smelted bar item index
"level": 1,
"experience": 25,
"items": [{ "id": 150 }, { "id": 202 }] // ore item indexes
}, // ...
},
// there's always the same menu tree for every bar
"smithing": {
// amount of bars needed for each item below, using the menu tree order
"bars": [
[1, 1, [1, 2, 2, 2, 3], [1, 3], 1], // ...
],
"169": { // smelted bar item index
// base experience - multiplied by amount of bars required
"experience": 50,
"items": [ // follows the same tree as smithing.bars above
{
"level": 1,
"id": 62,
// only specified to override or if this is an additional
// menu (which bronze and steel bars have)
"bars": 1,
// only specified to override the bar experience rate.
// give constant experience for this item only
"experience": 100
}, // ...
]
}, // ...
}
}
https://classic.runescape.wiki/w/Thieving
{
"pickpocket": {
"11": { // npc index
"level": 1,
"experience": 32,
"roll": [180, 240],
// item indexes received on success (optionally weighted)
"items": [{ "id": 10, "amount": 3 }],
// dialogue on failure
"exclaimation": "Oi what do you think you're doing"
}, // ...
},
"stalls": {
"322": { // stall object index (with steal-from command)
"level": 20,
"experience": 96,
// reward for successful theft (optionally weighted)
"items": [{ "id": 200 }],
// how long it takes to steal from the depleted stall to respawn
"respawn": 8000,
"owner": 326, // the shopkeeper of the stall
// npc indexes of nearby NPCs who prevent theft
"guards": [322, 321]
}, // ...
},
"chests": {
"334": {
"level": 13,
"experience": 30,
"items": [{ "id": 10, "amount": 10 }],
"lockpick": false,
"respawn": 10000
}, // ..
},
"doors": {
"93": { // index of config/wall-objects.json
"level": 7,
"experience": 15,
"lockpick": false, // do we need a lockpick in inventory?
// positions where we can open the door freely
"exits": [{ "x": 539, "y": 531 }]
}, // ...
}
}
https://classic.runescape.wiki/w/Woodcutting
{
"axes": {
"12": 1.5, // item index -> roll multiplier
// ...
},
"trees": {
"0": {
"level": 1,
"experience": 100,
"roll": [64, 200],
"log": 14, // item index received on success
"respawn": 40000, // milliseconds until stump turns back into tree
"stump": 100 // object index tree turns into when cut
}, // ...
}
}
wieldable item bonuses and skill requirements. the wielded slots are specified in config/items.json.
{
"0": { // item index
"female": false, // can only female characters wear this?
"animation": 118, // the client-sided animation index
"armour": 0,
"weaponAim": 8,
"weaponPower": 6,
"magic": 0,
"prayer": 0,
"requirements": { // optional
attack: 30 // skill names -> base level required
}
}, // ...
}
Content on this site is licensed under CC BY-NC-SA 3.0; additional terms apply. RuneScape and RuneScape Old School are the trademarks of Jagex Limited and are used with the permission of Jagex.
original game data definitions (in config/):
© 2001-2002 Andrew Gower and Jagex Ltd
CC-BY-SA-4.0 https://creativecommons.org/licenses/by-sa/4.0/legalcode
FAQs
collection of data for runescape classic
The npm package @2003scape/rsc-data receives a total of 34 weekly downloads. As such, @2003scape/rsc-data popularity was classified as not popular.
We found that @2003scape/rsc-data demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.
Security News
Biden's executive order pushes for AI-driven cybersecurity, software supply chain transparency, and stronger protections for federal and open source systems.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.