@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.
- package/dist/client.d.ts +576 -0
- package/dist/client.js +668 -0
- package/dist/esm/client.js +663 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/test.js +6 -0
- package/dist/esm/types/ae2.js +1 -0
- package/dist/esm/types/block.js +1 -0
- package/dist/esm/types/chunk.js +1 -0
- package/dist/esm/types/common.js +1 -0
- package/dist/esm/types/entity.js +1 -0
- package/dist/esm/types/fluid.js +1 -0
- package/dist/esm/types/fmp.js +1 -0
- package/dist/esm/types/gt5.js +1 -0
- package/dist/esm/types/index.js +13 -0
- package/dist/esm/types/item.js +1 -0
- package/dist/esm/types/rawInfo.js +1 -0
- package/dist/esm/types/recipe.js +1 -0
- package/dist/esm/types/threeD.js +1 -0
- package/dist/esm/types/world.js +1 -0
- package/dist/esm/validators/ae2.js +163 -0
- package/dist/esm/validators/block.js +85 -0
- package/dist/esm/validators/chunk.js +58 -0
- package/dist/esm/validators/common.js +28 -0
- package/dist/esm/validators/entity.js +117 -0
- package/dist/esm/validators/fluid.js +24 -0
- package/dist/esm/validators/fmp.js +34 -0
- package/dist/esm/validators/gt5.js +186 -0
- package/dist/esm/validators/index.js +13 -0
- package/dist/esm/validators/item.js +31 -0
- package/dist/esm/validators/rawInfo.js +25 -0
- package/dist/esm/validators/recipe.js +77 -0
- package/dist/esm/validators/threeD.js +34 -0
- package/dist/esm/validators/world.js +59 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +22 -0
- package/dist/test.d.ts +1 -0
- package/dist/test.js +8 -0
- package/dist/types/ae2.d.ts +162 -0
- package/dist/types/ae2.js +2 -0
- package/dist/types/block.d.ts +87 -0
- package/dist/types/block.js +2 -0
- package/dist/types/chunk.d.ts +57 -0
- package/dist/types/chunk.js +2 -0
- package/dist/types/common.d.ts +27 -0
- package/dist/types/common.js +2 -0
- package/dist/types/entity.d.ts +114 -0
- package/dist/types/entity.js +2 -0
- package/dist/types/fluid.d.ts +23 -0
- package/dist/types/fluid.js +2 -0
- package/dist/types/fmp.d.ts +33 -0
- package/dist/types/fmp.js +2 -0
- package/dist/types/gt5.d.ts +210 -0
- package/dist/types/gt5.js +2 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.js +29 -0
- package/dist/types/item.d.ts +38 -0
- package/dist/types/item.js +2 -0
- package/dist/types/rawInfo.d.ts +25 -0
- package/dist/types/rawInfo.js +2 -0
- package/dist/types/recipe.d.ts +114 -0
- package/dist/types/recipe.js +2 -0
- package/dist/types/threeD.d.ts +43 -0
- package/dist/types/threeD.js +2 -0
- package/dist/types/world.d.ts +58 -0
- package/dist/types/world.js +2 -0
- package/dist/validators/ae2.d.ts +63 -0
- package/dist/validators/ae2.js +169 -0
- package/dist/validators/block.d.ts +12 -0
- package/dist/validators/block.js +91 -0
- package/dist/validators/chunk.d.ts +9 -0
- package/dist/validators/chunk.js +64 -0
- package/dist/validators/common.d.ts +8 -0
- package/dist/validators/common.js +36 -0
- package/dist/validators/entity.d.ts +9 -0
- package/dist/validators/entity.js +123 -0
- package/dist/validators/fluid.d.ts +4 -0
- package/dist/validators/fluid.js +30 -0
- package/dist/validators/fmp.d.ts +4 -0
- package/dist/validators/fmp.js +40 -0
- package/dist/validators/gt5.d.ts +24 -0
- package/dist/validators/gt5.js +192 -0
- package/dist/validators/index.d.ts +13 -0
- package/dist/validators/index.js +29 -0
- package/dist/validators/item.d.ts +13 -0
- package/dist/validators/item.js +37 -0
- package/dist/validators/rawInfo.d.ts +6 -0
- package/dist/validators/rawInfo.js +31 -0
- package/dist/validators/recipe.d.ts +30 -0
- package/dist/validators/recipe.js +83 -0
- package/dist/validators/threeD.d.ts +8 -0
- package/dist/validators/threeD.js +40 -0
- package/dist/validators/world.d.ts +5 -0
- package/dist/validators/world.js +65 -0
- package/package.json +49 -0
|
@@ -0,0 +1,83 @@
|
|
|
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.GTRecipesResultSchema = exports.GTRecipeSchema = exports.RecipeFluidStackSchema = exports.GTRecipeMapSchema = exports.FurnaceRecipesResultSchema = exports.FurnaceRecipeSchema = exports.CraftingRecipesResultSchema = exports.CraftingRecipeSchema = exports.RecipeIngredientSchema = exports.RecipeItemStackLooseSchema = exports.RecipeItemStackSchema = void 0;
|
|
7
|
+
const joi_1 = __importDefault(require("joi"));
|
|
8
|
+
const fluid_1 = require("./fluid");
|
|
9
|
+
const item_1 = require("./item");
|
|
10
|
+
/** 带 stackSize 的物品堆(配方中始终输出 stackSize) */
|
|
11
|
+
exports.RecipeItemStackSchema = item_1.ItemStackSchema.append({ stackSize: joi_1.default.number().required() });
|
|
12
|
+
/** 带 stackSize 的物品堆,但也允许缺失(用于 query 回显等场景) */
|
|
13
|
+
exports.RecipeItemStackLooseSchema = item_1.ItemStackSchema.append({ stackSize: joi_1.default.number().optional() });
|
|
14
|
+
exports.RecipeIngredientSchema = joi_1.default.object({
|
|
15
|
+
ores: joi_1.default.array().items(joi_1.default.string()).optional(),
|
|
16
|
+
items: joi_1.default.array().items(exports.RecipeItemStackSchema).required(),
|
|
17
|
+
});
|
|
18
|
+
exports.CraftingRecipeSchema = joi_1.default.object({
|
|
19
|
+
recipeClass: joi_1.default.string().required(),
|
|
20
|
+
type: joi_1.default.valid("shaped", "shapeless", "unknown").required(),
|
|
21
|
+
shapeless: joi_1.default.boolean().required(),
|
|
22
|
+
width: joi_1.default.number().optional(),
|
|
23
|
+
height: joi_1.default.number().optional(),
|
|
24
|
+
grid: joi_1.default.array().items(joi_1.default.array().items(joi_1.default.alternatives(exports.RecipeIngredientSchema, joi_1.default.valid(null)))).optional(),
|
|
25
|
+
ingredients: joi_1.default.array().items(exports.RecipeIngredientSchema).optional(),
|
|
26
|
+
output: joi_1.default.alternatives(exports.RecipeItemStackSchema, joi_1.default.valid(null)).required(),
|
|
27
|
+
});
|
|
28
|
+
exports.CraftingRecipesResultSchema = joi_1.default.object({
|
|
29
|
+
type: joi_1.default.valid("crafting").required(),
|
|
30
|
+
queryType: joi_1.default.valid("output", "input").required(),
|
|
31
|
+
count: joi_1.default.number().required(),
|
|
32
|
+
offset: joi_1.default.number().required(),
|
|
33
|
+
total: joi_1.default.number().optional(),
|
|
34
|
+
query: exports.RecipeItemStackLooseSchema.optional(),
|
|
35
|
+
recipes: joi_1.default.array().items(exports.CraftingRecipeSchema).required(),
|
|
36
|
+
});
|
|
37
|
+
exports.FurnaceRecipeSchema = joi_1.default.object({
|
|
38
|
+
input: exports.RecipeItemStackSchema.required(),
|
|
39
|
+
output: exports.RecipeItemStackSchema.required(),
|
|
40
|
+
});
|
|
41
|
+
exports.FurnaceRecipesResultSchema = joi_1.default.object({
|
|
42
|
+
type: joi_1.default.valid("furnace").required(),
|
|
43
|
+
queryType: joi_1.default.valid("output", "input").required(),
|
|
44
|
+
count: joi_1.default.number().required(),
|
|
45
|
+
offset: joi_1.default.number().required(),
|
|
46
|
+
query: exports.RecipeItemStackLooseSchema.optional(),
|
|
47
|
+
recipes: joi_1.default.array().items(exports.FurnaceRecipeSchema).required(),
|
|
48
|
+
});
|
|
49
|
+
exports.GTRecipeMapSchema = joi_1.default.object({
|
|
50
|
+
unlocalizedName: joi_1.default.string().required(),
|
|
51
|
+
name: joi_1.default.string().required(),
|
|
52
|
+
});
|
|
53
|
+
/** 配方中的流体堆,附加 amount */
|
|
54
|
+
exports.RecipeFluidStackSchema = fluid_1.FluidSchema.append({ amount: joi_1.default.number().required() });
|
|
55
|
+
const GTRecipeIOItemsSchema = joi_1.default.array().items(joi_1.default.alternatives(exports.RecipeItemStackSchema, joi_1.default.valid(null))).required();
|
|
56
|
+
const GTRecipeIOFluidsSchema = joi_1.default.array().items(joi_1.default.alternatives(exports.RecipeFluidStackSchema, joi_1.default.valid(null))).required();
|
|
57
|
+
exports.GTRecipeSchema = joi_1.default.object({
|
|
58
|
+
recipeMap: joi_1.default.string().required(),
|
|
59
|
+
recipeMapName: joi_1.default.string().required(),
|
|
60
|
+
duration: joi_1.default.number().required(),
|
|
61
|
+
eut: joi_1.default.number().required(),
|
|
62
|
+
amperage: joi_1.default.number().required(),
|
|
63
|
+
specialValue: joi_1.default.number().required(),
|
|
64
|
+
enabled: joi_1.default.boolean().required(),
|
|
65
|
+
hidden: joi_1.default.boolean().required(),
|
|
66
|
+
fake: joi_1.default.boolean().required(),
|
|
67
|
+
inputs: joi_1.default.object({ items: GTRecipeIOItemsSchema, fluids: GTRecipeIOFluidsSchema }).required(),
|
|
68
|
+
outputs: joi_1.default.object({ items: GTRecipeIOItemsSchema, fluids: GTRecipeIOFluidsSchema }).required(),
|
|
69
|
+
inputChances: joi_1.default.array().items(joi_1.default.number()).required(),
|
|
70
|
+
outputChances: joi_1.default.array().items(joi_1.default.number()).required(),
|
|
71
|
+
fluidInputChances: joi_1.default.array().items(joi_1.default.number()).required(),
|
|
72
|
+
fluidOutputChances: joi_1.default.array().items(joi_1.default.number()).required(),
|
|
73
|
+
});
|
|
74
|
+
exports.GTRecipesResultSchema = joi_1.default.object({
|
|
75
|
+
type: joi_1.default.valid("gt").required(),
|
|
76
|
+
queryType: joi_1.default.valid("output", "input").required(),
|
|
77
|
+
count: joi_1.default.number().required(),
|
|
78
|
+
offset: joi_1.default.number().required(),
|
|
79
|
+
map: joi_1.default.string().optional(),
|
|
80
|
+
query: exports.RecipeItemStackLooseSchema.optional(),
|
|
81
|
+
fluid: fluid_1.FluidSchema.optional(),
|
|
82
|
+
recipes: joi_1.default.array().items(exports.GTRecipeSchema).required(),
|
|
83
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Joi from "joi";
|
|
2
|
+
import type { PlayerPrintResult, PrintSizeResult, WorldPrintJobResult, WorldPrintSubmitResult } from "../types/threeD";
|
|
3
|
+
export declare const PlayerPrintResultSchema: Joi.ObjectSchema<PlayerPrintResult>;
|
|
4
|
+
export declare const WorldPrintSubmitResultSchema: Joi.ObjectSchema<WorldPrintSubmitResult>;
|
|
5
|
+
export declare const PrintJobStatusSchema: Joi.Schema<any>;
|
|
6
|
+
export declare const WorldPrintFailureSchema: Joi.ObjectSchema<any>;
|
|
7
|
+
export declare const WorldPrintJobResultSchema: Joi.ObjectSchema<WorldPrintJobResult>;
|
|
8
|
+
export declare const PrintSizeResultSchema: Joi.ObjectSchema<PrintSizeResult>;
|
|
@@ -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.PrintSizeResultSchema = exports.WorldPrintJobResultSchema = exports.WorldPrintFailureSchema = exports.PrintJobStatusSchema = exports.WorldPrintSubmitResultSchema = exports.PlayerPrintResultSchema = void 0;
|
|
7
|
+
const joi_1 = __importDefault(require("joi"));
|
|
8
|
+
exports.PlayerPrintResultSchema = joi_1.default.object({
|
|
9
|
+
total: joi_1.default.number().required(),
|
|
10
|
+
added: joi_1.default.number().required(),
|
|
11
|
+
dropped: joi_1.default.number().required(),
|
|
12
|
+
});
|
|
13
|
+
exports.WorldPrintSubmitResultSchema = joi_1.default.object({
|
|
14
|
+
id: joi_1.default.string().required(),
|
|
15
|
+
total: joi_1.default.number().required(),
|
|
16
|
+
skipped: joi_1.default.number().required(),
|
|
17
|
+
});
|
|
18
|
+
exports.PrintJobStatusSchema = joi_1.default.valid("pending", "running", "completed");
|
|
19
|
+
exports.WorldPrintFailureSchema = joi_1.default.object({
|
|
20
|
+
x: joi_1.default.number().required(),
|
|
21
|
+
y: joi_1.default.number().required(),
|
|
22
|
+
z: joi_1.default.number().required(),
|
|
23
|
+
reason: joi_1.default.string().required(),
|
|
24
|
+
});
|
|
25
|
+
exports.WorldPrintJobResultSchema = joi_1.default.object({
|
|
26
|
+
id: joi_1.default.string().required(),
|
|
27
|
+
total: joi_1.default.number().required(),
|
|
28
|
+
completed: joi_1.default.number().required(),
|
|
29
|
+
success: joi_1.default.number().required(),
|
|
30
|
+
failed: joi_1.default.number().required(),
|
|
31
|
+
status: exports.PrintJobStatusSchema.required(),
|
|
32
|
+
createTime: joi_1.default.number().required(),
|
|
33
|
+
finishTime: joi_1.default.number().optional(),
|
|
34
|
+
durationMs: joi_1.default.number().optional(),
|
|
35
|
+
failures: joi_1.default.array().items(exports.WorldPrintFailureSchema).optional(),
|
|
36
|
+
failuresTruncated: joi_1.default.number().optional(),
|
|
37
|
+
});
|
|
38
|
+
exports.PrintSizeResultSchema = joi_1.default.object({
|
|
39
|
+
size: joi_1.default.number().required(),
|
|
40
|
+
});
|
|
@@ -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,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@shirokasoke/webapi-sdk",
|
|
3
|
+
"version": "2.9.0-beta2-0.11-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
|
+
"@microsoft/fetch-event-source": "^2.0.1",
|
|
47
|
+
"joi": "^18.2.1"
|
|
48
|
+
}
|
|
49
|
+
}
|