@runejs/filestore
Version:
Tools for managing the RuneJS filestore.
85 lines (84 loc) • 2.44 kB
TypeScript
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[];
}