@tendrock/database
Version:
A database lib under the Tendrock ecosystem for Minecraft Bedrock Edition Script API
29 lines (28 loc) • 1.48 kB
TypeScript
import { GameObjectDatabase } from "../GameObjectDatabase";
import { InstanceSerializer } from "./InstanceSerializer";
import { DatabaseTypeBy, GameObjectType } from "../manager";
export interface InstanceDataOptions {
database: GameObjectDatabase<any>;
identifier: string;
uniqueId: string;
}
export interface InstanceDataJson {
constructorName: string;
}
export declare abstract class InstanceData<GOT extends Exclude<GameObjectType, string>> {
readonly database: DatabaseTypeBy<GOT>;
readonly identifier: string;
readonly uniqueId: string;
private readonly _serializer;
constructor(dataJson: InstanceDataJson | undefined, instanceDataOptions: InstanceDataOptions, options: any | undefined);
abstract onDeserialize(dataJson: InstanceDataJson, instanceDataOptions: InstanceDataOptions, options: any | undefined): void;
abstract onConstruct(options: unknown, instanceDataOptions: InstanceDataOptions): void;
abstract onInitWithNoData(instanceDataOptions: InstanceDataOptions): void;
beforeConstructorHook(dataJson: InstanceDataJson | undefined, instanceDataOptions: InstanceDataOptions, options: any | undefined): void;
afterConstructorHook(dataJson: InstanceDataJson | undefined, instanceDataOptions: InstanceDataOptions, options: any | undefined): void;
toJSON(): {
[k: string]: import("..").TendrockDynamicPropertyValue;
};
serialize(serializer: InstanceSerializer): void;
markDirty(): void;
}