@shirokasoke/webapi-sdk 2.9.0-bete2-0.6-pre

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 (83) hide show
  1. package/dist/client.d.ts +400 -0
  2. package/dist/client.js +462 -0
  3. package/dist/esm/client.js +457 -0
  4. package/dist/esm/index.js +3 -0
  5. package/dist/esm/package.json +1 -0
  6. package/dist/esm/test.js +6 -0
  7. package/dist/esm/types/ae2.js +1 -0
  8. package/dist/esm/types/block.js +1 -0
  9. package/dist/esm/types/chunk.js +1 -0
  10. package/dist/esm/types/common.js +1 -0
  11. package/dist/esm/types/entity.js +1 -0
  12. package/dist/esm/types/fluid.js +1 -0
  13. package/dist/esm/types/fmp.js +1 -0
  14. package/dist/esm/types/gt5.js +1 -0
  15. package/dist/esm/types/index.js +11 -0
  16. package/dist/esm/types/item.js +1 -0
  17. package/dist/esm/types/rawInfo.js +1 -0
  18. package/dist/esm/types/world.js +1 -0
  19. package/dist/esm/validators/ae2.js +138 -0
  20. package/dist/esm/validators/block.js +85 -0
  21. package/dist/esm/validators/chunk.js +58 -0
  22. package/dist/esm/validators/common.js +28 -0
  23. package/dist/esm/validators/entity.js +117 -0
  24. package/dist/esm/validators/fluid.js +24 -0
  25. package/dist/esm/validators/fmp.js +34 -0
  26. package/dist/esm/validators/gt5.js +186 -0
  27. package/dist/esm/validators/index.js +11 -0
  28. package/dist/esm/validators/item.js +32 -0
  29. package/dist/esm/validators/rawInfo.js +25 -0
  30. package/dist/esm/validators/world.js +59 -0
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.js +22 -0
  33. package/dist/test.d.ts +1 -0
  34. package/dist/test.js +8 -0
  35. package/dist/types/ae2.d.ts +142 -0
  36. package/dist/types/ae2.js +2 -0
  37. package/dist/types/block.d.ts +87 -0
  38. package/dist/types/block.js +2 -0
  39. package/dist/types/chunk.d.ts +57 -0
  40. package/dist/types/chunk.js +2 -0
  41. package/dist/types/common.d.ts +27 -0
  42. package/dist/types/common.js +2 -0
  43. package/dist/types/entity.d.ts +114 -0
  44. package/dist/types/entity.js +2 -0
  45. package/dist/types/fluid.d.ts +23 -0
  46. package/dist/types/fluid.js +2 -0
  47. package/dist/types/fmp.d.ts +33 -0
  48. package/dist/types/fmp.js +2 -0
  49. package/dist/types/gt5.d.ts +210 -0
  50. package/dist/types/gt5.js +2 -0
  51. package/dist/types/index.d.ts +11 -0
  52. package/dist/types/index.js +27 -0
  53. package/dist/types/item.d.ts +39 -0
  54. package/dist/types/item.js +2 -0
  55. package/dist/types/rawInfo.d.ts +25 -0
  56. package/dist/types/rawInfo.js +2 -0
  57. package/dist/types/world.d.ts +58 -0
  58. package/dist/types/world.js +2 -0
  59. package/dist/validators/ae2.d.ts +55 -0
  60. package/dist/validators/ae2.js +144 -0
  61. package/dist/validators/block.d.ts +12 -0
  62. package/dist/validators/block.js +91 -0
  63. package/dist/validators/chunk.d.ts +9 -0
  64. package/dist/validators/chunk.js +64 -0
  65. package/dist/validators/common.d.ts +8 -0
  66. package/dist/validators/common.js +36 -0
  67. package/dist/validators/entity.d.ts +9 -0
  68. package/dist/validators/entity.js +123 -0
  69. package/dist/validators/fluid.d.ts +4 -0
  70. package/dist/validators/fluid.js +30 -0
  71. package/dist/validators/fmp.d.ts +4 -0
  72. package/dist/validators/fmp.js +40 -0
  73. package/dist/validators/gt5.d.ts +24 -0
  74. package/dist/validators/gt5.js +192 -0
  75. package/dist/validators/index.d.ts +11 -0
  76. package/dist/validators/index.js +27 -0
  77. package/dist/validators/item.d.ts +14 -0
  78. package/dist/validators/item.js +38 -0
  79. package/dist/validators/rawInfo.d.ts +6 -0
  80. package/dist/validators/rawInfo.js +31 -0
  81. package/dist/validators/world.d.ts +5 -0
  82. package/dist/validators/world.js +65 -0
  83. package/package.json +48 -0
