@etothepii/satisfactory-file-parser 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/build/index.d.ts +15 -0
  2. package/build/index.js +49 -0
  3. package/build/parser/blueprint-reader.d.ts +18 -0
  4. package/build/parser/blueprint-reader.js +136 -0
  5. package/build/parser/blueprint-writer.d.ts +21 -0
  6. package/build/parser/blueprint-writer.js +69 -0
  7. package/build/parser/byte/alignment.enum.d.ts +4 -0
  8. package/build/parser/byte/alignment.enum.js +8 -0
  9. package/build/parser/byte/byte-reader.class.d.ts +38 -0
  10. package/build/parser/byte/byte-reader.class.js +132 -0
  11. package/build/parser/byte/byte-writer.class.d.ts +38 -0
  12. package/build/parser/byte/byte-writer.class.js +149 -0
  13. package/build/parser/error/parser.error.d.ts +12 -0
  14. package/build/parser/error/parser.error.js +28 -0
  15. package/build/parser/parser.d.ts +44 -0
  16. package/build/parser/parser.js +84 -0
  17. package/build/parser/satisfactory/blueprint/blueprint.d.ts +20 -0
  18. package/build/parser/satisfactory/blueprint/blueprint.js +2 -0
  19. package/build/parser/satisfactory/level.class.d.ts +21 -0
  20. package/build/parser/satisfactory/level.class.js +148 -0
  21. package/build/parser/satisfactory/objects/DataFields.d.ts +13 -0
  22. package/build/parser/satisfactory/objects/DataFields.js +249 -0
  23. package/build/parser/satisfactory/objects/ObjectReference.d.ts +9 -0
  24. package/build/parser/satisfactory/objects/ObjectReference.js +17 -0
  25. package/build/parser/satisfactory/objects/Property.d.ts +270 -0
  26. package/build/parser/satisfactory/objects/Property.js +1150 -0
  27. package/build/parser/satisfactory/objects/SaveComponent.d.ts +16 -0
  28. package/build/parser/satisfactory/objects/SaveComponent.js +31 -0
  29. package/build/parser/satisfactory/objects/SaveEntity.d.ts +25 -0
  30. package/build/parser/satisfactory/objects/SaveEntity.js +70 -0
  31. package/build/parser/satisfactory/objects/SaveObject.d.ts +14 -0
  32. package/build/parser/satisfactory/objects/SaveObject.js +29 -0
  33. package/build/parser/satisfactory/satisfactory-save.d.ts +57 -0
  34. package/build/parser/satisfactory/satisfactory-save.js +11 -0
  35. package/build/parser/satisfactory/static-data.d.ts +7 -0
  36. package/build/parser/satisfactory/static-data.js +2 -0
  37. package/build/parser/satisfactory/structs/util.types.d.ts +40 -0
  38. package/build/parser/satisfactory/structs/util.types.js +95 -0
  39. package/build/parser/save-reader.d.ts +43 -0
  40. package/build/parser/save-reader.js +251 -0
  41. package/build/parser/save-writer.d.ts +22 -0
  42. package/build/parser/save-writer.js +121 -0
  43. package/package.json +3 -3
  44. package/index.d.ts +0 -2356
  45. package/index.js +0 -2364
  46. package/rollup.config.mjs +0 -11
