@vaitosoi/minejs 0.5.1 → 0.6.1
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/README.md +25 -9
- package/assets/minecraft/26.2/components.json +113 -0
- package/assets/minecraft/26.2/packets.json +8 -28
- package/assets/minecraft/26.3/packets.json +4957 -0
- package/assets/minecraft/versionMapping.json +16 -0
- package/dist/binary/decoder.d.ts +35 -0
- package/dist/binary/decoder.d.ts.map +1 -1
- package/dist/binary/decoder.js +665 -2
- package/dist/binary/decoder.js.map +1 -1
- package/dist/binary/encoder.d.ts +3 -3
- package/dist/binary/encoder.d.ts.map +1 -1
- package/dist/binary/encoder.js +4 -4
- package/dist/binary/encoder.js.map +1 -1
- package/dist/client/client.d.ts +178 -22
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +132 -13
- package/dist/client/client.js.map +1 -1
- package/dist/net/tcp.d.ts +6 -9
- package/dist/net/tcp.d.ts.map +1 -1
- package/dist/net/tcp.js +16 -19
- package/dist/net/tcp.js.map +1 -1
- package/dist/packet/listener.d.ts +6 -1
- package/dist/packet/listener.d.ts.map +1 -1
- package/dist/packet/listener.js +220 -60
- package/dist/packet/listener.js.map +1 -1
- package/dist/packet/sender.d.ts +4 -1
- package/dist/packet/sender.d.ts.map +1 -1
- package/dist/packet/sender.js +30 -4
- package/dist/packet/sender.js.map +1 -1
- package/dist/physics/aabb.d.ts.map +1 -1
- package/dist/physics/aabb.js +17 -9
- package/dist/physics/aabb.js.map +1 -1
- package/dist/physics/direction.js +2 -2
- package/dist/physics/direction.js.map +1 -1
- package/dist/physics/player.js +1 -5
- package/dist/physics/player.js.map +1 -1
- package/dist/version/codec.d.ts.map +1 -1
- package/dist/version/codec.js +63 -14
- package/dist/version/codec.js.map +1 -1
- package/dist/version/registry.d.ts +26 -5
- package/dist/version/registry.d.ts.map +1 -1
- package/dist/version/registry.js +78 -18
- package/dist/version/registry.js.map +1 -1
- package/dist/world/block.d.ts +54 -10
- package/dist/world/block.d.ts.map +1 -1
- package/dist/world/block.js +78 -32
- package/dist/world/block.js.map +1 -1
- package/dist/world/container.d.ts +106 -0
- package/dist/world/container.d.ts.map +1 -0
- package/dist/world/container.js +240 -0
- package/dist/world/container.js.map +1 -0
- package/dist/world/entity.d.ts +3 -0
- package/dist/world/entity.d.ts.map +1 -1
- package/dist/world/entity.js +3 -0
- package/dist/world/entity.js.map +1 -1
- package/dist/world/state.d.ts +11 -5
- package/dist/world/state.d.ts.map +1 -1
- package/dist/world/state.js +11 -0
- package/dist/world/state.js.map +1 -1
- package/package.json +2 -2
- package/src/binary/decoder.ts +691 -2
- package/src/binary/encoder.ts +8 -9
- package/src/client/client.ts +234 -34
- package/src/net/tcp.ts +27 -22
- package/src/packet/listener.ts +275 -76
- package/src/packet/sender.ts +42 -7
- package/src/physics/aabb.ts +18 -9
- package/src/physics/direction.ts +2 -2
- package/src/physics/player.ts +5 -5
- package/src/version/codec.ts +56 -14
- package/src/version/registry.ts +92 -18
- package/src/world/block.ts +83 -39
- package/src/world/container.ts +180 -0
- package/src/world/entity.ts +3 -0
- package/src/world/state.ts +21 -6
- package/test/client/index.ts +56 -21
- package/test/client/registry.json +1735 -0
|
@@ -17,7 +17,7 @@ export declare class EntityRegistry {
|
|
|
17
17
|
*
|
|
18
18
|
* Should be called once time
|
|
19
19
|
*/
|
|
20
|
-
static load(version: string):
|
|
20
|
+
static load(version: string): void;
|
|
21
21
|
/**
|
|
22
22
|
* Get an entity registy item
|
|
23
23
|
*/
|
|
@@ -42,7 +42,7 @@ export declare class BlockRegistry {
|
|
|
42
42
|
*
|
|
43
43
|
* Should be called once time
|
|
44
44
|
*/
|
|
45
|
-
static load(version: string):
|
|
45
|
+
static load(version: string): void;
|
|
46
46
|
/**
|
|
47
47
|
* Get a block registy item
|
|
48
48
|
*/
|
|
@@ -60,7 +60,18 @@ export declare class EffectRegistry {
|
|
|
60
60
|
*
|
|
61
61
|
* Should be called once time
|
|
62
62
|
*/
|
|
63
|
-
static load(version: string):
|
|
63
|
+
static load(version: string): void;
|
|
64
|
+
}
|
|
65
|
+
export declare class ComponentTypeRegistry {
|
|
66
|
+
private static loaded;
|
|
67
|
+
static readonly components: Record<string, number>;
|
|
68
|
+
static readonly idToName: Record<number, string>;
|
|
69
|
+
/**
|
|
70
|
+
* Load effects registry from JSON file.
|
|
71
|
+
*
|
|
72
|
+
* Should be called once time
|
|
73
|
+
*/
|
|
74
|
+
static load(version: string): void;
|
|
64
75
|
}
|
|
65
76
|
/** @hidden */
|
|
66
77
|
export declare const SupportTypes: z.ZodEnum<{
|
|
@@ -81,6 +92,7 @@ export declare const SupportTypes: z.ZodEnum<{
|
|
|
81
92
|
heightmap: "heightmap";
|
|
82
93
|
id_or_x: "id_or_x";
|
|
83
94
|
id_set: "id_set";
|
|
95
|
+
infer: "infer";
|
|
84
96
|
int: "int";
|
|
85
97
|
json_text: "json_text";
|
|
86
98
|
long: "long";
|
|
@@ -93,6 +105,8 @@ export declare const SupportTypes: z.ZodEnum<{
|
|
|
93
105
|
prefixed_array: "prefixed_array";
|
|
94
106
|
prefixed_optional: "prefixed_optional";
|
|
95
107
|
short: "short";
|
|
108
|
+
slot: "slot";
|
|
109
|
+
special: "special";
|
|
96
110
|
string: "string";
|
|
97
111
|
switch: "switch";
|
|
98
112
|
teleport_flag: "teleport_flag";
|
|
@@ -106,7 +120,7 @@ export declare const SupportTypes: z.ZodEnum<{
|
|
|
106
120
|
}>;
|
|
107
121
|
/** @hidden */
|
|
108
122
|
export type FieldNode = ({
|
|
109
|
-
type: Exclude<z.infer<typeof SupportTypes>, "prefixed_array" | "prefixed_optional" | "string" | "id_or_x" | "array" | "switch" | "fixed_point" | "enum" | "object" | "not_implemented" | "fixed_bitset" | "byte_array">;
|
|
123
|
+
type: Exclude<z.infer<typeof SupportTypes>, "prefixed_array" | "prefixed_optional" | "string" | "id_or_x" | "array" | "switch" | "fixed_point" | "enum" | "object" | "not_implemented" | "fixed_bitset" | "byte_array" | "special" | "infer">;
|
|
110
124
|
} | {
|
|
111
125
|
type: "not_implemented";
|
|
112
126
|
comment?: string | undefined;
|
|
@@ -139,6 +153,13 @@ export type FieldNode = ({
|
|
|
139
153
|
} | {
|
|
140
154
|
type: "fixed_bitset" | "byte_array";
|
|
141
155
|
length: number;
|
|
156
|
+
} | {
|
|
157
|
+
type: "special";
|
|
158
|
+
comment: string;
|
|
159
|
+
} | {
|
|
160
|
+
type: "infer";
|
|
161
|
+
args?: (string | number)[] | undefined;
|
|
162
|
+
function: string;
|
|
142
163
|
}) & {
|
|
143
164
|
skip_able?: boolean | undefined;
|
|
144
165
|
};
|
|
@@ -255,7 +276,7 @@ export declare class PacketRegistry {
|
|
|
255
276
|
*
|
|
256
277
|
* Should be called once time
|
|
257
278
|
*/
|
|
258
|
-
static load(version: string):
|
|
279
|
+
static load(version: string): void;
|
|
259
280
|
static getPacket(state: keyof z.infer<typeof VersionDefinitions>, type: keyof z.infer<typeof StatesDefinition>, id: string | number): z.infer<typeof PacketObject> | undefined;
|
|
260
281
|
}
|
|
261
282
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/version/registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,cAAc;AACd,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/version/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/version/registry.js
CHANGED
|
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.PacketRegistry = exports.VersionDefinitions = exports.StatesDefinition = exports.PacketsDefinition = exports.PacketObject = exports.Field = exports.SupportTypes = exports.EffectRegistry = exports.BlockRegistry = exports.EntityRegistry = exports.ProtocolVersionMapping = exports.SupportVersions = void 0;
|
|
7
|
-
const
|
|
6
|
+
exports.PacketRegistry = exports.VersionDefinitions = exports.StatesDefinition = exports.PacketsDefinition = exports.PacketObject = exports.Field = exports.SupportTypes = exports.ComponentTypeRegistry = exports.EffectRegistry = exports.BlockRegistry = exports.EntityRegistry = exports.ProtocolVersionMapping = exports.SupportVersions = void 0;
|
|
7
|
+
const node_fs_1 = require("node:fs");
|
|
8
8
|
const node_path_1 = require("node:path");
|
|
9
9
|
const error_1 = require("../base/error");
|
|
10
10
|
const block_1 = require("../world/block");
|
|
@@ -12,12 +12,24 @@ const zod_1 = __importDefault(require("zod"));
|
|
|
12
12
|
const BASE_REGISTRY_PATH = (0, node_path_1.join)(__dirname, "..", "..", "assets", "minecraft");
|
|
13
13
|
/** @hidden */
|
|
14
14
|
exports.SupportVersions = [
|
|
15
|
-
"26.2"
|
|
15
|
+
"26.2",
|
|
16
|
+
"26.3"
|
|
16
17
|
];
|
|
17
18
|
/** @hidden */
|
|
18
19
|
exports.ProtocolVersionMapping = {
|
|
19
|
-
"26.2": 776
|
|
20
|
+
"26.2": 776,
|
|
21
|
+
"26.3": 777
|
|
20
22
|
};
|
|
23
|
+
function getFile(version, module) {
|
|
24
|
+
const map = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(BASE_REGISTRY_PATH, "versionMapping.json"), "utf-8"));
|
|
25
|
+
if (!(version in map))
|
|
26
|
+
throw new error_1.VersionNotSupport(version);
|
|
27
|
+
const versionMap = map[version];
|
|
28
|
+
if (!(module in versionMap))
|
|
29
|
+
throw new error_1.VersionNotSupport(version);
|
|
30
|
+
const fileContent = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(BASE_REGISTRY_PATH, versionMap[module], `${module}.json`), "utf-8"));
|
|
31
|
+
return fileContent;
|
|
32
|
+
}
|
|
21
33
|
class EntityRegistry {
|
|
22
34
|
static loaded = false;
|
|
23
35
|
static data = {};
|
|
@@ -27,14 +39,13 @@ class EntityRegistry {
|
|
|
27
39
|
*
|
|
28
40
|
* Should be called once time
|
|
29
41
|
*/
|
|
30
|
-
static
|
|
42
|
+
static load(version) {
|
|
31
43
|
if (!exports.SupportVersions.includes(version))
|
|
32
44
|
throw new error_1.VersionNotSupport(version);
|
|
33
45
|
if (this.loaded)
|
|
34
46
|
return;
|
|
35
47
|
this.loaded = true;
|
|
36
|
-
const
|
|
37
|
-
const json = JSON.parse(file);
|
|
48
|
+
const json = getFile(version, "entities");
|
|
38
49
|
for (const entity in json) {
|
|
39
50
|
this.data[entity] = json[entity];
|
|
40
51
|
this.mapTypeToData[json[entity]["id"]] = entity;
|
|
@@ -70,14 +81,13 @@ class BlockRegistry {
|
|
|
70
81
|
*
|
|
71
82
|
* Should be called once time
|
|
72
83
|
*/
|
|
73
|
-
static
|
|
84
|
+
static load(version) {
|
|
74
85
|
if (!exports.SupportVersions.includes(version))
|
|
75
86
|
throw new error_1.VersionNotSupport(version);
|
|
76
87
|
if (this.loaded)
|
|
77
88
|
return;
|
|
78
89
|
this.loaded = true;
|
|
79
|
-
const
|
|
80
|
-
const json = JSON.parse(file);
|
|
90
|
+
const json = getFile(version, "blocks");
|
|
81
91
|
for (const [type, blockRaw] of Object.entries(json)) {
|
|
82
92
|
const block = new block_1.Block(type, blockRaw['definition'], blockRaw['properties'], blockRaw['states']);
|
|
83
93
|
this.blocks[type] = block;
|
|
@@ -112,20 +122,42 @@ class EffectRegistry {
|
|
|
112
122
|
*
|
|
113
123
|
* Should be called once time
|
|
114
124
|
*/
|
|
115
|
-
static
|
|
125
|
+
static load(version) {
|
|
116
126
|
if (!exports.SupportVersions.includes(version))
|
|
117
127
|
throw new error_1.VersionNotSupport(version);
|
|
118
128
|
if (this.loaded)
|
|
119
129
|
return;
|
|
120
130
|
this.loaded = true;
|
|
121
|
-
const
|
|
122
|
-
const json = JSON.parse(file);
|
|
131
|
+
const json = getFile(version, "effects");
|
|
123
132
|
for (const [name, id] of Object.entries(json)) {
|
|
124
133
|
this.effects[name] = id;
|
|
125
134
|
}
|
|
126
135
|
}
|
|
127
136
|
}
|
|
128
137
|
exports.EffectRegistry = EffectRegistry;
|
|
138
|
+
class ComponentTypeRegistry {
|
|
139
|
+
static loaded = false;
|
|
140
|
+
static components = {};
|
|
141
|
+
static idToName = {};
|
|
142
|
+
/**
|
|
143
|
+
* Load effects registry from JSON file.
|
|
144
|
+
*
|
|
145
|
+
* Should be called once time
|
|
146
|
+
*/
|
|
147
|
+
static load(version) {
|
|
148
|
+
if (!exports.SupportVersions.includes(version))
|
|
149
|
+
throw new error_1.VersionNotSupport(version);
|
|
150
|
+
if (this.loaded)
|
|
151
|
+
return;
|
|
152
|
+
this.loaded = true;
|
|
153
|
+
const json = getFile(version, "components");
|
|
154
|
+
for (const [name, id] of Object.entries(json)) {
|
|
155
|
+
this.components[name] = id;
|
|
156
|
+
this.idToName[id] = name;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.ComponentTypeRegistry = ComponentTypeRegistry;
|
|
129
161
|
/** @hidden */
|
|
130
162
|
exports.SupportTypes = zod_1.default.enum([
|
|
131
163
|
"byte",
|
|
@@ -165,7 +197,10 @@ exports.SupportTypes = zod_1.default.enum([
|
|
|
165
197
|
"bitset",
|
|
166
198
|
"fixed_bitset",
|
|
167
199
|
"byte_array",
|
|
200
|
+
"slot",
|
|
168
201
|
"null", // a constant
|
|
202
|
+
"special",
|
|
203
|
+
"infer",
|
|
169
204
|
/**
|
|
170
205
|
* This is used for handle field that its type depends on previous field type, or value
|
|
171
206
|
*/
|
|
@@ -174,7 +209,22 @@ exports.SupportTypes = zod_1.default.enum([
|
|
|
174
209
|
/** @hidden */
|
|
175
210
|
exports.Field = zod_1.default.union([
|
|
176
211
|
zod_1.default.object({
|
|
177
|
-
type: exports.SupportTypes.exclude([
|
|
212
|
+
type: exports.SupportTypes.exclude([
|
|
213
|
+
"prefixed_array",
|
|
214
|
+
"prefixed_optional",
|
|
215
|
+
"string",
|
|
216
|
+
"id_or_x",
|
|
217
|
+
"array",
|
|
218
|
+
"switch",
|
|
219
|
+
"fixed_point",
|
|
220
|
+
"enum",
|
|
221
|
+
"not_implemented",
|
|
222
|
+
"object",
|
|
223
|
+
"fixed_bitset",
|
|
224
|
+
"byte_array",
|
|
225
|
+
"special",
|
|
226
|
+
"infer"
|
|
227
|
+
]),
|
|
178
228
|
}),
|
|
179
229
|
zod_1.default.object({
|
|
180
230
|
type: zod_1.default.literal(["not_implemented"]),
|
|
@@ -196,7 +246,9 @@ exports.Field = zod_1.default.union([
|
|
|
196
246
|
length: zod_1.default.number().optional()
|
|
197
247
|
}),
|
|
198
248
|
zod_1.default.object({
|
|
199
|
-
type: zod_1.default.literal(["id_or_x",
|
|
249
|
+
type: zod_1.default.literal(["id_or_x",
|
|
250
|
+
"enum",
|
|
251
|
+
"prefixed_optional"]),
|
|
200
252
|
/**
|
|
201
253
|
* For case like `Array<subType>` or `PrefixedOptional<subType>`
|
|
202
254
|
*/
|
|
@@ -248,6 +300,15 @@ exports.Field = zod_1.default.union([
|
|
|
248
300
|
// These type require predefined-length
|
|
249
301
|
type: zod_1.default.union([zod_1.default.literal("fixed_bitset"), zod_1.default.literal("byte_array")]),
|
|
250
302
|
length: zod_1.default.int()
|
|
303
|
+
}),
|
|
304
|
+
zod_1.default.object({
|
|
305
|
+
type: zod_1.default.literal("special"),
|
|
306
|
+
comment: zod_1.default.string()
|
|
307
|
+
}),
|
|
308
|
+
zod_1.default.object({
|
|
309
|
+
type: zod_1.default.literal("infer"),
|
|
310
|
+
args: zod_1.default.string().or(zod_1.default.number()).array().optional(),
|
|
311
|
+
function: zod_1.default.string(),
|
|
251
312
|
})
|
|
252
313
|
])
|
|
253
314
|
.and(zod_1.default.object({
|
|
@@ -284,14 +345,13 @@ class PacketRegistry {
|
|
|
284
345
|
*
|
|
285
346
|
* Should be called once time
|
|
286
347
|
*/
|
|
287
|
-
static
|
|
348
|
+
static load(version) {
|
|
288
349
|
if (!exports.SupportVersions.includes(version))
|
|
289
350
|
throw new error_1.VersionNotSupport(version);
|
|
290
351
|
if (this.loaded)
|
|
291
352
|
return;
|
|
292
353
|
this.loaded = true;
|
|
293
|
-
const
|
|
294
|
-
const json = JSON.parse(file);
|
|
354
|
+
const json = getFile(version, "packets");
|
|
295
355
|
const definition = exports.VersionDefinitions.parse(json);
|
|
296
356
|
for (const [stateKey, state] of Object.entries(definition)) {
|
|
297
357
|
this.nameToId[stateKey] = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/version/registry.ts"],"names":[],"mappings":";;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/version/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/world/block.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { AABB, BaseAABB, VoxelShape } from "../physics/aabb";
|
|
2
2
|
import { BaseVec3, Direction, Vec3 } from "../physics/direction";
|
|
3
3
|
import { SharedState } from "./state";
|
|
4
|
+
export declare enum BlockFace {
|
|
5
|
+
Bottom = 0,
|
|
6
|
+
Top = 1,
|
|
7
|
+
North = 2,
|
|
8
|
+
South = 3,
|
|
9
|
+
West = 4,
|
|
10
|
+
East = 5
|
|
11
|
+
}
|
|
4
12
|
/**
|
|
5
13
|
* Represent a state of a block
|
|
6
14
|
*/
|
|
@@ -12,6 +20,9 @@ export declare class BlockState {
|
|
|
12
20
|
shape: VoxelShape;
|
|
13
21
|
constructor(owner: Block, id: string, properties: Record<string, any>, boxes: BaseAABB[]);
|
|
14
22
|
private get;
|
|
23
|
+
/**
|
|
24
|
+
* Get the block facing
|
|
25
|
+
*/
|
|
15
26
|
getFacing(): "north" | "south" | "west" | "east" | null;
|
|
16
27
|
}
|
|
17
28
|
/**
|
|
@@ -21,18 +32,50 @@ export declare class Block {
|
|
|
21
32
|
type: string;
|
|
22
33
|
definitions: Record<"type" | "block_set_type" | string, any>;
|
|
23
34
|
properties: Record<string, string[]>;
|
|
35
|
+
/**
|
|
36
|
+
* A block will have multiple states (example: a stair will have difference facing).
|
|
37
|
+
*/
|
|
24
38
|
states: BlockState[];
|
|
25
39
|
constructor(type: string, definitions: Record<"type" | "block_set_type" | string, any>, properties: Record<string, string[]>, states: Record<string, any> | BlockState[]);
|
|
26
40
|
private get;
|
|
27
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Get the block type.
|
|
43
|
+
*
|
|
44
|
+
* A block type will contain multiple blocks, like type `wall_sign` will have
|
|
45
|
+
* `oak_wall_sign`, `spruce_wall_sign`, `acacia_wall_sign`, etc...
|
|
46
|
+
*/
|
|
47
|
+
getType(): string;
|
|
48
|
+
/**
|
|
49
|
+
* Get the block friction.
|
|
50
|
+
*
|
|
51
|
+
* By default, block friction is 0.6, except for ice block family.
|
|
52
|
+
*/
|
|
28
53
|
getFriction(): number;
|
|
54
|
+
/**
|
|
55
|
+
* Get the block bounciness.
|
|
56
|
+
*
|
|
57
|
+
* By default, block friction is 0, except for slime block.
|
|
58
|
+
*/
|
|
29
59
|
getBounciness(): number;
|
|
60
|
+
/**
|
|
61
|
+
* Get the block speed factor.
|
|
62
|
+
*
|
|
63
|
+
* By default, block friction is 1, except for soul sand block.
|
|
64
|
+
*/
|
|
30
65
|
getSpeedFactor(): number;
|
|
66
|
+
/**
|
|
67
|
+
* Check if the block is climable.
|
|
68
|
+
*
|
|
69
|
+
* By default, block friction is false, except for ladder and vine.
|
|
70
|
+
*/
|
|
31
71
|
getClimbable(): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Get the block jump factor.
|
|
74
|
+
*/
|
|
32
75
|
getJumpFactor(): number;
|
|
33
76
|
}
|
|
34
77
|
/**
|
|
35
|
-
*
|
|
78
|
+
* This class is for fetching blocks and chunks data.
|
|
36
79
|
*/
|
|
37
80
|
export declare class BlockManager {
|
|
38
81
|
private state;
|
|
@@ -49,6 +92,13 @@ export declare class BlockManager {
|
|
|
49
92
|
at(position: BaseVec3): BlockState | null;
|
|
50
93
|
private getBlock;
|
|
51
94
|
private getWithCache;
|
|
95
|
+
/**
|
|
96
|
+
* Delete the chunk cache
|
|
97
|
+
*
|
|
98
|
+
* @param sx chunk x
|
|
99
|
+
* @param sy section y
|
|
100
|
+
* @param sz chunk z
|
|
101
|
+
*/
|
|
52
102
|
deleteChunkCache(sx: number, sy: number, sz: number): void;
|
|
53
103
|
private getWithoutCache;
|
|
54
104
|
private getLocalPosKey;
|
|
@@ -59,19 +109,14 @@ export declare class BlockManager {
|
|
|
59
109
|
*/
|
|
60
110
|
queryAABB(queryBB: AABB): VoxelShape[];
|
|
61
111
|
}
|
|
62
|
-
interface Context {
|
|
63
|
-
getBlockState: (position: BaseVec3) => VoxelShape;
|
|
64
|
-
from: Vec3;
|
|
65
|
-
to: Vec3;
|
|
66
|
-
}
|
|
67
112
|
/**
|
|
68
113
|
* For clipping math
|
|
69
114
|
*
|
|
70
115
|
* @hidden
|
|
71
116
|
*/
|
|
72
117
|
export declare class BlockGetter {
|
|
73
|
-
static clip(from: Vec3, to: Vec3,
|
|
74
|
-
static traverseBlocks<T, C
|
|
118
|
+
static clip(from: Vec3, to: Vec3, getBlockState: (position: BaseVec3) => VoxelShape): BlockHitResult | null;
|
|
119
|
+
static traverseBlocks<T, C>(from: Vec3, to: Vec3, context: C, consumer: (context: C, position: BaseVec3) => T, missFactory: (context: C) => T): T;
|
|
75
120
|
}
|
|
76
121
|
/**
|
|
77
122
|
* For clipping math
|
|
@@ -87,5 +132,4 @@ export declare class BlockHitResult {
|
|
|
87
132
|
static hit(location: Vec3, direction: Direction, pos: BaseVec3): BlockHitResult;
|
|
88
133
|
static miss(location: Vec3, direction: Direction, pos: BaseVec3): BlockHitResult;
|
|
89
134
|
}
|
|
90
|
-
export {};
|
|
91
135
|
//# sourceMappingURL=block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/world/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC;;GAEG;AACH,qBAAa,UAAU;IAIR,KAAK,EAAE,KAAK;IACZ,EAAE,EAAE,MAAM;IACV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC/B,KAAK,EAAE,QAAQ,EAAE;IANrB,KAAK,EAAE,UAAU,CAAC;IAEzB,YACW,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,KAAK,EAAE,QAAQ,EAAE,EAW3B;IAED,OAAO,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../src/world/block.ts"],"names":[],"mappings":"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"}
|