@@ -0,0 +1,210 @@
1
+ import type { ClassInfo } from "./common";
2
+ import type { Fluid } from "./fluid";
3
+ export type GT5MachineType = "MULTIBLOCK" | "SINGLE" | "GENERATOR" | "HATCH" | "UNKNOWN";
4
+ export interface GT5ShutDownReason {
5
+ id: string;
6
+ displayString: string;
7
+ wasCritical: boolean;
8
+ }
9
+ /**
10
+ * 机器 IO 信息,由 GT5 IGregTechDeviceInformation 接口提供。
11
+ * 字段 inputVoltage/inputAmperage 仅在机器接入电力输入网络时存在;
12
+ * outputVoltage/outputAmperage 仅在机器接入电力输出网络时存在。
13
+ */
14
+ export interface GT5MachineIO {
15
+ storedEU: number;
16
+ euCapacity: number;
17
+ /** getInfoData() 返回的格式化字符串数组(IC2 信息显示屏同源数据) */
18
+ Info: string[];
19
+ /** getInfoMap() 返回的结构化键值对 */
20
+ rawInfo: Record<string, string>;
21
+ inputVoltage?: number;
22
+ inputAmperage?: number;
23
+ outputVoltage?: number;
24
+ outputAmperage?: number;
25
+ }
26
+ export interface GT5MachineState {
27
+ isActive: boolean;
28
+ isAllowedToWork: boolean;
29
+ wasShutdown?: boolean;
30
+ lastShutDownReason?: GT5ShutDownReason;
31
+ storedEU: number;
32
+ euCapacity: number;
33
+ Info?: string[];
34
+ rawInfo?: Record<string, string>;
35
+ inputVoltage?: number;
36
+ inputAmperage?: number;
37
+ outputVoltage?: number;
38
+ outputAmperage?: number;
39
+ }
40
+ export interface GT5HatchCoord {
41
+ x: number;
42
+ y: number;
43
+ z: number;
44
+ }
45
+ export interface GT5MaintenanceState {
46
+ wrench: boolean;
47
+ screwdriver: boolean;
48
+ softMallet: boolean;
49
+ hardHammer: boolean;
50
+ solderingTool: boolean;
51
+ crowbar: boolean;
52
+ }
53
+ export interface GT5MultiBlockInfo {
54
+ structureValid: boolean;
55
+ progressTime: number;
56
+ maxProgressTime: number;
57
+ euT: number;
58
+ efficiency: number;
59
+ pollution: number;
60
+ inputVoltageTier: number;
61
+ maxInputEu: number;
62
+ maxInputAmps: number;
63
+ /** 所有能源仓已存储 EU 之和(注意:LSC 等电池类机器 EU 不存于能源仓,此值为 0) */
64
+ storedEnergy: number;
65
+ /** 所有能源仓总容量之和(注意:LSC 等电池类机器 EU 不存于能源仓,此值仅为能源仓容量) */
66
+ maxEnergy: number;
67
+ maxParallelRecipes: number;
68
+ trueParallel: number;
69
+ maintenance: GT5MaintenanceState;
70
+ hatches: {
71
+ inputBus: GT5HatchCoord[];
72
+ outputBus: GT5HatchCoord[];
73
+ inputHatch: GT5HatchCoord[];
74
+ outputHatch: GT5HatchCoord[];
75
+ energyHatch: GT5HatchCoord[];
76
+ dynamoHatch: GT5HatchCoord[];
77
+ maintenanceHatch: GT5HatchCoord[];
78
+ mufflerHatch: GT5HatchCoord[];
79
+ dualInputHatch: GT5HatchCoord[];
80
+ smartInputHatch: GT5HatchCoord[];
81
+ };
82
+ }
83
+ export interface GT5HatchInfo {
84
+ tier: number;
85
+ }
86
+ export interface GT5SingleBlockInfo {
87
+ tier: number;
88
+ progressTime: number;
89
+ maxProgressTime: number;
90
+ euT: number;
91
+ inputSlotCount: number;
92
+ amperage: number;
93
+ mainFacing: string;
94
+ }
95
+ export interface GT5GeneratorInfo {
96
+ tier: number;
97
+ storedEU: number;
98
+ maxEUStore: number;
99
+ pollution: number;
100
+ efficiency: number;
101
+ recipeMap?: string;
102
+ maxEUOutput: number;
103
+ capacity: number;
104
+ fluid?: Fluid;
105
+ }
106
+ export type GT5Machine = {
107
+ machineType: "MULTIBLOCK";
108
+ multi: GT5MultiBlockInfo;
109
+ } | {
110
+ machineType: "SINGLE";
111
+ single: GT5SingleBlockInfo;
112
+ } | {
113
+ machineType: "GENERATOR";
114
+ generator: GT5GeneratorInfo;
115
+ } | {
116
+ machineType: "HATCH";
117
+ hatch: GT5HatchInfo;
118
+ } | {
119
+ machineType: "UNKNOWN";
120
+ };
121
+ /** GET /gt5 返回的完整机器信息 */
122
+ export type GT5MachineInfo = {
123
+ x: number;
124
+ y: number;
125
+ z: number;
126
+ dimension: number;
127
+ localName: string;
128
+ internalName: string;
129
+ metaTileID: number;
130
+ owner: string;
131
+ state: GT5MachineState;
132
+ class?: ClassInfo;
133
+ nbt: Record<string, unknown>;
134
+ } & GT5Machine;
135
+ export interface GT5BatchMachineCoord {
136
+ x: number;
137
+ y: number;
138
+ z: number;
139
+ dim?: number;
140
+ }
141
+ /** POST /gt5/batch 提交结果 */
142
+ export interface GT5BatchSubmitResult {
143
+ id: string;
144
+ total: number;
145
+ }
146
+ /** PATCH /gt5/batch 重执行结果 */
147
+ export interface GT5BatchRerunResult {
148
+ id: string;
149
+ total: number;
150
+ runCount: number;
151
+ }
152
+ export type GT5BatchJobStatus = "pending" | "running" | "completed";
153
+ /** GET /gt5/batch 查询结果 */
154
+ export interface GT5BatchJobResult {
155
+ id: string;
156
+ total: number;
157
+ completed: number;
158
+ success: number;
159
+ failed: number;
160
+ status: GT5BatchJobStatus;
161
+ runCount: number;
162
+ createTime: number;
163
+ finishTime?: number;
164
+ durationMs?: number;
165
+ errors?: string[];
166
+ errorsTruncated?: number;
167
+ machines?: GT5MachineInfo[];
168
+ }
169
+ /** POST /gt5/scan 提交结果 */
170
+ export interface GT5ScanSubmitResult {
171
+ id: string;
172
+ total: number;
173
+ }
174
+ /** Scan 中单个机器信息(精简版,不含 state/multi/hatch/single) */
175
+ export interface GT5ScanMachine {
176
+ x: number;
177
+ y: number;
178
+ z: number;
179
+ machineType: GT5MachineType;
180
+ localName: string;
181
+ internalName: string;
182
+ metaTileID: number;
183
+ owner: string;
184
+ }
185
+ export interface GT5ScanResult {
186
+ chunkX: number;
187
+ chunkZ: number;
188
+ dimension: number;
189
+ totalMachines: number;
190
+ machines: GT5ScanMachine[];
191
+ }
192
+ export type GT5ScanJobStatus = "pending" | "running" | "completed";
193
+ /** GET /gt5/scan 查询结果 */
194
+ export interface GT5ScanJobResult {
195
+ id: string;
196
+ total: number;
197
+ completed: number;
198
+ success: number;
199
+ failed: number;
200
+ status: GT5ScanJobStatus;
201
+ createTime: number;
202
+ chunkX: number;
203
+ chunkZ: number;
204
+ dimension: number;
205
+ finishTime?: number;
206
+ durationMs?: number;
207
+ errors?: string[];
208
+ errorsTruncated?: number;
209
+ result?: GT5ScanResult;
210
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ export * from "./common";
2
+ export * from "./block";
3
+ export * from "./item";
4
+ export * from "./fluid";
5
+ export * from "./entity";
6
+ export * from "./chunk";
7
+ export * from "./world";
8
+ export * from "./ae2";
9
+ export * from "./fmp";
10
+ export * from "./gt5";
11
+ export * from "./rawInfo";
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./common"), exports);
18
+ __exportStar(require("./block"), exports);
19
+ __exportStar(require("./item"), exports);
20
+ __exportStar(require("./fluid"), exports);
21
+ __exportStar(require("./entity"), exports);
22
+ __exportStar(require("./chunk"), exports);
23
+ __exportStar(require("./world"), exports);
24
+ __exportStar(require("./ae2"), exports);
25
+ __exportStar(require("./fmp"), exports);
26
+ __exportStar(require("./gt5"), exports);
27
+ __exportStar(require("./rawInfo"), exports);
@@ -0,0 +1,39 @@
1
+ import type { ClassInfo } from "./common";
2
+ export interface NBTData {
3
+ nbtstr?: string;
4
+ nbtWrite?: string;
5
+ nbt?: Record<string, unknown>;
6
+ }
7
+ export interface Item {
8
+ class?: ClassInfo;
9
+ id: number;
10
+ registryName: string;
11
+ UnlocalizedName: string;
12
+ localizedName: string;
13
+ HasSubtypes: boolean;
14
+ }
15
+ export interface ItemStack extends Item, NBTData {
16
+ MaxStackSize: number;
17
+ damageable: boolean;
18
+ damage: number;
19
+ AttributeModifiers?: Record<string, unknown>;
20
+ stackSize?: number;
21
+ count?: number;
22
+ }
23
+ export interface ItemDetail extends Item {
24
+ subs?: ItemStack[];
25
+ }
26
+ export interface AEItemDefinitions {
27
+ items: Array<Item & {
28
+ name: string;
29
+ }>;
30
+ parts: Array<Item & {
31
+ name: string;
32
+ }>;
33
+ materials: Array<Item & {
34
+ name: string;
35
+ }>;
36
+ blocks: Array<Item & {
37
+ name: string;
38
+ }>;
39
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,25 @@
1
+ /**
2
+ * LSC rawInfo 解析后的强类型视图。
3
+ * @java [java](../../../../src/main/java/love/shirokasoke/webapi/mixins/late/MTELapotronicSuperCapacitorGetInfoMapMixin.java)
4
+ */
5
+ export interface LSCRawInfoMap {
6
+ stored: string;
7
+ capacity: string;
8
+ inputLastTick: number;
9
+ outputLastTick: number;
10
+ passiveDischargeAmount: number;
11
+ avgInput100t: number;
12
+ avgOutput100t: number;
13
+ avgInput5m: number;
14
+ avgOutput5m: number;
15
+ avgInput1h: number;
16
+ avgOutput1h: number;
17
+ maxEUInput: number;
18
+ maxEUOutput: number;
19
+ wirelessMode: boolean;
20
+ wirelessEU?: string;
21
+ capacitorUHV: number;
22
+ capacitorUEV: number;
23
+ capacitorUIV: number;
24
+ capacitorUMV: number;
25
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,58 @@
1
+ import type { ClassInfo } from "./common";
2
+ export interface TPSInfo {
3
+ WorldName?: string;
4
+ TickTime: number;
5
+ TPS: number;
6
+ }
7
+ export interface WorldInfoData {
8
+ WorldServerClass?: ClassInfo;
9
+ WorldInfoClass?: ClassInfo;
10
+ WorldInfo: Record<string, unknown>;
11
+ }
12
+ export interface ProfilerData {
13
+ server: {
14
+ totalMemoryMB: number;
15
+ freeMemoryMB: number;
16
+ maxMemoryMB: number;
17
+ };
18
+ dimensions: Record<string, {
19
+ name: string;
20
+ loadedChunks: number;
21
+ totalEntities: number;
22
+ totalTileEntities: number;
23
+ laggyChunks: Array<{
24
+ chunkX: number;
25
+ chunkZ: number;
26
+ entityCount: number;
27
+ }>;
28
+ }>;
29
+ profiler: {
30
+ enabled: boolean;
31
+ };
32
+ }
33
+ export interface LagAnalyzerData {
34
+ entities: {
35
+ byType: Array<{
36
+ name: string;
37
+ count: number;
38
+ items: number;
39
+ xpOrbs: number;
40
+ }>;
41
+ byDimension: Record<string, number>;
42
+ };
43
+ tileEntities: {
44
+ byType: Array<{
45
+ name: string;
46
+ count: number;
47
+ samplePositions: string[];
48
+ }>;
49
+ byDimension: Record<string, number>;
50
+ };
51
+ memory: {
52
+ totalMB: number;
53
+ freeMB: number;
54
+ usedMB: number;
55
+ maxMB: number;
56
+ availableProcessors: number;
57
+ };
58
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,55 @@
1
+ import Joi from "joi";
2
+ import type { AECPU, AECPUCancelBody, AECPUCancelResult, AECraftingTaskBody, AECraftingTaskResult, AEHitResult, AEItemsResult, AEMEInterface, AENode } from "../types/ae2";
3
+ export declare const AEStackProvidersSchema: Joi.ArraySchema<any[]>;
4
+ /** 对应服务端 Pattern.dumpAEStack 的输出:物品或流体堆,附加 count 字段 */
5
+ export declare const AEStackSchema: Joi.AlternativesSchema<{
6
+ MaxStackSize: unknown;
7
+ damageable: unknown;
8
+ damage: unknown;
9
+ AttributeModifiers: unknown;
10
+ stackSize: unknown;
11
+ count: unknown;
12
+ } | {
13
+ count: unknown;
14
+ }>;
15
+ export declare const AEStackWithProvidersSchema: Joi.AlternativesSchema<{
16
+ count: unknown;
17
+ providers: unknown;
18
+ } | {
19
+ count: unknown;
20
+ providers: unknown;
21
+ }>;
22
+ export declare const AENodeSchema: Joi.ObjectSchema<AENode>;
23
+ export declare const AE2PatternSchema: Joi.ObjectSchema<{
24
+ crafting: unknown;
25
+ substitute: unknown;
26
+ beSubstitute: unknown;
27
+ author: unknown;
28
+ inputs: unknown;
29
+ outputs: unknown;
30
+ isCraftable: unknown;
31
+ priority: unknown;
32
+ canSubstitute: unknown;
33
+ canBeSubstitute: unknown;
34
+ condensedInputs: unknown;
35
+ condensedOutputs: unknown;
36
+ patternParseError: unknown;
37
+ }>;
38
+ export declare const AECPUSchema: Joi.ObjectSchema<AECPU>;
39
+ export declare const AEMEInterfaceSchema: Joi.ObjectSchema<AEMEInterface>;
40
+ export declare const AECraftingTaskBodySchema: Joi.ObjectSchema<AECraftingTaskBody>;
41
+ export declare const AECraftingTaskResultSchema: Joi.ObjectSchema<AECraftingTaskResult>;
42
+ export declare const AECPUCancelBodySchema: Joi.ObjectSchema<AECPUCancelBody>;
43
+ export declare const AECPUCancelResultSchema: Joi.ObjectSchema<AECPUCancelResult>;
44
+ export declare const AEItemStackSchema: Joi.AlternativesSchema<{
45
+ type: unknown;
46
+ stackSize: unknown;
47
+ Craftable: unknown;
48
+ } | {
49
+ type: unknown;
50
+ stackSize: unknown;
51
+ Craftable: unknown;
52
+ }>;
53
+ export declare const AEItemCellStatusSchema: Joi.ObjectSchema<any>;
54
+ export declare const AEItemsResultSchema: Joi.ObjectSchema<AEItemsResult>;
55
+ export declare const AEHitResultSchema: Joi.ObjectSchema<AEHitResult>;
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AEHitResultSchema = exports.AEItemsResultSchema = exports.AEItemCellStatusSchema = exports.AEItemStackSchema = exports.AECPUCancelResultSchema = exports.AECPUCancelBodySchema = exports.AECraftingTaskResultSchema = exports.AECraftingTaskBodySchema = exports.AEMEInterfaceSchema = exports.AECPUSchema = exports.AE2PatternSchema = exports.AENodeSchema = exports.AEStackWithProvidersSchema = exports.AEStackSchema = exports.AEStackProvidersSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const common_1 = require("./common");
9
+ const fluid_1 = require("./fluid");
10
+ const item_1 = require("./item");
11
+ exports.AEStackProvidersSchema = joi_1.default.array().items(joi_1.default.object({
12
+ x: joi_1.default.number().required(),
13
+ y: joi_1.default.number().required(),
14
+ z: joi_1.default.number().required(),
15
+ dimension: joi_1.default.number().required(),
16
+ })).required();
17
+ /** 对应服务端 Pattern.dumpAEStack 的输出:物品或流体堆,附加 count 字段 */
18
+ exports.AEStackSchema = joi_1.default.alternatives(item_1.ItemStackSchema.append({ count: joi_1.default.number().required() }), fluid_1.FluidSchema.append({ count: joi_1.default.number().required() }));
19
+ exports.AEStackWithProvidersSchema = joi_1.default.alternatives(item_1.ItemStackSchema.append({
20
+ count: joi_1.default.number().required(),
21
+ providers: exports.AEStackProvidersSchema,
22
+ }), fluid_1.FluidSchema.append({
23
+ count: joi_1.default.number().required(),
24
+ providers: exports.AEStackProvidersSchema,
25
+ }));
26
+ exports.AENodeSchema = joi_1.default.object({
27
+ active: joi_1.default.boolean().required(),
28
+ meetsChannel: joi_1.default.boolean().required(),
29
+ playerID: joi_1.default.number().required(),
30
+ machineClass: common_1.ClassInfoSchema.optional(),
31
+ isPart: joi_1.default.boolean().required(),
32
+ isIActionHost: joi_1.default.boolean().required(),
33
+ location: joi_1.default.object({
34
+ x: joi_1.default.number().required(),
35
+ y: joi_1.default.number().required(),
36
+ z: joi_1.default.number().required(),
37
+ dimension: joi_1.default.number().required(),
38
+ }).optional(),
39
+ idlePowerUsage: joi_1.default.number().required(),
40
+ flags: joi_1.default.array().items(joi_1.default.string()).required(),
41
+ });
42
+ exports.AE2PatternSchema = item_1.ItemStackSchema.append({
43
+ crafting: joi_1.default.boolean().required(),
44
+ substitute: joi_1.default.boolean().required(),
45
+ beSubstitute: joi_1.default.boolean().required(),
46
+ author: joi_1.default.string().optional(),
47
+ inputs: joi_1.default.array().items(joi_1.default.alternatives(item_1.ItemStackSchema, joi_1.default.valid(null))).optional(),
48
+ outputs: joi_1.default.array().items(joi_1.default.alternatives(item_1.ItemStackSchema, joi_1.default.valid(null))).optional(),
49
+ isCraftable: joi_1.default.boolean().optional(),
50
+ priority: joi_1.default.number().optional(),
51
+ canSubstitute: joi_1.default.boolean().optional(),
52
+ canBeSubstitute: joi_1.default.boolean().optional(),
53
+ condensedInputs: joi_1.default.array().items(exports.AEStackSchema).optional(),
54
+ condensedOutputs: joi_1.default.array().items(exports.AEStackSchema).optional(),
55
+ patternParseError: joi_1.default.string().optional(),
56
+ });
57
+ exports.AECPUSchema = joi_1.default.object({
58
+ name: joi_1.default.string().allow("").required(),
59
+ busy: joi_1.default.boolean().required(),
60
+ availableStorage: joi_1.default.number().unsafe().required(),
61
+ usedStorage: joi_1.default.number().required(),
62
+ coProcessors: joi_1.default.number().required(),
63
+ remainingItemCount: joi_1.default.number().required(),
64
+ startItemCount: joi_1.default.number().required(),
65
+ elapsedTime: joi_1.default.number().required(),
66
+ craftingAllowMode: joi_1.default.string().required(),
67
+ finalOutput: exports.AEStackSchema.optional(),
68
+ tasks: joi_1.default.array().items(joi_1.default.object({
69
+ remaining: joi_1.default.number().required(),
70
+ inputs: joi_1.default.array().items(exports.AEStackSchema).required(),
71
+ pattern: exports.AE2PatternSchema.required(),
72
+ outputs: joi_1.default.array().items(exports.AEStackWithProvidersSchema).required(),
73
+ })).optional(),
74
+ tasking: joi_1.default.array().items(exports.AEStackWithProvidersSchema).optional(),
75
+ tasksError: joi_1.default.string().optional(),
76
+ });
77
+ exports.AEMEInterfaceSchema = joi_1.default.object({
78
+ display: joi_1.default.boolean().required(),
79
+ name: joi_1.default.string().required(),
80
+ rawName: joi_1.default.string().allow(null).required(),
81
+ active: joi_1.default.boolean().required(),
82
+ allowsPatternOptimization: joi_1.default.boolean().required(),
83
+ playerID: joi_1.default.number().required(),
84
+ location: joi_1.default.object({
85
+ x: joi_1.default.number().required(),
86
+ y: joi_1.default.number().required(),
87
+ z: joi_1.default.number().required(),
88
+ dimension: joi_1.default.number().required(),
89
+ }).required(),
90
+ patterns: joi_1.default.array().items(exports.AE2PatternSchema.append({ slot: joi_1.default.number().required() })).required(),
91
+ });
92
+ exports.AECraftingTaskBodySchema = joi_1.default.object({
93
+ id: joi_1.default.number().required(),
94
+ Count: joi_1.default.number().required(),
95
+ Type: joi_1.default.string().valid("item", "fluid").optional(),
96
+ Damage: joi_1.default.number().optional(),
97
+ tag: joi_1.default.string().optional(),
98
+ cpu: joi_1.default.string().optional(),
99
+ });
100
+ exports.AECraftingTaskResultSchema = joi_1.default.object({
101
+ bytes: joi_1.default.number().required(),
102
+ cpu: joi_1.default.string().required(),
103
+ output: item_1.ItemStackSchema.append({ stackSize: joi_1.default.number().required() }).required(),
104
+ });
105
+ exports.AECPUCancelBodySchema = joi_1.default.object({
106
+ name: joi_1.default.string().optional(),
107
+ id: joi_1.default.number().optional(),
108
+ });
109
+ exports.AECPUCancelResultSchema = joi_1.default.object({
110
+ cpu: joi_1.default.string().required(),
111
+ wasBusy: joi_1.default.boolean().required(),
112
+ });
113
+ exports.AEItemStackSchema = joi_1.default.alternatives(item_1.ItemStackSchema.append({
114
+ type: joi_1.default.string().valid("item").required(),
115
+ stackSize: joi_1.default.number().required(),
116
+ Craftable: joi_1.default.boolean().required(),
117
+ }), fluid_1.FluidSchema.append({
118
+ type: joi_1.default.string().valid("fluid").required(),
119
+ stackSize: joi_1.default.number().required(),
120
+ Craftable: joi_1.default.boolean().required(),
121
+ }));
122
+ exports.AEItemCellStatusSchema = joi_1.default.object({
123
+ all: joi_1.default.number().required(),
124
+ green: joi_1.default.number().required(),
125
+ blue: joi_1.default.number().required(),
126
+ orange: joi_1.default.number().required(),
127
+ red: joi_1.default.number().required(),
128
+ });
129
+ exports.AEItemsResultSchema = joi_1.default.object({
130
+ items: joi_1.default.array().items(exports.AEItemStackSchema).required(),
131
+ totalBytes: joi_1.default.number().required(),
132
+ usedBytes: joi_1.default.number().required(),
133
+ totalTypes: joi_1.default.number().required(),
134
+ usedTypes: joi_1.default.number().required(),
135
+ cellStatus: exports.AEItemCellStatusSchema.required(),
136
+ fluidTotalBytes: joi_1.default.number().required(),
137
+ fluidUsedBytes: joi_1.default.number().required(),
138
+ fluidTotalTypes: joi_1.default.number().required(),
139
+ fluidUsedTypes: joi_1.default.number().required(),
140
+ fluidCellStatus: exports.AEItemCellStatusSchema.required(),
141
+ });
142
+ exports.AEHitResultSchema = joi_1.default.object({
143
+ message: joi_1.default.string().required(),
144
+ });
@@ -0,0 +1,12 @@
1
+ import Joi from "joi";
2
+ import type { BatchSetBlockJobResult, Block, BlockDetail } from "../types/block";
3
+ export declare const MaterialSchema: Joi.ObjectSchema<any>;
4
+ export declare const BlockSchema: Joi.ObjectSchema<Block>;
5
+ export declare const BlockDetailSchema: Joi.ObjectSchema<BlockDetail>;
6
+ export declare const SetBlockBodySchema: Joi.ObjectSchema<any>;
7
+ export declare const SetBlockResultSchema: Joi.Schema<any>;
8
+ export declare const BatchSetBlockTaskSchema: Joi.ObjectSchema<any>;
9
+ export declare const BatchSetBlockSubmitResultSchema: Joi.ObjectSchema<any>;
10
+ export declare const BatchSetBlockJobStatusSchema: Joi.Schema<any>;
11
+ export declare const BatchSetBlockFailureSchema: Joi.ObjectSchema<any>;
12
+ export declare const BatchSetBlockJobResultSchema: Joi.ObjectSchema<BatchSetBlockJobResult>;