@shirokasoke/webapi-sdk 2.9.0-beta2-0.11-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 (95) hide show
  1. package/dist/client.d.ts +576 -0
  2. package/dist/client.js +668 -0
  3. package/dist/esm/client.js +663 -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 +13 -0
  16. package/dist/esm/types/item.js +1 -0
  17. package/dist/esm/types/rawInfo.js +1 -0
  18. package/dist/esm/types/recipe.js +1 -0
  19. package/dist/esm/types/threeD.js +1 -0
  20. package/dist/esm/types/world.js +1 -0
  21. package/dist/esm/validators/ae2.js +163 -0
  22. package/dist/esm/validators/block.js +85 -0
  23. package/dist/esm/validators/chunk.js +58 -0
  24. package/dist/esm/validators/common.js +28 -0
  25. package/dist/esm/validators/entity.js +117 -0
  26. package/dist/esm/validators/fluid.js +24 -0
  27. package/dist/esm/validators/fmp.js +34 -0
  28. package/dist/esm/validators/gt5.js +186 -0
  29. package/dist/esm/validators/index.js +13 -0
  30. package/dist/esm/validators/item.js +31 -0
  31. package/dist/esm/validators/rawInfo.js +25 -0
  32. package/dist/esm/validators/recipe.js +77 -0
  33. package/dist/esm/validators/threeD.js +34 -0
  34. package/dist/esm/validators/world.js +59 -0
  35. package/dist/index.d.ts +3 -0
  36. package/dist/index.js +22 -0
  37. package/dist/test.d.ts +1 -0
  38. package/dist/test.js +8 -0
  39. package/dist/types/ae2.d.ts +162 -0
  40. package/dist/types/ae2.js +2 -0
  41. package/dist/types/block.d.ts +87 -0
  42. package/dist/types/block.js +2 -0
  43. package/dist/types/chunk.d.ts +57 -0
  44. package/dist/types/chunk.js +2 -0
  45. package/dist/types/common.d.ts +27 -0
  46. package/dist/types/common.js +2 -0
  47. package/dist/types/entity.d.ts +114 -0
  48. package/dist/types/entity.js +2 -0
  49. package/dist/types/fluid.d.ts +23 -0
  50. package/dist/types/fluid.js +2 -0
  51. package/dist/types/fmp.d.ts +33 -0
  52. package/dist/types/fmp.js +2 -0
  53. package/dist/types/gt5.d.ts +210 -0
  54. package/dist/types/gt5.js +2 -0
  55. package/dist/types/index.d.ts +13 -0
  56. package/dist/types/index.js +29 -0
  57. package/dist/types/item.d.ts +38 -0
  58. package/dist/types/item.js +2 -0
  59. package/dist/types/rawInfo.d.ts +25 -0
  60. package/dist/types/rawInfo.js +2 -0
  61. package/dist/types/recipe.d.ts +114 -0
  62. package/dist/types/recipe.js +2 -0
  63. package/dist/types/threeD.d.ts +43 -0
  64. package/dist/types/threeD.js +2 -0
  65. package/dist/types/world.d.ts +58 -0
  66. package/dist/types/world.js +2 -0
  67. package/dist/validators/ae2.d.ts +63 -0
  68. package/dist/validators/ae2.js +169 -0
  69. package/dist/validators/block.d.ts +12 -0
  70. package/dist/validators/block.js +91 -0
  71. package/dist/validators/chunk.d.ts +9 -0
  72. package/dist/validators/chunk.js +64 -0
  73. package/dist/validators/common.d.ts +8 -0
  74. package/dist/validators/common.js +36 -0
  75. package/dist/validators/entity.d.ts +9 -0
  76. package/dist/validators/entity.js +123 -0
  77. package/dist/validators/fluid.d.ts +4 -0
  78. package/dist/validators/fluid.js +30 -0
  79. package/dist/validators/fmp.d.ts +4 -0
  80. package/dist/validators/fmp.js +40 -0
  81. package/dist/validators/gt5.d.ts +24 -0
  82. package/dist/validators/gt5.js +192 -0
  83. package/dist/validators/index.d.ts +13 -0
  84. package/dist/validators/index.js +29 -0
  85. package/dist/validators/item.d.ts +13 -0
  86. package/dist/validators/item.js +37 -0
  87. package/dist/validators/rawInfo.d.ts +6 -0
  88. package/dist/validators/rawInfo.js +31 -0
  89. package/dist/validators/recipe.d.ts +30 -0
  90. package/dist/validators/recipe.js +83 -0
  91. package/dist/validators/threeD.d.ts +8 -0
  92. package/dist/validators/threeD.js +40 -0
  93. package/dist/validators/world.d.ts +5 -0
  94. package/dist/validators/world.js +65 -0
  95. package/package.json +49 -0
