@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,91 @@
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.BatchSetBlockJobResultSchema = exports.BatchSetBlockFailureSchema = exports.BatchSetBlockJobStatusSchema = exports.BatchSetBlockSubmitResultSchema = exports.BatchSetBlockTaskSchema = exports.SetBlockResultSchema = exports.SetBlockBodySchema = exports.BlockDetailSchema = exports.BlockSchema = exports.MaterialSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const common_1 = require("./common");
9
+ const item_1 = require("./item");
10
+ exports.MaterialSchema = joi_1.default.object({
11
+ isLiquid: joi_1.default.boolean().required(),
12
+ isSolid: joi_1.default.boolean().required(),
13
+ blocksMovement: joi_1.default.boolean().required(),
14
+ isOpaque: joi_1.default.boolean().required(),
15
+ isFlammable: joi_1.default.boolean().required(),
16
+ isReplaceable: joi_1.default.boolean().required(),
17
+ requiresNoTool: joi_1.default.boolean().required(),
18
+ mobilityFlag: joi_1.default.number().required(),
19
+ isAdventureModeExempt: joi_1.default.boolean().required(),
20
+ });
21
+ exports.BlockSchema = joi_1.default.object({
22
+ class: common_1.ClassInfoSchema.optional(),
23
+ id: joi_1.default.number().required(),
24
+ registryName: joi_1.default.string().required(),
25
+ unlocalizedName: joi_1.default.string().required(),
26
+ localizedName: joi_1.default.string().required(),
27
+ resistance: joi_1.default.alternatives(joi_1.default.number().unsafe(), joi_1.default.valid("Infinity")).required(),
28
+ lightLevel: joi_1.default.number().required(),
29
+ isOpaqueCube: joi_1.default.boolean().required(),
30
+ isNormalCube: joi_1.default.boolean().required(),
31
+ slipperiness: joi_1.default.number().required(),
32
+ renderType: joi_1.default.number().required(),
33
+ material: exports.MaterialSchema.required(),
34
+ meta: joi_1.default.number().optional(),
35
+ fileName: joi_1.default.string().optional(),
36
+ blockColor: joi_1.default.number().optional(),
37
+ });
38
+ exports.BlockDetailSchema = joi_1.default.object({
39
+ block: exports.BlockSchema.append({
40
+ hardness: joi_1.default.number().required(),
41
+ isReplaceable: joi_1.default.boolean().required(),
42
+ isPassable: joi_1.default.boolean().required(),
43
+ }).required(),
44
+ coordinates: common_1.CoordinatesSchema.required(),
45
+ metadata: joi_1.default.number().required(),
46
+ isAir: joi_1.default.boolean().required(),
47
+ tileEntity: joi_1.default.object({
48
+ class: common_1.ClassInfoSchema.optional(),
49
+ inventorySize: joi_1.default.number().optional(),
50
+ items: joi_1.default.array().items(item_1.ItemStackSchema.append({ slot: joi_1.default.number().required() })).optional(),
51
+ }).unknown().optional(),
52
+ });
53
+ exports.SetBlockBodySchema = joi_1.default.object({
54
+ id: joi_1.default.number().required(),
55
+ metadataIn: joi_1.default.number().optional(),
56
+ flag: joi_1.default.number().optional(),
57
+ });
58
+ exports.SetBlockResultSchema = joi_1.default.valid(null);
59
+ exports.BatchSetBlockTaskSchema = joi_1.default.object({
60
+ x: joi_1.default.number().required(),
61
+ y: joi_1.default.number().required(),
62
+ z: joi_1.default.number().required(),
63
+ dim: joi_1.default.number().optional(),
64
+ id: joi_1.default.number().required(),
65
+ metadata: joi_1.default.number().optional(),
66
+ flag: joi_1.default.number().optional(),
67
+ });
68
+ exports.BatchSetBlockSubmitResultSchema = joi_1.default.object({
69
+ id: joi_1.default.string().required(),
70
+ total: joi_1.default.number().required(),
71
+ });
72
+ exports.BatchSetBlockJobStatusSchema = joi_1.default.valid("pending", "running", "completed");
73
+ exports.BatchSetBlockFailureSchema = joi_1.default.object({
74
+ x: joi_1.default.number().required(),
75
+ y: joi_1.default.number().required(),
76
+ z: joi_1.default.number().required(),
77
+ reason: joi_1.default.string().required(),
78
+ });
79
+ exports.BatchSetBlockJobResultSchema = joi_1.default.object({
80
+ id: joi_1.default.string().required(),
81
+ total: joi_1.default.number().required(),
82
+ completed: joi_1.default.number().required(),
83
+ success: joi_1.default.number().required(),
84
+ failed: joi_1.default.number().required(),
85
+ status: exports.BatchSetBlockJobStatusSchema.required(),
86
+ createTime: joi_1.default.number().required(),
87
+ finishTime: joi_1.default.number().optional(),
88
+ durationMs: joi_1.default.number().optional(),
89
+ failures: joi_1.default.array().items(exports.BatchSetBlockFailureSchema).optional(),
90
+ failuresTruncated: joi_1.default.number().optional(),
91
+ });
@@ -0,0 +1,9 @@
1
+ import Joi from "joi";
2
+ import type { ChunkForceList, ChunkLoadResult, ChunkMapCell, ChunksByDimension, ChunkWithDimension } from "../types/chunk";
3
+ export declare const ChunkSchema: Joi.ObjectSchema<any>;
4
+ export declare const ChunkWithDimensionSchema: Joi.ObjectSchema<ChunkWithDimension>;
5
+ export declare const ChunksByDimensionSchema: Joi.ObjectSchema<ChunksByDimension>;
6
+ export declare const ChunkLoadInfoSchema: Joi.ObjectSchema<any>;
7
+ export declare const ChunkForceListSchema: Joi.ObjectSchema<ChunkForceList>;
8
+ export declare const ChunkLoadResultSchema: Joi.ObjectSchema<ChunkLoadResult>;
9
+ export declare const ChunkMapCellSchema: Joi.ObjectSchema<ChunkMapCell>;
@@ -0,0 +1,64 @@
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.ChunkMapCellSchema = exports.ChunkLoadResultSchema = exports.ChunkForceListSchema = exports.ChunkLoadInfoSchema = exports.ChunksByDimensionSchema = exports.ChunkWithDimensionSchema = exports.ChunkSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const common_1 = require("./common");
9
+ const entity_1 = require("./entity");
10
+ exports.ChunkSchema = joi_1.default.object({
11
+ class: common_1.ClassInfoSchema.optional(),
12
+ chunkX: joi_1.default.number().required(),
13
+ chunkZ: joi_1.default.number().required(),
14
+ xStart: joi_1.default.number().required(),
15
+ zStart: joi_1.default.number().required(),
16
+ xEnd: joi_1.default.number().required(),
17
+ zEnd: joi_1.default.number().required(),
18
+ lastSaveTime: joi_1.default.number().required(),
19
+ isTerrainPopulated: joi_1.default.boolean().required(),
20
+ isLightPopulated: joi_1.default.boolean().required(),
21
+ isModified: joi_1.default.boolean().required(),
22
+ hasEntities: joi_1.default.boolean().required(),
23
+ isChunkLoaded: joi_1.default.boolean().required(),
24
+ sendUpdates: joi_1.default.boolean().required(),
25
+ tileEntityCount: joi_1.default.number().required(),
26
+ entityCount: joi_1.default.number().optional(),
27
+ entityList: joi_1.default.array().items(joi_1.default.array().items(entity_1.EntitySchema)).optional(),
28
+ inhabitedTime: joi_1.default.number().required(),
29
+ });
30
+ exports.ChunkWithDimensionSchema = exports.ChunkSchema.append({
31
+ dimension: joi_1.default.number().required(),
32
+ });
33
+ exports.ChunksByDimensionSchema = joi_1.default.object({
34
+ name: joi_1.default.string().required(),
35
+ class: common_1.ClassInfoSchema.optional(),
36
+ chunks: joi_1.default.array().items(exports.ChunkSchema).required(),
37
+ count: joi_1.default.number().required(),
38
+ });
39
+ exports.ChunkLoadInfoSchema = joi_1.default.object({
40
+ ticketKey: joi_1.default.string().required(),
41
+ chunkX: joi_1.default.number().required(),
42
+ chunkZ: joi_1.default.number().required(),
43
+ minX: joi_1.default.number().required(),
44
+ maxX: joi_1.default.number().required(),
45
+ minZ: joi_1.default.number().required(),
46
+ maxZ: joi_1.default.number().required(),
47
+ dimension: joi_1.default.number().required(),
48
+ startTime: joi_1.default.number().required(),
49
+ durationSec: joi_1.default.number().required(),
50
+ remainingSec: joi_1.default.number().required(),
51
+ isActive: joi_1.default.boolean().required(),
52
+ });
53
+ exports.ChunkForceListSchema = joi_1.default.object({
54
+ totalLoaded: joi_1.default.number().required(),
55
+ chunks: joi_1.default.array().items(exports.ChunkLoadInfoSchema).required(),
56
+ });
57
+ exports.ChunkLoadResultSchema = exports.ChunkLoadInfoSchema.append({
58
+ action: joi_1.default.valid("load", "unload").required(),
59
+ });
60
+ exports.ChunkMapCellSchema = joi_1.default.object({
61
+ name: joi_1.default.string().required(),
62
+ meta: joi_1.default.number().required(),
63
+ y: joi_1.default.number().required(),
64
+ });
@@ -0,0 +1,8 @@
1
+ import Joi from "joi";
2
+ import type { RootInfo } from "../types/common";
3
+ export declare const ClassInfoSchema: Joi.ObjectSchema<any>;
4
+ export declare const CoordinatesSchema: Joi.ObjectSchema<any>;
5
+ export declare const ApiSuccessResponseSchema: <T>(dataSchema: Joi.Schema<T>) => Joi.ObjectSchema<any>;
6
+ export declare const ApiErrorResponseSchema: Joi.ObjectSchema<any>;
7
+ export declare const ApiResponseSchema: <T>(dataSchema: Joi.Schema<T>) => Joi.AlternativesSchema<any>;
8
+ export declare const RootInfoSchema: Joi.ObjectSchema<RootInfo>;
@@ -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,11 @@
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";