@runejs/filestore
Version:
Tools for managing the RuneJS filestore.
82 lines (81 loc) • 2.34 kB
TypeScript
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 object.
*/
export declare class ObjectConfig {
gameId: number;
name: string | null;
solid: boolean;
nonWalkable: boolean;
hasOptions: boolean;
options: string[];
walkable: boolean;
configChangeDest?: number[];
configId: number;
varbitId: number;
supportsItems: boolean;
/**
* 3d modelling information for this object.
*/
model: {
models?: number[];
};
/**
* Additional rendering details.
*/
rendering: {
objectModels?: number[];
objectModelTypes?: number[];
ambient: number;
contrast: number;
recolorToReplace?: number[];
recolorToFind?: number[];
rotated: boolean;
castsShadow: boolean;
modelSizeX: number;
modelSizeY: number;
modelSizeHeight: number;
mapSceneID: number;
obstructsGround: boolean;
hollow: boolean;
adjustToTerrain: boolean;
nonFlatShading: boolean;
animationId: number;
face: number;
translateX: number;
translateY: number;
translateLevel: number;
sizeX: number;
sizeY: number;
};
icon?: number;
wall: boolean;
}
/**
* Controls files within the Object Archive of the configuration index.
*/
export declare class ObjectStore {
private configStore;
/**
* The Object Archive, containing details about every game object.
*/
readonly objectArchive: Archive;
constructor(configStore: ConfigStore);
/**
* Fetches the ObjectConfig object for the specified object game id.
* @param objectId The game id of the object to find.
*/
getObject(objectId: number): ObjectConfig | null;
/**
* Parses a raw game object data file into a readable ObjectConfig object.
* @param objectFile The raw file-store game object data.
*/
decodeObjectFile(objectFile: FileData): ObjectConfig;
/**
* Decodes every object file within the object archive and returns
* the resulting ObjectConfig array.
*/
decodeObjectStore(): ObjectConfig[];
}