@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,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("./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);
@@ -0,0 +1,14 @@
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
+ count: unknown;
12
+ }>;
13
+ export declare const ItemDetailSchema: Joi.ObjectSchema<ItemDetail>;
14
+ export declare const AEItemDefinitionsSchema: Joi.ObjectSchema<AEItemDefinitions>;
@@ -0,0 +1,38 @@
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
+ count: joi_1.default.number().optional(),
29
+ }).concat(exports.NBTDataSchema);
30
+ exports.ItemDetailSchema = exports.ItemStackSchema.append({
31
+ subs: joi_1.default.array().items(exports.ItemStackSchema).optional(),
32
+ });
33
+ exports.AEItemDefinitionsSchema = joi_1.default.object({
34
+ items: joi_1.default.array().items(exports.ItemStackSchema.append({ name: joi_1.default.string().required() })).required(),
35
+ parts: joi_1.default.array().items(exports.ItemStackSchema.append({ name: joi_1.default.string().required() })).required(),
36
+ materials: joi_1.default.array().items(exports.ItemStackSchema.append({ name: joi_1.default.string().required() })).required(),
37
+ blocks: joi_1.default.array().items(exports.ItemStackSchema.append({ name: joi_1.default.string().required() })).required(),
38
+ });
@@ -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,5 @@
1
+ import Joi from "joi";
2
+ export declare const TPSInfoSchema: Joi.ObjectSchema<any>;
3
+ export declare const WorldInfoDataSchema: Joi.ObjectSchema<any>;
4
+ export declare const ProfilerDataSchema: Joi.ObjectSchema<any>;
5
+ export declare const LagAnalyzerDataSchema: Joi.ObjectSchema<any>;
@@ -0,0 +1,65 @@
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.LagAnalyzerDataSchema = exports.ProfilerDataSchema = exports.WorldInfoDataSchema = exports.TPSInfoSchema = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const common_1 = require("./common");
9
+ exports.TPSInfoSchema = joi_1.default.object({
10
+ WorldName: joi_1.default.string().optional(),
11
+ TickTime: joi_1.default.number().required(),
12
+ TPS: joi_1.default.number().required(),
13
+ });
14
+ exports.WorldInfoDataSchema = joi_1.default.object({
15
+ WorldServerClass: common_1.ClassInfoSchema.optional(),
16
+ WorldInfoClass: common_1.ClassInfoSchema.optional(),
17
+ WorldInfo: joi_1.default.object().unknown().required(),
18
+ });
19
+ exports.ProfilerDataSchema = joi_1.default.object({
20
+ server: joi_1.default.object({
21
+ totalMemoryMB: joi_1.default.number().required(),
22
+ freeMemoryMB: joi_1.default.number().required(),
23
+ maxMemoryMB: joi_1.default.number().required(),
24
+ }).required(),
25
+ dimensions: joi_1.default.object().pattern(joi_1.default.string(), joi_1.default.object({
26
+ name: joi_1.default.string().required(),
27
+ loadedChunks: joi_1.default.number().required(),
28
+ totalEntities: joi_1.default.number().required(),
29
+ totalTileEntities: joi_1.default.number().required(),
30
+ laggyChunks: joi_1.default.array().items(joi_1.default.object({
31
+ chunkX: joi_1.default.number().required(),
32
+ chunkZ: joi_1.default.number().required(),
33
+ entityCount: joi_1.default.number().required(),
34
+ })).required(),
35
+ })).required(),
36
+ profiler: joi_1.default.object({
37
+ enabled: joi_1.default.boolean().required(),
38
+ }).required(),
39
+ });
40
+ exports.LagAnalyzerDataSchema = joi_1.default.object({
41
+ entities: joi_1.default.object({
42
+ byType: joi_1.default.array().items(joi_1.default.object({
43
+ name: joi_1.default.string().required(),
44
+ count: joi_1.default.number().required(),
45
+ items: joi_1.default.number().required(),
46
+ xpOrbs: joi_1.default.number().required(),
47
+ })).required(),
48
+ byDimension: joi_1.default.object().pattern(joi_1.default.string(), joi_1.default.number()).required(),
49
+ }).required(),
50
+ tileEntities: joi_1.default.object({
51
+ byType: joi_1.default.array().items(joi_1.default.object({
52
+ name: joi_1.default.string().required(),
53
+ count: joi_1.default.number().required(),
54
+ samplePositions: joi_1.default.array().items(joi_1.default.string()).required(),
55
+ })).required(),
56
+ byDimension: joi_1.default.object().pattern(joi_1.default.string(), joi_1.default.number()).required(),
57
+ }).required(),
58
+ memory: joi_1.default.object({
59
+ totalMB: joi_1.default.number().required(),
60
+ freeMB: joi_1.default.number().required(),
61
+ usedMB: joi_1.default.number().required(),
62
+ maxMB: joi_1.default.number().required(),
63
+ availableProcessors: joi_1.default.number().required(),
64
+ }).required(),
65
+ });
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@shirokasoke/webapi-sdk",
3
+ "version": "2.9.0-bete2-0.6-pre",
4
+ "private": false,
5
+ "description": "TypeScript SDK for the love.shirokasoke.WebAPI Minecraft Mod",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.mjs",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": {
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/esm/index.js"
14
+ },
15
+ "require": {
16
+ "types": "./dist/index.d.ts",
17
+ "default": "./dist/index.js"
18
+ }
19
+ }
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "sideEffects": false,
25
+ "scripts": {
26
+ "build": "npm run build:cjs && npm run build:esm",
27
+ "build:cjs": "tsc -p tsconfig.json",
28
+ "build:esm": "tsc -p tsconfig.esm.json && echo '{\"type\": \"module\"}' > dist/esm/package.json",
29
+ "test": "tsx --test test/*.test.ts"
30
+ },
31
+ "keywords": [
32
+ "gtnh",
33
+ "minecraft",
34
+ "webapi",
35
+ "mod",
36
+ "sdk"
37
+ ],
38
+ "author": "Rcrwrate",
39
+ "license": "MIT",
40
+ "devDependencies": {
41
+ "@types/node": "^25.9.0",
42
+ "tsx": "^4.22.1",
43
+ "typescript": "^5.4.0"
44
+ },
45
+ "dependencies": {
46
+ "joi": "^18.2.1"
47
+ }
48
+ }