UNPKG

@runejs/filestore

Version:

Tools for managing the RuneJS filestore.

85 lines (84 loc) 2.44 kB
import { ByteBuffer } from '@runejs/common'; import type { Archive } from '../../archive'; import type { ConfigStore } from '../config-store'; import type { FileData } from '../../file-data'; /** * Contains game client need-to-know level information about a single game item. */ export declare class ItemConfig { gameId: number; name: string | null; stackable?: boolean; value: number; members?: boolean; worldOptions?: string[]; widgetOptions?: string[]; tradable?: boolean; teamId?: number; replacedColors?: [number, number][]; replacedTextures?: [number, number][]; bankNoteId?: number; bankNoteTemplate?: number; stackableAmounts?: number[]; stackableIds?: number[]; /** * 2d modelling information for this item. */ model2d: { widgetModel?: number; zoom?: number; rotationX?: number; rotationY?: number; rotationZ?: number; offsetX?: number; offsetY?: number; }; /** * 3d modelling information for this item. */ model3d: { maleModels: [number, number, number]; maleHeadModels: [number, number]; maleModelOffset?: number; femaleModels: [number, number, number]; femaleHeadModels: [number, number]; femaleModelOffset?: number; }; /** * Additional rendering details. */ rendering: { resizeX?: number; resizeY?: number; resizeZ?: number; ambient?: number; contrast?: number; }; } /** * Controls files within the Item Archive of the configuration index. */ export declare class ItemStore { private configStore; /** * The Item Archive, containing details about every game item. */ readonly itemArchive: Archive; constructor(configStore: ConfigStore); /** * Fetches the ItemConfig object for the specified item game id. * @param itemId The game id of the item to find. */ getItem(itemId: number): ItemConfig | null; encodeItemFile(item: ItemConfig): ByteBuffer; /** * Parses a raw item data file into a readable ItemConfig object. * @param itemFile The raw file-store item data. */ decodeItemFile(itemFile: FileData): ItemConfig; /** * Decodes every item file within the item archive and returns * the resulting ItemConfig array. */ decodeItemStore(): ItemConfig[]; }