@clusterio/plugin-subspace_storage
Version:
Clusterio plugin for sharing storage between Factorio servers
25 lines • 1.24 kB
TypeScript
import { BaseControllerPlugin, type ControlConnection } from "@clusterio/controller";
import * as lib from "@clusterio/lib";
import * as dole from "./dole";
import { Item, PlaceEvent, RemoveRequest, SetStorageSubscriptionRequest } from "./messages";
export declare class ControllerPlugin extends BaseControllerPlugin {
items: lib.ItemDatabase;
itemUpdateRateLimiter: lib.RateLimiter;
itemsLastUpdate: Map<string, lib.ItemCountWithQuality>;
subscribedControlLinks: Set<ControlConnection>;
doleMagicId: ReturnType<typeof setInterval>;
neuralDole: dole.NeuralDole;
storageDirty: boolean;
init(): Promise<void>;
updateStorage(): void;
broadcastStorage(): void;
handleGetStorageRequest(): Promise<Item[]>;
handlePlaceEvent(request: PlaceEvent, src: lib.Address): Promise<void>;
handleRemoveRequest(request: RemoveRequest, src: lib.Address): Promise<Item[]>;
handleSetStorageSubscriptionRequest(request: SetStorageSubscriptionRequest, src: lib.Address): Promise<void>;
onControlConnectionEvent(connection: ControlConnection, event: string): void;
onMetrics(): Promise<void>;
onShutdown(): Promise<void>;
onSaveData(): Promise<void>;
}
//# sourceMappingURL=controller.d.ts.map