@@ -0,0 +1,36 @@
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.RootInfoSchema = exports.ApiResponseSchema = exports.ApiErrorResponseSchema = exports.ApiSuccessResponseSchema = exports.CoordinatesSchema = exports.ClassInfoSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ exports.ClassInfoSchema = joi_1.default.object({
9
+ package: joi_1.default.string().optional(),
10
+ location: joi_1.default.string().optional(),
11
+ extends: joi_1.default.array().items(joi_1.default.string()).optional(),
12
+ implements: joi_1.default.array().items(joi_1.default.string()).optional(),
13
+ });
14
+ exports.CoordinatesSchema = joi_1.default.object({
15
+ posX: joi_1.default.number().required(),
16
+ posY: joi_1.default.number().required(),
17
+ posZ: joi_1.default.number().required(),
18
+ dimension: joi_1.default.number().required(),
19
+ });
20
+ const ApiSuccessResponseSchema = (dataSchema) => joi_1.default.object({
21
+ success: joi_1.default.valid(true).required(),
22
+ data: dataSchema.required(),
23
+ });
24
+ exports.ApiSuccessResponseSchema = ApiSuccessResponseSchema;
25
+ exports.ApiErrorResponseSchema = joi_1.default.object({
26
+ success: joi_1.default.valid(false).required(),
27
+ message: joi_1.default.string().required(),
28
+ stack: joi_1.default.string().allow(null).optional(),
29
+ });
30
+ const ApiResponseSchema = (dataSchema) => joi_1.default.alternatives((0, exports.ApiSuccessResponseSchema)(dataSchema), exports.ApiErrorResponseSchema);
31
+ exports.ApiResponseSchema = ApiResponseSchema;
32
+ exports.RootInfoSchema = joi_1.default.object({
33
+ modid: joi_1.default.string().required(),
34
+ version: joi_1.default.string().required(),
35
+ buildTime: joi_1.default.number().optional(),
36
+ });
@@ -0,0 +1,9 @@
1
+ import Joi from "joi";
2
+ import type { EntitiesByDimension, Entity } from "../types/entity";
3
+ export declare const EntityBaseSchema: Joi.ObjectSchema<any>;
4
+ export declare const PotionEffectSchema: Joi.ObjectSchema<any>;
5
+ export declare const EntityLivingBaseInfoSchema: Joi.ObjectSchema<any>;
6
+ export declare const PlayerInfoSchema: Joi.ObjectSchema<any>;
7
+ export declare const EntitySchema: Joi.ObjectSchema<Entity>;
8
+ export declare const EntitySummarySchema: Joi.ObjectSchema<any>;
9
+ export declare const EntitiesByDimensionSchema: Joi.ObjectSchema<EntitiesByDimension>;
@@ -0,0 +1,123 @@
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.EntitiesByDimensionSchema = exports.EntitySummarySchema = exports.EntitySchema = exports.PlayerInfoSchema = exports.EntityLivingBaseInfoSchema = exports.PotionEffectSchema = exports.EntityBaseSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const common_1 = require("./common");
9
+ const item_1 = require("./item");
10
+ exports.EntityBaseSchema = joi_1.default.object({
11
+ name: joi_1.default.string().required(),
12
+ entityId: joi_1.default.number().required(),
13
+ uniqueId: joi_1.default.string().required(),
14
+ dimension: joi_1.default.number().required(),
15
+ posX: joi_1.default.number().required(),
16
+ posY: joi_1.default.number().required(),
17
+ posZ: joi_1.default.number().required(),
18
+ prevPosX: joi_1.default.number().optional(),
19
+ prevPosY: joi_1.default.number().optional(),
20
+ prevPosZ: joi_1.default.number().optional(),
21
+ motionX: joi_1.default.number().required(),
22
+ motionY: joi_1.default.number().required(),
23
+ motionZ: joi_1.default.number().required(),
24
+ rotationYaw: joi_1.default.number().required(),
25
+ rotationPitch: joi_1.default.number().required(),
26
+ prevRotationYaw: joi_1.default.number().optional(),
27
+ prevRotationPitch: joi_1.default.number().optional(),
28
+ width: joi_1.default.number().required(),
29
+ height: joi_1.default.number().required(),
30
+ yOffset: joi_1.default.number().required(),
31
+ stepHeight: joi_1.default.number().required(),
32
+ boundingBoxMinX: joi_1.default.number().optional(),
33
+ boundingBoxMinY: joi_1.default.number().optional(),
34
+ boundingBoxMinZ: joi_1.default.number().optional(),
35
+ boundingBoxMaxX: joi_1.default.number().optional(),
36
+ boundingBoxMaxY: joi_1.default.number().optional(),
37
+ boundingBoxMaxZ: joi_1.default.number().optional(),
38
+ onGround: joi_1.default.boolean().required(),
39
+ isCollided: joi_1.default.boolean().required(),
40
+ isCollidedHorizontally: joi_1.default.boolean().required(),
41
+ isCollidedVertically: joi_1.default.boolean().required(),
42
+ isDead: joi_1.default.boolean().required(),
43
+ isAirBorne: joi_1.default.boolean().required(),
44
+ inWater: joi_1.default.boolean().required(),
45
+ fallDistance: joi_1.default.number().required(),
46
+ ticksExisted: joi_1.default.number().required(),
47
+ fireResistance: joi_1.default.number().required(),
48
+ hurtResistantTime: joi_1.default.number().required(),
49
+ chunkCoordX: joi_1.default.number().required(),
50
+ chunkCoordY: joi_1.default.number().required(),
51
+ chunkCoordZ: joi_1.default.number().required(),
52
+ RidingEntity: joi_1.default.alternatives(joi_1.default.string(), joi_1.default.valid(null)).required(),
53
+ RiddenByEntity: joi_1.default.alternatives(joi_1.default.string(), joi_1.default.valid(null)).required(),
54
+ });
55
+ exports.PotionEffectSchema = joi_1.default.object({
56
+ name: joi_1.default.string().required(),
57
+ duration: joi_1.default.number().required(),
58
+ amplifier: joi_1.default.number().required(),
59
+ isAmbient: joi_1.default.boolean().required(),
60
+ });
61
+ exports.EntityLivingBaseInfoSchema = joi_1.default.object({
62
+ health: joi_1.default.number().required(),
63
+ maxHealth: joi_1.default.number().required(),
64
+ absorptionAmount: joi_1.default.number().required(),
65
+ prevHealth: joi_1.default.number().optional(),
66
+ TotalArmor: joi_1.default.number().required(),
67
+ items: joi_1.default.array().items(item_1.ItemStackSchema).optional(),
68
+ hurtTime: joi_1.default.number().required(),
69
+ maxHurtTime: joi_1.default.number().required(),
70
+ attackTime: joi_1.default.number().required(),
71
+ deathTime: joi_1.default.number().required(),
72
+ attackedAtYaw: joi_1.default.number().required(),
73
+ arrowCountInEntity: joi_1.default.number().required(),
74
+ arrowHitTimer: joi_1.default.number().required(),
75
+ entityAge: joi_1.default.number().required(),
76
+ jumpMovementFactor: joi_1.default.number().required(),
77
+ isOnLadder: joi_1.default.boolean().required(),
78
+ canBreatheUnderwater: joi_1.default.boolean().required(),
79
+ maxHurtResistantTime: joi_1.default.number().required(),
80
+ cameraPitch: joi_1.default.number().optional(),
81
+ prevCameraPitch: joi_1.default.number().optional(),
82
+ attributes: joi_1.default.object().pattern(joi_1.default.string(), joi_1.default.object({ baseValue: joi_1.default.number().required(), currentValue: joi_1.default.number().required() })).optional(),
83
+ creatureAttribute: joi_1.default.string().required(),
84
+ revengeTargetId: joi_1.default.number().optional(),
85
+ lastAttackerId: joi_1.default.number().optional(),
86
+ activePotionEffects: joi_1.default.object().pattern(joi_1.default.string(), exports.PotionEffectSchema).optional(),
87
+ });
88
+ exports.PlayerInfoSchema = joi_1.default.object({
89
+ experienceLevel: joi_1.default.number().required(),
90
+ experience: joi_1.default.number().required(),
91
+ experienceTotal: joi_1.default.number().required(),
92
+ isSleeping: joi_1.default.boolean().required(),
93
+ isBlocking: joi_1.default.boolean().required(),
94
+ score: joi_1.default.number().required(),
95
+ food: joi_1.default.object({
96
+ foodLevel: joi_1.default.number().required(),
97
+ saturationLevel: joi_1.default.number().required(),
98
+ }).required(),
99
+ heldItem: item_1.ItemStackSchema.optional(),
100
+ armor: joi_1.default.array().items(joi_1.default.alternatives(item_1.ItemStackSchema, joi_1.default.valid(null))).optional(),
101
+ items: joi_1.default.array().items(item_1.ItemStackSchema.append({ slot: joi_1.default.number().required() })).optional(),
102
+ });
103
+ exports.EntitySchema = joi_1.default.object({
104
+ Entity: exports.EntityBaseSchema.concat(item_1.NBTDataSchema).required(),
105
+ EntityLivingBase: exports.EntityLivingBaseInfoSchema.optional(),
106
+ Player: exports.PlayerInfoSchema.optional(),
107
+ class: common_1.ClassInfoSchema.optional(),
108
+ });
109
+ exports.EntitySummarySchema = joi_1.default.object({
110
+ Entity: joi_1.default.object({
111
+ name: joi_1.default.string().required(),
112
+ entityId: joi_1.default.number().required(),
113
+ uniqueId: joi_1.default.string().required(),
114
+ dimension: joi_1.default.number().required(),
115
+ posX: joi_1.default.number().required(),
116
+ posY: joi_1.default.number().required(),
117
+ posZ: joi_1.default.number().required(),
118
+ }).required(),
119
+ });
120
+ exports.EntitiesByDimensionSchema = joi_1.default.object({
121
+ WorldName: joi_1.default.string().required(),
122
+ loadedEntityList: joi_1.default.array().items(exports.EntitySummarySchema).required(),
123
+ });
@@ -0,0 +1,4 @@
1
+ import Joi from "joi";
2
+ import type { Fluid, FluidContainer } from "../types/fluid";
3
+ export declare const FluidSchema: Joi.ObjectSchema<Fluid>;
4
+ export declare const FluidContainerSchema: Joi.ObjectSchema<FluidContainer>;
@@ -0,0 +1,30 @@
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.FluidContainerSchema = exports.FluidSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const common_1 = require("./common");
9
+ const item_1 = require("./item");
10
+ exports.FluidSchema = joi_1.default.object({
11
+ class: common_1.ClassInfoSchema.optional(),
12
+ id: joi_1.default.number().required(),
13
+ name: joi_1.default.string().required(),
14
+ registryName: joi_1.default.string().required(),
15
+ unlocalizedName: joi_1.default.string().required(),
16
+ localizedName: joi_1.default.string().optional(),
17
+ color: joi_1.default.number().required(),
18
+ luminosity: joi_1.default.number().required(),
19
+ density: joi_1.default.number().required(),
20
+ temperature: joi_1.default.number().required(),
21
+ viscosity: joi_1.default.number().required(),
22
+ gaseous: joi_1.default.boolean().required(),
23
+ block: joi_1.default.number().optional(),
24
+ });
25
+ exports.FluidContainerSchema = joi_1.default.object({
26
+ fluid: exports.FluidSchema.optional(),
27
+ amount: joi_1.default.number().optional(),
28
+ filledContainer: item_1.ItemStackSchema.optional(),
29
+ emptyContainer: item_1.ItemStackSchema.optional(),
30
+ });
@@ -0,0 +1,4 @@
1
+ import Joi from "joi";
2
+ import type { FMPPart } from "../types/fmp";
3
+ export declare const Cuboid6BoundsSchema: Joi.ObjectSchema<any>;
4
+ export declare const FMPPartSchema: Joi.ObjectSchema<FMPPart>;
@@ -0,0 +1,40 @@
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.FMPPartSchema = exports.Cuboid6BoundsSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const common_1 = require("./common");
9
+ const item_1 = require("./item");
10
+ exports.Cuboid6BoundsSchema = joi_1.default.object({
11
+ minX: joi_1.default.number().required(),
12
+ minY: joi_1.default.number().required(),
13
+ minZ: joi_1.default.number().required(),
14
+ maxX: joi_1.default.number().required(),
15
+ maxY: joi_1.default.number().required(),
16
+ maxZ: joi_1.default.number().required(),
17
+ });
18
+ exports.FMPPartSchema = joi_1.default.object({
19
+ class: common_1.ClassInfoSchema.optional(),
20
+ type: joi_1.default.string().required(),
21
+ lightValue: joi_1.default.number().required(),
22
+ doesTick: joi_1.default.boolean().required(),
23
+ bounds: exports.Cuboid6BoundsSchema.optional(),
24
+ collisionBoxes: joi_1.default.array().items(exports.Cuboid6BoundsSchema).required(),
25
+ drops: joi_1.default.array().items(item_1.ItemStackSchema).optional(),
26
+ ae2: joi_1.default.object({
27
+ color: joi_1.default.string().required(),
28
+ isEmpty: joi_1.default.boolean().required(),
29
+ lightValue: joi_1.default.number().required(),
30
+ parts: joi_1.default.array().items(joi_1.default.object({
31
+ direction: joi_1.default.string().required(),
32
+ item: item_1.ItemStackSchema.optional(),
33
+ })).required(),
34
+ facades: joi_1.default.array().items(joi_1.default.object({
35
+ direction: joi_1.default.string().required(),
36
+ item: item_1.ItemStackSchema.optional(),
37
+ })).required(),
38
+ error: joi_1.default.string().optional(),
39
+ }).optional(),
40
+ });
@@ -0,0 +1,24 @@
1
+ import Joi from "joi";
2
+ import type { GT5BatchJobResult, GT5BatchMachineCoord, GT5BatchSubmitResult, GT5MachineInfo, GT5ScanJobResult } from "../types/gt5";
3
+ export declare const GT5MachineTypeSchema: Joi.StringSchema<string>;
4
+ export declare const GT5ShutDownReasonSchema: Joi.ObjectSchema<any>;
5
+ export declare const GT5MachineIOSchema: Joi.ObjectSchema<any>;
6
+ export declare const GT5MachineStateSchema: Joi.ObjectSchema<any>;
7
+ export declare const GT5HatchCoordSchema: Joi.ObjectSchema<any>;
8
+ export declare const GT5MaintenanceStateSchema: Joi.ObjectSchema<any>;
9
+ export declare const GT5HatchesSchema: Joi.ObjectSchema<any>;
10
+ export declare const GT5MultiBlockInfoSchema: Joi.ObjectSchema<any>;
11
+ export declare const GT5HatchInfoSchema: Joi.ObjectSchema<any>;
12
+ export declare const GT5SingleBlockInfoSchema: Joi.ObjectSchema<any>;
13
+ export declare const GT5GeneratorInfoSchema: Joi.ObjectSchema<any>;
14
+ export declare const GT5MachineInfoSchema: Joi.ObjectSchema<GT5MachineInfo>;
15
+ export declare const GT5BatchMachineCoordSchema: Joi.ObjectSchema<GT5BatchMachineCoord>;
16
+ export declare const GT5BatchSubmitResultSchema: Joi.ObjectSchema<GT5BatchSubmitResult>;
17
+ export declare const GT5BatchRerunResultSchema: Joi.ObjectSchema<any>;
18
+ export declare const GT5BatchJobStatusSchema: Joi.StringSchema<string>;
19
+ export declare const GT5BatchJobResultSchema: Joi.ObjectSchema<GT5BatchJobResult>;
20
+ export declare const GT5ScanSubmitResultSchema: Joi.ObjectSchema<GT5BatchSubmitResult>;
21
+ export declare const GT5ScanMachineSchema: Joi.ObjectSchema<any>;
22
+ export declare const GT5ScanResultSchema: Joi.ObjectSchema<any>;
23
+ export declare const GT5ScanJobStatusSchema: Joi.StringSchema<string>;
24
+ export declare const GT5ScanJobResultSchema: Joi.ObjectSchema<GT5ScanJobResult>;
@@ -0,0 +1,192 @@
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.GT5ScanJobResultSchema = exports.GT5ScanJobStatusSchema = exports.GT5ScanResultSchema = exports.GT5ScanMachineSchema = exports.GT5ScanSubmitResultSchema = exports.GT5BatchJobResultSchema = exports.GT5BatchJobStatusSchema = exports.GT5BatchRerunResultSchema = exports.GT5BatchSubmitResultSchema = exports.GT5BatchMachineCoordSchema = exports.GT5MachineInfoSchema = exports.GT5GeneratorInfoSchema = exports.GT5SingleBlockInfoSchema = exports.GT5HatchInfoSchema = exports.GT5MultiBlockInfoSchema = exports.GT5HatchesSchema = exports.GT5MaintenanceStateSchema = exports.GT5HatchCoordSchema = exports.GT5MachineStateSchema = exports.GT5MachineIOSchema = exports.GT5ShutDownReasonSchema = exports.GT5MachineTypeSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const common_1 = require("./common");
9
+ const fluid_1 = require("./fluid");
10
+ // ========== GT5 Machine Base ==========
11
+ exports.GT5MachineTypeSchema = joi_1.default.string().valid("MULTIBLOCK", "SINGLE", "GENERATOR", "HATCH", "UNKNOWN");
12
+ exports.GT5ShutDownReasonSchema = joi_1.default.object({
13
+ id: joi_1.default.string().required(),
14
+ displayString: joi_1.default.string().allow("").required(),
15
+ wasCritical: joi_1.default.boolean().required(),
16
+ });
17
+ exports.GT5MachineIOSchema = joi_1.default.object({
18
+ storedEU: joi_1.default.number().required(),
19
+ euCapacity: joi_1.default.number().required(),
20
+ Info: joi_1.default.array()
21
+ .items(joi_1.default.string())
22
+ .required(),
23
+ rawInfo: joi_1.default.object()
24
+ .pattern(joi_1.default.string(), joi_1.default.string())
25
+ .required(),
26
+ inputVoltage: joi_1.default.number().optional(),
27
+ inputAmperage: joi_1.default.number().optional(),
28
+ outputVoltage: joi_1.default.number().optional(),
29
+ outputAmperage: joi_1.default.number().optional(),
30
+ });
31
+ exports.GT5MachineStateSchema = joi_1.default.object({
32
+ isActive: joi_1.default.boolean().required(),
33
+ isAllowedToWork: joi_1.default.boolean().required(),
34
+ wasShutdown: joi_1.default.boolean().optional(),
35
+ lastShutDownReason: exports.GT5ShutDownReasonSchema.optional(),
36
+ }).concat(exports.GT5MachineIOSchema);
37
+ exports.GT5HatchCoordSchema = joi_1.default.object({
38
+ x: joi_1.default.number().required(),
39
+ y: joi_1.default.number().required(),
40
+ z: joi_1.default.number().required(),
41
+ });
42
+ exports.GT5MaintenanceStateSchema = joi_1.default.object({
43
+ wrench: joi_1.default.boolean().required(),
44
+ screwdriver: joi_1.default.boolean().required(),
45
+ softMallet: joi_1.default.boolean().required(),
46
+ hardHammer: joi_1.default.boolean().required(),
47
+ solderingTool: joi_1.default.boolean().required(),
48
+ crowbar: joi_1.default.boolean().required(),
49
+ });
50
+ exports.GT5HatchesSchema = joi_1.default.object({
51
+ inputBus: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
52
+ outputBus: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
53
+ inputHatch: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
54
+ outputHatch: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
55
+ energyHatch: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
56
+ dynamoHatch: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
57
+ maintenanceHatch: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
58
+ mufflerHatch: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
59
+ dualInputHatch: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
60
+ smartInputHatch: joi_1.default.array().items(exports.GT5HatchCoordSchema).required(),
61
+ });
62
+ exports.GT5MultiBlockInfoSchema = joi_1.default.object({
63
+ structureValid: joi_1.default.boolean().required(),
64
+ progressTime: joi_1.default.number().required(),
65
+ maxProgressTime: joi_1.default.number().required(),
66
+ euT: joi_1.default.number().required(),
67
+ efficiency: joi_1.default.number().required(),
68
+ pollution: joi_1.default.number().required(),
69
+ inputVoltageTier: joi_1.default.number().required(),
70
+ maxInputEu: joi_1.default.number().required(),
71
+ maxInputAmps: joi_1.default.number().required(),
72
+ storedEnergy: joi_1.default.number().required(),
73
+ maxEnergy: joi_1.default.number().required(),
74
+ maxParallelRecipes: joi_1.default.number().required(),
75
+ trueParallel: joi_1.default.number().required(),
76
+ maintenance: exports.GT5MaintenanceStateSchema.required(),
77
+ hatches: exports.GT5HatchesSchema.required(),
78
+ });
79
+ exports.GT5HatchInfoSchema = joi_1.default.object({
80
+ tier: joi_1.default.number().required(),
81
+ });
82
+ exports.GT5SingleBlockInfoSchema = joi_1.default.object({
83
+ tier: joi_1.default.number().required(),
84
+ progressTime: joi_1.default.number().required(),
85
+ maxProgressTime: joi_1.default.number().required(),
86
+ euT: joi_1.default.number().required(),
87
+ inputSlotCount: joi_1.default.number().required(),
88
+ amperage: joi_1.default.number().required(),
89
+ mainFacing: joi_1.default.string().required(),
90
+ });
91
+ exports.GT5GeneratorInfoSchema = joi_1.default.object({
92
+ tier: joi_1.default.number().required(),
93
+ storedEU: joi_1.default.number().required(),
94
+ maxEUStore: joi_1.default.number().required(),
95
+ pollution: joi_1.default.number().required(),
96
+ efficiency: joi_1.default.number().required(),
97
+ recipeMap: joi_1.default.string().optional(),
98
+ maxEUOutput: joi_1.default.number().required(),
99
+ capacity: joi_1.default.number().required(),
100
+ fluid: fluid_1.FluidSchema.optional(),
101
+ });
102
+ const GT5MachineFieldsSchema = joi_1.default.object({
103
+ machineType: exports.GT5MachineTypeSchema.required(),
104
+ multi: exports.GT5MultiBlockInfoSchema.when("machineType", { is: "MULTIBLOCK", then: joi_1.default.required() }),
105
+ single: exports.GT5SingleBlockInfoSchema.when("machineType", { is: "SINGLE", then: joi_1.default.required() }),
106
+ generator: exports.GT5GeneratorInfoSchema.when("machineType", { is: "GENERATOR", then: joi_1.default.required() }),
107
+ hatch: exports.GT5HatchInfoSchema.when("machineType", { is: "HATCH", then: joi_1.default.required() }),
108
+ });
109
+ exports.GT5MachineInfoSchema = joi_1.default.object({
110
+ x: joi_1.default.number().required(),
111
+ y: joi_1.default.number().required(),
112
+ z: joi_1.default.number().required(),
113
+ dimension: joi_1.default.number().required(),
114
+ localName: joi_1.default.string().required(),
115
+ internalName: joi_1.default.string().required(),
116
+ metaTileID: joi_1.default.number().required(),
117
+ owner: joi_1.default.string().required(),
118
+ state: exports.GT5MachineStateSchema.required(),
119
+ class: common_1.ClassInfoSchema.optional(),
120
+ nbt: joi_1.default.object().unknown().required(),
121
+ }).concat(GT5MachineFieldsSchema);
122
+ exports.GT5BatchMachineCoordSchema = joi_1.default.object({
123
+ x: joi_1.default.number().required(),
124
+ y: joi_1.default.number().required(),
125
+ z: joi_1.default.number().required(),
126
+ dim: joi_1.default.number().optional(),
127
+ });
128
+ exports.GT5BatchSubmitResultSchema = joi_1.default.object({
129
+ id: joi_1.default.string().required(),
130
+ total: joi_1.default.number().required(),
131
+ });
132
+ exports.GT5BatchRerunResultSchema = joi_1.default.object({
133
+ id: joi_1.default.string().required(),
134
+ total: joi_1.default.number().required(),
135
+ runCount: joi_1.default.number().required(),
136
+ });
137
+ exports.GT5BatchJobStatusSchema = joi_1.default.string().valid("pending", "running", "completed");
138
+ exports.GT5BatchJobResultSchema = joi_1.default.object({
139
+ id: joi_1.default.string().required(),
140
+ total: joi_1.default.number().required(),
141
+ completed: joi_1.default.number().required(),
142
+ success: joi_1.default.number().required(),
143
+ failed: joi_1.default.number().required(),
144
+ status: exports.GT5BatchJobStatusSchema.required(),
145
+ runCount: joi_1.default.number().required(),
146
+ createTime: joi_1.default.number().required(),
147
+ finishTime: joi_1.default.number().optional(),
148
+ durationMs: joi_1.default.number().optional(),
149
+ errors: joi_1.default.array().items(joi_1.default.string()).optional(),
150
+ errorsTruncated: joi_1.default.number().optional(),
151
+ machines: joi_1.default.array().items(exports.GT5MachineInfoSchema).optional(),
152
+ });
153
+ // ========== GT5 Chunk Scan ==========
154
+ exports.GT5ScanSubmitResultSchema = joi_1.default.object({
155
+ id: joi_1.default.string().required(),
156
+ total: joi_1.default.number().required(),
157
+ });
158
+ exports.GT5ScanMachineSchema = joi_1.default.object({
159
+ x: joi_1.default.number().required(),
160
+ y: joi_1.default.number().required(),
161
+ z: joi_1.default.number().required(),
162
+ machineType: exports.GT5MachineTypeSchema.required(),
163
+ localName: joi_1.default.string().required(),
164
+ internalName: joi_1.default.string().required(),
165
+ metaTileID: joi_1.default.number().required(),
166
+ owner: joi_1.default.string().required(),
167
+ });
168
+ exports.GT5ScanResultSchema = joi_1.default.object({
169
+ chunkX: joi_1.default.number().required(),
170
+ chunkZ: joi_1.default.number().required(),
171
+ dimension: joi_1.default.number().required(),
172
+ totalMachines: joi_1.default.number().required(),
173
+ machines: joi_1.default.array().items(exports.GT5ScanMachineSchema).required(),
174
+ });
175
+ exports.GT5ScanJobStatusSchema = joi_1.default.string().valid("pending", "running", "completed");
176
+ exports.GT5ScanJobResultSchema = joi_1.default.object({
177
+ id: joi_1.default.string().required(),
178
+ total: joi_1.default.number().required(),
179
+ completed: joi_1.default.number().required(),
180
+ success: joi_1.default.number().required(),
181
+ failed: joi_1.default.number().required(),
182
+ status: exports.GT5ScanJobStatusSchema.required(),
183
+ createTime: joi_1.default.number().required(),
184
+ chunkX: joi_1.default.number().required(),
185
+ chunkZ: joi_1.default.number().required(),
186
+ dimension: joi_1.default.number().required(),
187
+ finishTime: joi_1.default.number().optional(),
188
+ durationMs: joi_1.default.number().optional(),
189
+ errors: joi_1.default.array().items(joi_1.default.string()).optional(),
190
+ errorsTruncated: joi_1.default.number().optional(),
191
+ result: exports.GT5ScanResultSchema.optional(),
192
+ });
@@ -0,0 +1,13 @@
1
+ export * from "./ae2";
2
+ export * from "./block";
3
+ export * from "./chunk";
4
+ export * from "./common";
5
+ export * from "./entity";
6
+ export * from "./fmp";
7
+ export * from "./fluid";
8
+ export * from "./item";
9
+ export * from "./world";
10
+ export * from "./gt5";
11
+ export * from "./rawInfo";
12
+ export * from "./recipe";
13
+ export * from "./threeD";
@@ -0,0 +1,29 @@
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("./ae2"), exports);
18
+ __exportStar(require("./block"), exports);
19
+ __exportStar(require("./chunk"), exports);
20
+ __exportStar(require("./common"), exports);
21
+ __exportStar(require("./entity"), exports);
22
+ __exportStar(require("./fmp"), exports);
23
+ __exportStar(require("./fluid"), exports);
24
+ __exportStar(require("./item"), exports);
25
+ __exportStar(require("./world"), exports);
26
+ __exportStar(require("./gt5"), exports);
27
+ __exportStar(require("./rawInfo"), exports);
28
+ __exportStar(require("./recipe"), exports);
29
+ __exportStar(require("./threeD"), exports);
@@ -0,0 +1,13 @@
1
+ import Joi from "joi";
2
+ import type { AEItemDefinitions, Item, ItemDetail } from "../types/item";
3
+ export declare const NBTDataSchema: Joi.ObjectSchema<any>;
4
+ export declare const ItemSchema: Joi.ObjectSchema<Item>;
5
+ export declare const ItemStackSchema: Joi.ObjectSchema<{
6
+ MaxStackSize: unknown;
7
+ damageable: unknown;
8
+ damage: unknown;
9
+ AttributeModifiers: unknown;
10
+ stackSize: unknown;
11
+ }>;
12
+ export declare const ItemDetailSchema: Joi.ObjectSchema<ItemDetail>;
13
+ export declare const AEItemDefinitionsSchema: Joi.ObjectSchema<AEItemDefinitions>;
@@ -0,0 +1,37 @@
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.AEItemDefinitionsSchema = exports.ItemDetailSchema = exports.ItemStackSchema = exports.ItemSchema = exports.NBTDataSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const common_1 = require("./common");
9
+ exports.NBTDataSchema = joi_1.default.object({
10
+ nbtstr: joi_1.default.string().optional(),
11
+ nbtWrite: joi_1.default.string().optional(),
12
+ nbt: joi_1.default.object().unknown().optional(),
13
+ });
14
+ exports.ItemSchema = joi_1.default.object({
15
+ class: common_1.ClassInfoSchema.optional(),
16
+ id: joi_1.default.number().required(),
17
+ registryName: joi_1.default.string().required(),
18
+ UnlocalizedName: joi_1.default.string().required(),
19
+ localizedName: joi_1.default.string().required(),
20
+ HasSubtypes: joi_1.default.boolean().required(),
21
+ });
22
+ exports.ItemStackSchema = exports.ItemSchema.append({
23
+ MaxStackSize: joi_1.default.number().required(),
24
+ damageable: joi_1.default.boolean().required(),
25
+ damage: joi_1.default.number().required(),
26
+ AttributeModifiers: joi_1.default.object().unknown().optional(),
27
+ stackSize: joi_1.default.number().optional(),
28
+ }).concat(exports.NBTDataSchema);
29
+ exports.ItemDetailSchema = exports.ItemStackSchema.append({
30
+ subs: joi_1.default.array().items(exports.ItemStackSchema).optional(),
31
+ });
32
+ exports.AEItemDefinitionsSchema = joi_1.default.object({
33
+ items: joi_1.default.array().items(exports.ItemStackSchema.append({ name: joi_1.default.string().required() })).required(),
34
+ parts: joi_1.default.array().items(exports.ItemStackSchema.append({ name: joi_1.default.string().required() })).required(),
35
+ materials: joi_1.default.array().items(exports.ItemStackSchema.append({ name: joi_1.default.string().required() })).required(),
36
+ blocks: joi_1.default.array().items(exports.ItemStackSchema.append({ name: joi_1.default.string().required() })).required(),
37
+ });
@@ -0,0 +1,6 @@
1
+ import Joi from "joi";
2
+ import type { LSCRawInfoMap } from "../types/rawInfo";
3
+ /**
4
+ * 校验并转换 LSC rawInfo 为强类型视图({@link LSCRawInfoMap})。
5
+ */
6
+ export declare const LSCInfoSchema: Joi.ObjectSchema<LSCRawInfoMap>;
@@ -0,0 +1,31 @@
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.LSCInfoSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ /**
9
+ * 校验并转换 LSC rawInfo 为强类型视图({@link LSCRawInfoMap})。
10
+ */
11
+ exports.LSCInfoSchema = joi_1.default.object({
12
+ stored: joi_1.default.number().unsafe().required(),
13
+ capacity: joi_1.default.number().unsafe().required(),
14
+ inputLastTick: joi_1.default.number().required(),
15
+ outputLastTick: joi_1.default.number().required(),
16
+ passiveDischargeAmount: joi_1.default.number().required(),
17
+ avgInput100t: joi_1.default.number().required(),
18
+ avgOutput100t: joi_1.default.number().required(),
19
+ avgInput5m: joi_1.default.number().required(),
20
+ avgOutput5m: joi_1.default.number().required(),
21
+ avgInput1h: joi_1.default.number().required(),
22
+ avgOutput1h: joi_1.default.number().required(),
23
+ maxEUInput: joi_1.default.number().required(),
24
+ maxEUOutput: joi_1.default.number().required(),
25
+ wirelessMode: joi_1.default.boolean().required(),
26
+ wirelessEU: joi_1.default.number().unsafe().optional(),
27
+ capacitorUHV: joi_1.default.number().required(),
28
+ capacitorUEV: joi_1.default.number().required(),
29
+ capacitorUIV: joi_1.default.number().required(),
30
+ capacitorUMV: joi_1.default.number().required(),
31
+ });
@@ -0,0 +1,30 @@
1
+ import Joi from "joi";
2
+ import type { CraftingRecipe, CraftingRecipesResult, FurnaceRecipe, FurnaceRecipesResult, GTRecipe, GTRecipeMap, GTRecipesResult } from "../types/recipe";
3
+ /** 带 stackSize 的物品堆(配方中始终输出 stackSize) */
4
+ export declare const RecipeItemStackSchema: Joi.ObjectSchema<{
5
+ MaxStackSize: unknown;
6
+ damageable: unknown;
7
+ damage: unknown;
8
+ AttributeModifiers: unknown;
9
+ stackSize: unknown;
10
+ }>;
11
+ /** 带 stackSize 的物品堆,但也允许缺失(用于 query 回显等场景) */
12
+ export declare const RecipeItemStackLooseSchema: Joi.ObjectSchema<{
13
+ MaxStackSize: unknown;
14
+ damageable: unknown;
15
+ damage: unknown;
16
+ AttributeModifiers: unknown;
17
+ stackSize: unknown;
18
+ }>;
19
+ export declare const RecipeIngredientSchema: Joi.ObjectSchema<any>;
20
+ export declare const CraftingRecipeSchema: Joi.ObjectSchema<CraftingRecipe>;
21
+ export declare const CraftingRecipesResultSchema: Joi.ObjectSchema<CraftingRecipesResult>;
22
+ export declare const FurnaceRecipeSchema: Joi.ObjectSchema<FurnaceRecipe>;
23
+ export declare const FurnaceRecipesResultSchema: Joi.ObjectSchema<FurnaceRecipesResult>;
24
+ export declare const GTRecipeMapSchema: Joi.ObjectSchema<GTRecipeMap>;
25
+ /** 配方中的流体堆,附加 amount */
26
+ export declare const RecipeFluidStackSchema: Joi.ObjectSchema<{
27
+ amount: unknown;
28
+ }>;
29
+ export declare const GTRecipeSchema: Joi.ObjectSchema<GTRecipe>;
30
+ export declare const GTRecipesResultSchema: Joi.ObjectSchema<GTRecipesResult>;