Files
factorio-clusterio/plugins/subspace_storage/index.ts
T
Hornwitser 8c4d2db192 Move TypeScript Node.js build to dist/node
Use a separate folder for the TypeScript build for Node.js in the dist
folder.  This makes each type of build consistently have its own output
folder instead of being interleaved with the Node.js build.
2024-02-08 03:20:26 +01:00

62 lines
1.7 KiB
TypeScript

import * as lib from "@clusterio/lib";
import * as messages from "./messages";
declare module "@clusterio/lib" {
export interface ControllerConfigFields {
"subspace_storage.division_method": "simple" | "dole" | "neural_dole";
"subspace_storage.log_item_transfers": boolean;
}
export interface InstanceConfigFields {
"subspace_storage.log_item_transfers": boolean;
}
}
lib.definePermission({
name: "subspace_storage.storage.view",
title: "View Subspace Storage",
description: "View the items and fluids stored in the shared subspace.",
grantByDefault: true,
});
export const plugin: lib.PluginDeclaration = {
name: "subspace_storage",
title: "Subspace Storage",
description: "Provides shared storage across instances for the Subspace Storage mod",
instanceEntrypoint: "dist/node/instance",
instanceConfigFields: {
"subspace_storage.log_item_transfers": {
title: "Log Item Transfers",
description: "Spam host console with item transfers done.",
type: "boolean",
initialValue: false,
},
},
controllerEntrypoint: "dist/node/controller",
controllerConfigFields: {
"subspace_storage.division_method": {
title: "Division Method",
description: "Method for dividing resource requests between instances.",
type: "string",
enum: ["simple", "dole", "neural_dole"],
initialValue: "simple",
},
"subspace_storage.log_item_transfers": {
title: "Log Item Transfers",
description: "Spam controller console with item transfers done.",
type: "boolean",
initialValue: false,
},
},
messages: [
messages.PlaceEvent,
messages.RemoveRequest,
messages.GetStorageRequest,
messages.UpdateStorageEvent,
messages.SetStorageSubscriptionRequest,
],
webEntrypoint: "./web",
routes: ["/storage"],
};