@@ -0,0 +1,16 @@
1
+ import { ByteReader } from "../../byte/byte-reader.class";
2
+ import { ByteWriter } from "../../byte/byte-writer.class";
3
+ import { SaveObject } from "./SaveObject";
4
+ export declare const isSaveComponent: (obj: any) => obj is SaveComponent;
5
+ export declare class SaveComponent extends SaveObject {
6
+ typePath: string;
7
+ rootObject: string;
8
+ instanceName: string;
9
+ parentEntityName: string;
10
+ static readonly TypeID = 0;
11
+ readonly type = "SaveComponent";
12
+ constructor(typePath: string, rootObject: string, instanceName: string, parentEntityName?: string);
13
+ static ParseHeader(reader: ByteReader, obj: SaveComponent): void;
14
+ static SerializeHeader(writer: ByteWriter, component: SaveComponent): void;
15
+ static ParseData(component: SaveComponent, length: number, reader: ByteReader, buildVersion: number): void;
16
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SaveComponent = exports.isSaveComponent = void 0;
4
+ const SaveObject_1 = require("./SaveObject");
5
+ const isSaveComponent = (obj) => {
6
+ return obj.type === 'SaveComponent';
7
+ };
8
+ exports.isSaveComponent = isSaveComponent;
9
+ class SaveComponent extends SaveObject_1.SaveObject {
10
+ constructor(typePath, rootObject, instanceName, parentEntityName = '') {
11
+ super(typePath, rootObject, instanceName);
12
+ this.typePath = typePath;
13
+ this.rootObject = rootObject;
14
+ this.instanceName = instanceName;
15
+ this.parentEntityName = parentEntityName;
16
+ this.type = 'SaveComponent';
17
+ }
18
+ static ParseHeader(reader, obj) {
19
+ SaveObject_1.SaveObject.ParseHeader(reader, obj);
20
+ obj.parentEntityName = reader.readString();
21
+ }
22
+ static SerializeHeader(writer, component) {
23
+ SaveObject_1.SaveObject.SerializeHeader(writer, component);
24
+ writer.writeString(component.parentEntityName);
25
+ }
26
+ static ParseData(component, length, reader, buildVersion) {
27
+ SaveObject_1.SaveObject.ParseData(component, length, reader, buildVersion);
28
+ }
29
+ }
30
+ SaveComponent.TypeID = 0;
31
+ exports.SaveComponent = SaveComponent;
@@ -0,0 +1,25 @@
1
+ import { ByteReader } from "../../byte/byte-reader.class";
2
+ import { ByteWriter } from "../../byte/byte-writer.class";
3
+ import { Transform } from "../structs/util.types";
4
+ import { ObjectReference } from "./ObjectReference";
5
+ import { SaveObject } from "./SaveObject";
6
+ export declare const isSaveEntity: (obj: any) => obj is SaveEntity;
7
+ export declare class SaveEntity extends SaveObject {
8
+ typePath: string;
9
+ rootObject: string;
10
+ instanceName: string;
11
+ parentEntityName: string;
12
+ static readonly TypeID = 1;
13
+ readonly type = "SaveEntity";
14
+ needTransform: boolean;
15
+ transform: Transform;
16
+ wasPlacedInLevel: boolean;
17
+ parentObjectRoot: string;
18
+ parentObjectName: string;
19
+ components: ObjectReference[];
20
+ constructor(typePath: string, rootObject: string, instanceName: string, parentEntityName?: string, needsTransform?: boolean);
21
+ static ParseHeader(reader: ByteReader, obj: SaveEntity): void;
22
+ static ParseData(entity: SaveEntity, length: number, reader: ByteReader, buildVersion: number): void;
23
+ static SerializeHeader(writer: ByteWriter, entity: SaveEntity): void;
24
+ static SerializeData(writer: ByteWriter, entity: SaveEntity, buildVersion: number): void;
25
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SaveEntity = exports.isSaveEntity = void 0;
4
+ const util_types_1 = require("../structs/util.types");
5
+ const ObjectReference_1 = require("./ObjectReference");
6
+ const SaveObject_1 = require("./SaveObject");
7
+ const isSaveEntity = (obj) => {
8
+ return obj.type === 'SaveEntity';
9
+ };
10
+ exports.isSaveEntity = isSaveEntity;
11
+ class SaveEntity extends SaveObject_1.SaveObject {
12
+ constructor(typePath, rootObject, instanceName, parentEntityName = '', needsTransform = false) {
13
+ super(typePath, rootObject, instanceName);
14
+ this.typePath = typePath;
15
+ this.rootObject = rootObject;
16
+ this.instanceName = instanceName;
17
+ this.parentEntityName = parentEntityName;
18
+ this.type = 'SaveEntity';
19
+ this.needTransform = needsTransform;
20
+ this.wasPlacedInLevel = false;
21
+ this.parentObjectRoot = '';
22
+ this.parentObjectName = '';
23
+ this.transform = {
24
+ rotation: { x: 0, y: 0, z: 0, w: 1 },
25
+ translation: { x: 0, y: 0, z: 0 },
26
+ scale3d: { x: 1, y: 1, z: 1 }
27
+ };
28
+ this.components = [];
29
+ }
30
+ static ParseHeader(reader, obj) {
31
+ SaveObject_1.SaveObject.ParseHeader(reader, obj);
32
+ obj.needTransform = reader.readInt32() == 1;
33
+ obj.transform = (0, util_types_1.ParseTransform)(reader);
34
+ obj.wasPlacedInLevel = reader.readInt32() == 1;
35
+ }
36
+ static ParseData(entity, length, reader, buildVersion) {
37
+ var newLen = length - 12;
38
+ entity.parentObjectRoot = reader.readString();
39
+ if (entity.parentObjectRoot.length > 0)
40
+ newLen -= entity.parentObjectRoot.length + 1;
41
+ entity.parentObjectName = reader.readString();
42
+ if (entity.parentObjectName.length > 0)
43
+ newLen -= entity.parentObjectName.length + 1;
44
+ var componentCount = reader.readInt32();
45
+ for (let i = 0; i < componentCount; i++) {
46
+ var componentRef = ObjectReference_1.ObjectReference.Parse(reader);
47
+ entity.components.push(componentRef);
48
+ newLen -= 10 + componentRef.levelName.length + componentRef.pathName.length;
49
+ }
50
+ SaveObject_1.SaveObject.ParseData(entity, newLen, reader, buildVersion);
51
+ }
52
+ static SerializeHeader(writer, entity) {
53
+ SaveObject_1.SaveObject.SerializeHeader(writer, entity);
54
+ writer.writeInt32(entity.needTransform ? 1 : 0);
55
+ (0, util_types_1.SerializeTransform)(writer, entity.transform);
56
+ writer.writeInt32(entity.wasPlacedInLevel ? 1 : 0);
57
+ }
58
+ static SerializeData(writer, entity, buildVersion) {
59
+ writer.writeString(entity.parentObjectRoot);
60
+ writer.writeString(entity.parentObjectName);
61
+ writer.writeInt32(entity.components.length);
62
+ for (const com of entity.components) {
63
+ writer.writeString(com.levelName);
64
+ writer.writeString(com.pathName);
65
+ }
66
+ SaveObject_1.SaveObject.SerializeData(writer, entity, buildVersion);
67
+ }
68
+ }
69
+ SaveEntity.TypeID = 1;
70
+ exports.SaveEntity = SaveEntity;
@@ -0,0 +1,14 @@
1
+ import { ByteReader } from "../../byte/byte-reader.class";
2
+ import { ByteWriter } from "../../byte/byte-writer.class";
3
+ import { DataFields } from "./DataFields";
4
+ export declare abstract class SaveObject {
5
+ typePath: string;
6
+ rootObject: string;
7
+ instanceName: string;
8
+ dataFields: DataFields;
9
+ constructor(typePath: string, rootObject: string, instanceName: string);
10
+ protected static ParseHeader(reader: ByteReader, obj: SaveObject): void;
11
+ protected static SerializeHeader(writer: ByteWriter, obj: SaveObject): void;
12
+ static ParseData(obj: SaveObject, length: number, reader: ByteReader, buildVersion: number): void;
13
+ static SerializeData(writer: any, obj: SaveObject, buildVersion: number): void;
14
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SaveObject = void 0;
4
+ const DataFields_1 = require("./DataFields");
5
+ class SaveObject {
6
+ constructor(typePath, rootObject, instanceName) {
7
+ this.typePath = typePath;
8
+ this.rootObject = rootObject;
9
+ this.instanceName = instanceName;
10
+ this.dataFields = new DataFields_1.DataFields();
11
+ }
12
+ static ParseHeader(reader, obj) {
13
+ obj.typePath = reader.readString();
14
+ obj.rootObject = reader.readString();
15
+ obj.instanceName = reader.readString();
16
+ }
17
+ static SerializeHeader(writer, obj) {
18
+ writer.writeString(obj.typePath);
19
+ writer.writeString(obj.rootObject);
20
+ writer.writeString(obj.instanceName);
21
+ }
22
+ static ParseData(obj, length, reader, buildVersion) {
23
+ obj.dataFields = DataFields_1.DataFields.Parse(length, reader, buildVersion);
24
+ }
25
+ static SerializeData(writer, obj, buildVersion) {
26
+ DataFields_1.DataFields.Serialize(writer, obj.dataFields, buildVersion);
27
+ }
28
+ }
29
+ exports.SaveObject = SaveObject;
@@ -0,0 +1,57 @@
1
+ import { Level } from "./level.class";
2
+ import { ObjectReference } from "./objects/ObjectReference";
3
+ export interface ModData {
4
+ Reference: string;
5
+ Name: string;
6
+ Version: string;
7
+ }
8
+ export interface SatisfactoryModMetadata {
9
+ Mods: ModData[];
10
+ }
11
+ export interface SatisfactorySaveHeader {
12
+ saveHeaderType: number;
13
+ saveVersion: number;
14
+ buildVersion: number;
15
+ mapName: string;
16
+ mapOptions: string;
17
+ sessionName: string;
18
+ playDurationSeconds: number;
19
+ saveDateTime: string;
20
+ sessionVisibility: number;
21
+ rawModMetadataString?: string;
22
+ modMetadata?: SatisfactoryModMetadata;
23
+ isModdedSave?: number;
24
+ saveIdentifier?: string;
25
+ fEditorObjectVersion?: number;
26
+ }
27
+ export type ResourceNodeEntry = {
28
+ purity: string;
29
+ pathName: string;
30
+ position: {
31
+ x: number;
32
+ y: number;
33
+ z: number;
34
+ };
35
+ type: string;
36
+ };
37
+ export type CollectibleEntry = {
38
+ pathName: string;
39
+ position: {
40
+ x: number;
41
+ y: number;
42
+ z: number;
43
+ };
44
+ type: string;
45
+ };
46
+ export type ChunkCompressionInfo = {
47
+ chunkHeaderSize: number;
48
+ packageFileTag: number;
49
+ maxChunkContentSize: number;
50
+ };
51
+ export declare class SatisfactorySave {
52
+ header: SatisfactorySaveHeader;
53
+ levels: Level[];
54
+ trailingCollectedObjects: ObjectReference[];
55
+ compressionInfo?: ChunkCompressionInfo;
56
+ constructor(header: SatisfactorySaveHeader);
57
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SatisfactorySave = void 0;
4
+ class SatisfactorySave {
5
+ constructor(header) {
6
+ this.levels = [];
7
+ this.trailingCollectedObjects = [];
8
+ this.header = header;
9
+ }
10
+ }
11
+ exports.SatisfactorySave = SatisfactorySave;
@@ -0,0 +1,7 @@
1
+ import { CollectibleEntry, ResourceNodeEntry } from "./satisfactory-save";
2
+ export type StaticData = {
3
+ collectibles: CollectibleEntry[];
4
+ artifacts: CollectibleEntry[];
5
+ slugs: CollectibleEntry[];
6
+ resourceNodes: ResourceNodeEntry[];
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,40 @@
1
+ import { ByteReader } from "../../byte/byte-reader.class";
2
+ import { ByteWriter } from "../../byte/byte-writer.class";
3
+ export type col4 = {
4
+ r: number;
5
+ g: number;
6
+ b: number;
7
+ a: number;
8
+ };
9
+ export declare const SerializeCol4RGBA: (writer: ByteWriter, value: col4) => void;
10
+ export declare const ParseCol4RGBA: (reader: ByteReader) => col4;
11
+ export declare const SerializeCol4BGRA: (writer: ByteWriter, value: col4) => void;
12
+ export declare const ParseCol4BGRA: (reader: ByteReader) => col4;
13
+ export type vec4 = vec3 & {
14
+ w: number;
15
+ };
16
+ export declare const ParseVec4: (reader: ByteReader) => vec4;
17
+ export declare const SerializeVec4: (writer: ByteWriter, vec: vec4) => void;
18
+ export declare const sub: (other: vec3, vec: vec3) => vec3;
19
+ export declare const add: (vec: vec3, other: vec3) => vec3;
20
+ export declare const length: (vec: vec3) => number;
21
+ export declare const mult: (vec: vec3, scale: number) => vec3;
22
+ export declare const norm: (vec: vec3) => vec3;
23
+ export type vec3 = vec2 & {
24
+ z: number;
25
+ };
26
+ export declare const ParseVec3: (reader: ByteReader) => vec3;
27
+ export declare const SerializeVec3: (writer: ByteWriter, vec: vec3) => void;
28
+ export type vec2 = {
29
+ x: number;
30
+ y: number;
31
+ };
32
+ export declare const ParseVec2: (reader: ByteReader) => vec2;
33
+ export declare const SerializeVec2: (writer: ByteWriter, vec: vec2) => void;
34
+ export type Transform = {
35
+ rotation: vec4;
36
+ translation: vec3;
37
+ scale3d: vec3;
38
+ };
39
+ export declare const ParseTransform: (reader: ByteReader) => Transform;
40
+ export declare const SerializeTransform: (writer: ByteWriter, transform: Transform) => void;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SerializeTransform = exports.ParseTransform = exports.SerializeVec2 = exports.ParseVec2 = exports.SerializeVec3 = exports.ParseVec3 = exports.norm = exports.mult = exports.length = exports.add = exports.sub = exports.SerializeVec4 = exports.ParseVec4 = exports.ParseCol4BGRA = exports.SerializeCol4BGRA = exports.ParseCol4RGBA = exports.SerializeCol4RGBA = void 0;
4
+ const SerializeCol4RGBA = (writer, value) => {
5
+ writer.writeFloat(value.r);
6
+ writer.writeFloat(value.g);
7
+ writer.writeFloat(value.b);
8
+ writer.writeFloat(value.a);
9
+ };
10
+ exports.SerializeCol4RGBA = SerializeCol4RGBA;
11
+ const ParseCol4RGBA = (reader) => {
12
+ return {
13
+ r: reader.readFloat(),
14
+ g: reader.readFloat(),
15
+ b: reader.readFloat(),
16
+ a: reader.readFloat(),
17
+ };
18
+ };
19
+ exports.ParseCol4RGBA = ParseCol4RGBA;
20
+ const SerializeCol4BGRA = (writer, value) => {
21
+ writer.writeByte(value.b);
22
+ writer.writeByte(value.g);
23
+ writer.writeByte(value.r);
24
+ writer.writeByte(value.a);
25
+ };
26
+ exports.SerializeCol4BGRA = SerializeCol4BGRA;
27
+ const ParseCol4BGRA = (reader) => {
28
+ return {
29
+ b: reader.readByte(),
30
+ g: reader.readByte(),
31
+ r: reader.readByte(),
32
+ a: reader.readByte(),
33
+ };
34
+ };
35
+ exports.ParseCol4BGRA = ParseCol4BGRA;
36
+ const ParseVec4 = (reader) => {
37
+ return {
38
+ ...(0, exports.ParseVec3)(reader),
39
+ w: reader.readFloat()
40
+ };
41
+ };
42
+ exports.ParseVec4 = ParseVec4;
43
+ const SerializeVec4 = (writer, vec) => {
44
+ (0, exports.SerializeVec3)(writer, vec);
45
+ writer.writeFloat(vec.w);
46
+ };
47
+ exports.SerializeVec4 = SerializeVec4;
48
+ const sub = (other, vec) => ({ x: other.x - vec.x, y: other.y - vec.y, z: other.z - vec.z });
49
+ exports.sub = sub;
50
+ const add = (vec, other) => ({ x: vec.x + other.x, y: vec.y + other.y, z: vec.z + other.z });
51
+ exports.add = add;
52
+ const length = (vec) => Math.sqrt(vec.x ** 2 + vec.y ** 2 + vec.z ** 2);
53
+ exports.length = length;
54
+ const mult = (vec, scale) => ({ x: vec.x * scale, y: vec.y * scale, z: vec.z * scale });
55
+ exports.mult = mult;
56
+ const norm = (vec) => (0, exports.mult)(vec, 1. / (0, exports.length)(vec));
57
+ exports.norm = norm;
58
+ const ParseVec3 = (reader) => {
59
+ return {
60
+ ...(0, exports.ParseVec2)(reader),
61
+ z: reader.readFloat()
62
+ };
63
+ };
64
+ exports.ParseVec3 = ParseVec3;
65
+ const SerializeVec3 = (writer, vec) => {
66
+ (0, exports.SerializeVec2)(writer, vec);
67
+ writer.writeFloat(vec.z);
68
+ };
69
+ exports.SerializeVec3 = SerializeVec3;
70
+ const ParseVec2 = (reader) => {
71
+ return {
72
+ x: reader.readFloat(),
73
+ y: reader.readFloat(),
74
+ };
75
+ };
76
+ exports.ParseVec2 = ParseVec2;
77
+ const SerializeVec2 = (writer, vec) => {
78
+ writer.writeFloat(vec.x);
79
+ writer.writeFloat(vec.y);
80
+ };
81
+ exports.SerializeVec2 = SerializeVec2;
82
+ const ParseTransform = (reader) => {
83
+ return {
84
+ rotation: (0, exports.ParseVec4)(reader),
85
+ translation: (0, exports.ParseVec3)(reader),
86
+ scale3d: (0, exports.ParseVec3)(reader),
87
+ };
88
+ };
89
+ exports.ParseTransform = ParseTransform;
90
+ const SerializeTransform = (writer, transform) => {
91
+ (0, exports.SerializeVec4)(writer, transform.rotation);
92
+ (0, exports.SerializeVec3)(writer, transform.translation);
93
+ (0, exports.SerializeVec3)(writer, transform.scale3d);
94
+ };
95
+ exports.SerializeTransform = SerializeTransform;
@@ -0,0 +1,43 @@
1
+ import { ByteReader } from "./byte/byte-reader.class";
2
+ import { Level } from "./satisfactory/level.class";
3
+ import { ObjectReference } from "./satisfactory/objects/ObjectReference";
4
+ import { SaveComponent } from "./satisfactory/objects/SaveComponent";
5
+ import { SaveEntity } from "./satisfactory/objects/SaveEntity";
6
+ import { SaveObject } from "./satisfactory/objects/SaveObject";
7
+ import { ChunkCompressionInfo, SatisfactorySaveHeader } from "./satisfactory/satisfactory-save";
8
+ export type EntityPathFilter = {
9
+ behavior: 'whitelist' | 'blacklist';
10
+ list: string[];
11
+ };
12
+ export type SaveProjectionConfig = {
13
+ entityPathFilter: EntityPathFilter;
14
+ includeComponents: boolean;
15
+ };
16
+ export declare const projectionFilterApplies: (config: SaveProjectionConfig, object: SaveComponent | SaveEntity) => boolean;
17
+ export declare class SaveReader extends ByteReader {
18
+ onProgressCallback: (progress: number, msg?: string) => void;
19
+ header: SatisfactorySaveHeader | undefined;
20
+ levels: Level[];
21
+ trailingCollectedObjects: ObjectReference[];
22
+ compressionInfo: ChunkCompressionInfo;
23
+ static readonly EPOCH_TICKS = 621355968000000000n;
24
+ constructor(fileBuffer: ArrayBuffer, onProgressCallback?: (progress: number, msg?: string) => void);
25
+ readHeader(): SatisfactorySaveHeader;
26
+ inflateChunks(): {
27
+ concatenatedChunkLength: number;
28
+ numChunks: number;
29
+ };
30
+ readLevels(): Level[];
31
+ }
32
+ export declare class Conveyor {
33
+ static getConveyorBeltRegex(): RegExp;
34
+ static getConveyorLiftRegex(): RegExp;
35
+ static isAConveyorBelt(obj: SaveObject): boolean;
36
+ static isAConveyorLift(obj: SaveObject): boolean;
37
+ static get availableConnections(): string[];
38
+ static get availableConveyorBelts(): string[];
39
+ static get availableConveyorLifts(): string[];
40
+ static isConveyor(currentObject: any): boolean;
41
+ static isConveyorBelt(currentObject: any): boolean;
42
+ static isConveyorLift(currentObject: any): boolean;
43
+ }