@vaitosoi/minejs 0.2.1 → 0.2.2
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/base/aabb.d.ts +197 -0
- package/dist/base/aabb.d.ts.map +1 -0
- package/dist/base/aabb.js +576 -0
- package/dist/base/aabb.js.map +1 -0
- package/dist/base/bitset.d.ts +9 -0
- package/dist/base/bitset.d.ts.map +1 -0
- package/dist/base/bitset.js +46 -0
- package/dist/base/bitset.js.map +1 -0
- package/dist/base/block.d.ts +86 -0
- package/dist/base/block.d.ts.map +1 -0
- package/dist/base/block.js +232 -0
- package/dist/base/block.js.map +1 -0
- package/dist/base/direction.d.ts +153 -0
- package/dist/base/direction.d.ts.map +1 -0
- package/dist/base/direction.js +288 -0
- package/dist/base/direction.js.map +1 -0
- package/dist/base/entity.d.ts +43 -0
- package/dist/base/entity.d.ts.map +1 -0
- package/dist/base/entity.js +97 -0
- package/dist/base/entity.js.map +1 -0
- package/dist/base/error.d.ts +76 -0
- package/dist/base/error.d.ts.map +1 -0
- package/dist/base/error.js +141 -0
- package/dist/base/error.js.map +1 -0
- package/dist/base/event.d.ts +7 -0
- package/dist/base/event.d.ts.map +1 -0
- package/dist/base/event.js +3 -0
- package/dist/base/event.js.map +1 -0
- package/dist/base/math.d.ts +25 -0
- package/dist/base/math.d.ts.map +1 -0
- package/dist/base/math.js +69 -0
- package/dist/base/math.js.map +1 -0
- package/dist/base/player.d.ts +107 -0
- package/dist/base/player.d.ts.map +1 -0
- package/dist/base/player.js +543 -0
- package/dist/base/player.js.map +1 -0
- package/dist/base/registry.d.ts +50 -0
- package/dist/base/registry.d.ts.map +1 -0
- package/dist/base/registry.js +89 -0
- package/dist/base/registry.js.map +1 -0
- package/dist/base/tick.d.ts +19 -0
- package/dist/base/tick.d.ts.map +1 -0
- package/dist/base/tick.js +49 -0
- package/dist/base/tick.js.map +1 -0
- package/dist/base/typing.d.ts +3 -0
- package/dist/base/typing.d.ts.map +1 -0
- package/dist/base/typing.js +3 -0
- package/dist/base/typing.js.map +1 -0
- package/dist/client/auth.d.ts +39 -0
- package/dist/client/auth.d.ts.map +1 -0
- package/dist/client/auth.js +307 -0
- package/dist/client/auth.js.map +1 -0
- package/dist/client/client.d.ts +62 -0
- package/dist/client/client.d.ts.map +1 -0
- package/dist/client/client.js +98 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/static.d.ts +28 -0
- package/dist/client/static.d.ts.map +1 -0
- package/dist/client/static.js +43 -0
- package/dist/client/static.js.map +1 -0
- package/dist/client/tcp.d.ts +269 -0
- package/dist/client/tcp.d.ts.map +1 -0
- package/dist/client/tcp.js +838 -0
- package/dist/client/tcp.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/translator/decoder.d.ts +293 -0
- package/dist/translator/decoder.d.ts.map +1 -0
- package/dist/translator/decoder.js +668 -0
- package/dist/translator/decoder.js.map +1 -0
- package/dist/translator/encoder.d.ts +162 -0
- package/dist/translator/encoder.d.ts.map +1 -0
- package/dist/translator/encoder.js +430 -0
- package/dist/translator/encoder.js.map +1 -0
- package/dist/translator/static.d.ts +33 -0
- package/dist/translator/static.d.ts.map +1 -0
- package/dist/translator/static.js +42 -0
- package/dist/translator/static.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Direction = exports.AxisCycle = exports.Axis = exports.BaseAxis = exports.Vec3 = void 0;
|
|
4
|
+
class Vec3 {
|
|
5
|
+
static Zero = new Vec3(0, 0, 0);
|
|
6
|
+
static XAxis = new Vec3(1, 0, 0);
|
|
7
|
+
static YAxis = new Vec3(0, 1, 0);
|
|
8
|
+
static ZAxis = new Vec3(0, 0, 1);
|
|
9
|
+
/**
|
|
10
|
+
* Helper function for loading vec3 args
|
|
11
|
+
*/
|
|
12
|
+
static loadArgs(a, b, c) {
|
|
13
|
+
let x = 1, y = 1, z = 1;
|
|
14
|
+
if (typeof a === "object" && "x" in a) {
|
|
15
|
+
x = a.x;
|
|
16
|
+
y = a.y;
|
|
17
|
+
z = a.z;
|
|
18
|
+
}
|
|
19
|
+
else if (a !== undefined && b !== undefined && c !== undefined) {
|
|
20
|
+
x = a;
|
|
21
|
+
y = b;
|
|
22
|
+
z = c;
|
|
23
|
+
}
|
|
24
|
+
return { x, y, z };
|
|
25
|
+
}
|
|
26
|
+
x;
|
|
27
|
+
y;
|
|
28
|
+
z;
|
|
29
|
+
constructor(a, b, c) {
|
|
30
|
+
const { x, y, z } = Vec3.loadArgs(a, b, c);
|
|
31
|
+
this.x = x;
|
|
32
|
+
this.y = y;
|
|
33
|
+
this.z = z;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Copy this object
|
|
37
|
+
*/
|
|
38
|
+
copy() {
|
|
39
|
+
return new Vec3(this.copyBase());
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Copy but just return the base value, not the whole instance
|
|
43
|
+
*/
|
|
44
|
+
copyBase() {
|
|
45
|
+
return {
|
|
46
|
+
x: this.x,
|
|
47
|
+
y: this.y,
|
|
48
|
+
z: this.z,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
normalize() {
|
|
52
|
+
const d = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
|
|
53
|
+
return d < 1.0e-5 ? Vec3.Zero : new Vec3(this.x / d, this.y / d, this.z / d);
|
|
54
|
+
}
|
|
55
|
+
dot(a, b, c) {
|
|
56
|
+
const vec = Vec3.loadArgs(a, b, c);
|
|
57
|
+
return this.x * vec.x +
|
|
58
|
+
this.y * vec.y +
|
|
59
|
+
this.z * vec.z;
|
|
60
|
+
}
|
|
61
|
+
cross(a, b, c) {
|
|
62
|
+
const vec = Vec3.loadArgs(a, b, c);
|
|
63
|
+
return new Vec3(this.y * vec.z - this.z * vec.y, this.z * vec.x - this.x * vec.z, this.x * vec.y - this.y * vec.x);
|
|
64
|
+
}
|
|
65
|
+
add(a, b, c) {
|
|
66
|
+
const vec = Vec3.loadArgs(a, b, c);
|
|
67
|
+
const x = this.x + vec.x, y = this.y + vec.y, z = this.z + vec.z;
|
|
68
|
+
return new Vec3(x, y, z);
|
|
69
|
+
}
|
|
70
|
+
subtract(a, b, c) {
|
|
71
|
+
const vec = Vec3.loadArgs(a, b, c);
|
|
72
|
+
const x = this.x - vec.x, y = this.y - vec.y, z = this.z - vec.z;
|
|
73
|
+
return new Vec3(x, y, z);
|
|
74
|
+
}
|
|
75
|
+
multiply(a, b, c) {
|
|
76
|
+
let vec;
|
|
77
|
+
if ((a && b && c) || (typeof a === "object" && "x" in a))
|
|
78
|
+
vec = Vec3.loadArgs(a, b, c);
|
|
79
|
+
else
|
|
80
|
+
vec = { x: a, y: a, z: a };
|
|
81
|
+
const x = this.x * vec.x;
|
|
82
|
+
const y = this.y * vec.y;
|
|
83
|
+
const z = this.z * vec.z;
|
|
84
|
+
return new Vec3(x, y, z);
|
|
85
|
+
}
|
|
86
|
+
distanceTo(a, b, c) {
|
|
87
|
+
const vec = Vec3.loadArgs(a, b, c);
|
|
88
|
+
const d = vec.x - this.x;
|
|
89
|
+
const e = vec.y - this.y;
|
|
90
|
+
const f = vec.z - this.z;
|
|
91
|
+
return Math.sqrt(d * d + e * e + f * f);
|
|
92
|
+
}
|
|
93
|
+
distanceToSqr(a, b, c) {
|
|
94
|
+
const vec = Vec3.loadArgs(a, b, c);
|
|
95
|
+
const d = vec.x - this.x;
|
|
96
|
+
const e = vec.y - this.y;
|
|
97
|
+
const f = vec.z - this.z;
|
|
98
|
+
return d * d + e * e + f * f;
|
|
99
|
+
}
|
|
100
|
+
length() {
|
|
101
|
+
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
|
|
102
|
+
}
|
|
103
|
+
lengthSqr() {
|
|
104
|
+
return this.x * this.x + this.y * this.y + this.z * this.z;
|
|
105
|
+
}
|
|
106
|
+
equal(a, b, c) {
|
|
107
|
+
const vec = Vec3.loadArgs(a, b, c);
|
|
108
|
+
return this.x === vec.x &&
|
|
109
|
+
this.y === vec.y &&
|
|
110
|
+
this.z === vec.z;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Create new Vec3 with one updated value, keep the rest.
|
|
114
|
+
* @param axis
|
|
115
|
+
* @param value
|
|
116
|
+
*/
|
|
117
|
+
with(axis, value) {
|
|
118
|
+
const x = axis === BaseAxis.X ? value : this.x;
|
|
119
|
+
const y = axis === BaseAxis.Y ? value : this.y;
|
|
120
|
+
const z = axis === BaseAxis.Z ? value : this.z;
|
|
121
|
+
return new Vec3(x, y, z);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Get value of an axis
|
|
125
|
+
* @param axis
|
|
126
|
+
* @returns
|
|
127
|
+
*/
|
|
128
|
+
get(axis) {
|
|
129
|
+
return Axis.choose(axis, this.x, this.y, this.z);
|
|
130
|
+
}
|
|
131
|
+
horizontalDistance() {
|
|
132
|
+
return Math.sqrt((this.x * this.x) + (this.z * this.z));
|
|
133
|
+
}
|
|
134
|
+
horizontalDistanceSqr() {
|
|
135
|
+
return (this.x * this.x) + (this.z * this.z);
|
|
136
|
+
}
|
|
137
|
+
scale(val) {
|
|
138
|
+
return this.multiply(val);
|
|
139
|
+
}
|
|
140
|
+
isFinite() {
|
|
141
|
+
return isFinite(this.x) && isFinite(this.y) && isFinite(this.z);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.Vec3 = Vec3;
|
|
145
|
+
var BaseAxis;
|
|
146
|
+
(function (BaseAxis) {
|
|
147
|
+
BaseAxis[BaseAxis["X"] = 0] = "X";
|
|
148
|
+
BaseAxis[BaseAxis["Y"] = 1] = "Y";
|
|
149
|
+
BaseAxis[BaseAxis["Z"] = 2] = "Z";
|
|
150
|
+
})(BaseAxis || (exports.BaseAxis = BaseAxis = {}));
|
|
151
|
+
/** @hidden */
|
|
152
|
+
class Axis {
|
|
153
|
+
/**
|
|
154
|
+
* Helper function to return value corresponding to given axis
|
|
155
|
+
*/
|
|
156
|
+
static choose(axis, x, y, z) {
|
|
157
|
+
switch (axis) {
|
|
158
|
+
case BaseAxis.X: return x;
|
|
159
|
+
case BaseAxis.Y: return y;
|
|
160
|
+
case BaseAxis.Z: return z;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Collision math
|
|
165
|
+
*/
|
|
166
|
+
static stepOrder(x, z) {
|
|
167
|
+
if (Math.abs(x) < Math.abs(z))
|
|
168
|
+
return [BaseAxis.Y, BaseAxis.Z, BaseAxis.X];
|
|
169
|
+
return [BaseAxis.Y, BaseAxis.X, BaseAxis.Z];
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.Axis = Axis;
|
|
173
|
+
/**
|
|
174
|
+
* For collision math.
|
|
175
|
+
*
|
|
176
|
+
* This is for "rotating" the Axis
|
|
177
|
+
*
|
|
178
|
+
* @hidden
|
|
179
|
+
*/
|
|
180
|
+
class AxisCycle {
|
|
181
|
+
/**
|
|
182
|
+
* Don't rotate the Axis
|
|
183
|
+
*/
|
|
184
|
+
static NONE = new class extends AxisCycle {
|
|
185
|
+
cycle(axis) {
|
|
186
|
+
return axis;
|
|
187
|
+
}
|
|
188
|
+
cycleCoords(x, y, z, axis) {
|
|
189
|
+
return Axis.choose(axis, x, y, z);
|
|
190
|
+
}
|
|
191
|
+
inverse() {
|
|
192
|
+
return this;
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Move forward 1 unit
|
|
197
|
+
*/
|
|
198
|
+
static FORWARD = new class extends AxisCycle {
|
|
199
|
+
cycle(axis) {
|
|
200
|
+
return AxisCycle.Axises[(axis + 1) % 3];
|
|
201
|
+
}
|
|
202
|
+
cycleCoords(x, y, z, axis) {
|
|
203
|
+
return Axis.choose(axis, z, x, y);
|
|
204
|
+
}
|
|
205
|
+
inverse() {
|
|
206
|
+
return AxisCycle.BACKWARD;
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Move forward 2 units, or backward 1 unit
|
|
211
|
+
*
|
|
212
|
+
* For the name explaination, in a cyclic three-value array, move forward 2 steps equals step backward 1 step.
|
|
213
|
+
*
|
|
214
|
+
* Example:
|
|
215
|
+
* ```
|
|
216
|
+
* You are here
|
|
217
|
+
* v
|
|
218
|
+
* [0, 1, 2]
|
|
219
|
+
* ```
|
|
220
|
+
* Now move two:
|
|
221
|
+
* ```
|
|
222
|
+
* Now you are here
|
|
223
|
+
* v
|
|
224
|
+
* [0, 1, 2]
|
|
225
|
+
* ```
|
|
226
|
+
* Thats equal to, step one backward:
|
|
227
|
+
* ```
|
|
228
|
+
* you still here
|
|
229
|
+
* v
|
|
230
|
+
* [0, 1, 2]
|
|
231
|
+
* ```
|
|
232
|
+
*/
|
|
233
|
+
static BACKWARD = new class extends AxisCycle {
|
|
234
|
+
cycle(axis) {
|
|
235
|
+
return AxisCycle.Axises[(axis - 1 + 3) % 3];
|
|
236
|
+
}
|
|
237
|
+
cycleCoords(x, y, z, axis) {
|
|
238
|
+
return Axis.choose(axis, y, z, x);
|
|
239
|
+
}
|
|
240
|
+
inverse() {
|
|
241
|
+
return AxisCycle.FORWARD;
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
static Values = [this.NONE, this.FORWARD, this.BACKWARD];
|
|
245
|
+
static Axises = [BaseAxis.X, BaseAxis.Y, BaseAxis.Z];
|
|
246
|
+
static between(from, to) {
|
|
247
|
+
return this.Values[(to - from + 3) % 3];
|
|
248
|
+
}
|
|
249
|
+
static isAxis = true;
|
|
250
|
+
}
|
|
251
|
+
exports.AxisCycle = AxisCycle;
|
|
252
|
+
/**
|
|
253
|
+
* For clipping math
|
|
254
|
+
*
|
|
255
|
+
* @hidden
|
|
256
|
+
*/
|
|
257
|
+
class Direction {
|
|
258
|
+
index3D;
|
|
259
|
+
axis;
|
|
260
|
+
normal;
|
|
261
|
+
static DOWN = new Direction(0, BaseAxis.Y, new Vec3(0, -1, 0));
|
|
262
|
+
static UP = new Direction(1, BaseAxis.Y, new Vec3(0, 1, 0));
|
|
263
|
+
static NORTH = new Direction(2, BaseAxis.Z, new Vec3(0, 0, -1));
|
|
264
|
+
static SOUTH = new Direction(3, BaseAxis.Z, new Vec3(0, 0, 1));
|
|
265
|
+
static WEST = new Direction(4, BaseAxis.X, new Vec3(-1, 0, 0));
|
|
266
|
+
static EAST = new Direction(5, BaseAxis.X, new Vec3(1, 0, 0));
|
|
267
|
+
static Values = [this.DOWN, this.UP, this.NORTH, this.SOUTH, this.WEST, this.EAST];
|
|
268
|
+
constructor(index3D, axis, normal) {
|
|
269
|
+
this.index3D = index3D;
|
|
270
|
+
this.axis = axis;
|
|
271
|
+
this.normal = normal;
|
|
272
|
+
}
|
|
273
|
+
static getApproximateNearest(a, b, c) {
|
|
274
|
+
const { x: dx, y: dy, z: dz } = Vec3.loadArgs(a, b, c);
|
|
275
|
+
let result = this.NORTH;
|
|
276
|
+
let highestDot = Number.MIN_VALUE;
|
|
277
|
+
for (const direction of this.Values) {
|
|
278
|
+
const dot = (dx * direction.normal.x) + (dy * direction.normal.y) + (dz * direction.normal.z);
|
|
279
|
+
if (dot > highestDot) {
|
|
280
|
+
highestDot = dot;
|
|
281
|
+
result = direction;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return result;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
exports.Direction = Direction;
|
|
288
|
+
//# sourceMappingURL=direction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direction.js","sourceRoot":"","sources":["../../src/base/direction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TCPClient } from "../client/tcp";
|
|
2
|
+
import { AABB } from "./aabb";
|
|
3
|
+
export declare class EntitiesManager {
|
|
4
|
+
private tcp;
|
|
5
|
+
/**
|
|
6
|
+
* Split chunks into 16x16x16 sections, so each chunk sections will contain a set of entities
|
|
7
|
+
*
|
|
8
|
+
* A key is `{chunkSectionX}:{chunkSectionY}:{chunkSectionZ}`
|
|
9
|
+
*/
|
|
10
|
+
sections: Map<string, Set<number>>;
|
|
11
|
+
/**
|
|
12
|
+
* A map mapping entity ID to section key.
|
|
13
|
+
*/
|
|
14
|
+
entityToSection: Map<number, string>;
|
|
15
|
+
constructor(tcp: TCPClient);
|
|
16
|
+
/**
|
|
17
|
+
* Clear data
|
|
18
|
+
*/
|
|
19
|
+
wipe(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Convert real-world position into section key
|
|
22
|
+
*/
|
|
23
|
+
static getSectionKey(x: number, y: number, z: number): string;
|
|
24
|
+
/**
|
|
25
|
+
* Add an entity (represented by ID)
|
|
26
|
+
*/
|
|
27
|
+
add(entityId: number, x: number, y: number, z: number): void;
|
|
28
|
+
/**
|
|
29
|
+
* Remove entity
|
|
30
|
+
*/
|
|
31
|
+
remove(entityId: number): void;
|
|
32
|
+
/**
|
|
33
|
+
* Update entity position
|
|
34
|
+
*/
|
|
35
|
+
update(entityId: number, x: number, y: number, z: number): void;
|
|
36
|
+
/**
|
|
37
|
+
* Query the entity in the section that intersec with BB
|
|
38
|
+
* @param queryBB The querying bounding box
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
queryAABB(queryBB: AABB, exclude?: number[]): AABB[];
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/base/entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,eAAe;IAYZ,OAAO,CAAC,GAAG;IAXvB;;;;OAIG;IACI,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAa;IACtD;;OAEG;IACI,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAExD,YAAoB,GAAG,EAAE,SAAS,EAAK;IAEvC;;OAEG;IACI,IAAI,SAGV;IAED;;OAEG;IACH,OAAc,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAI1D;IAED;;OAEG;IACI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,QAK3D;IAED;;OAEG;IACI,MAAM,CAAC,QAAQ,EAAE,MAAM,QAM7B;IAED;;OAEG;IACI,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,QAM9D;IAED;;;;OAIG;IACI,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,GAAE,MAAM,EAAO,UAyBrD;CACJ"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EntitiesManager = void 0;
|
|
4
|
+
const aabb_1 = require("./aabb");
|
|
5
|
+
class EntitiesManager {
|
|
6
|
+
tcp;
|
|
7
|
+
/**
|
|
8
|
+
* Split chunks into 16x16x16 sections, so each chunk sections will contain a set of entities
|
|
9
|
+
*
|
|
10
|
+
* A key is `{chunkSectionX}:{chunkSectionY}:{chunkSectionZ}`
|
|
11
|
+
*/
|
|
12
|
+
sections = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* A map mapping entity ID to section key.
|
|
15
|
+
*/
|
|
16
|
+
entityToSection = new Map();
|
|
17
|
+
constructor(tcp) {
|
|
18
|
+
this.tcp = tcp;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Clear data
|
|
22
|
+
*/
|
|
23
|
+
wipe() {
|
|
24
|
+
this.sections = new Map();
|
|
25
|
+
this.entityToSection = new Map();
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Convert real-world position into section key
|
|
29
|
+
*/
|
|
30
|
+
static getSectionKey(x, y, z) {
|
|
31
|
+
// Divide 2^4 = 16
|
|
32
|
+
const sx = x >> 4, sy = y >> 4, sz = z >> 4;
|
|
33
|
+
return `${sx}:${sy}:${sz}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Add an entity (represented by ID)
|
|
37
|
+
*/
|
|
38
|
+
add(entityId, x, y, z) {
|
|
39
|
+
const key = EntitiesManager.getSectionKey(x, y, z);
|
|
40
|
+
if (!this.sections.has(key))
|
|
41
|
+
this.sections.set(key, new Set());
|
|
42
|
+
this.sections.get(key).add(entityId);
|
|
43
|
+
this.entityToSection.set(entityId, key);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Remove entity
|
|
47
|
+
*/
|
|
48
|
+
remove(entityId) {
|
|
49
|
+
const key = this.entityToSection.get(entityId);
|
|
50
|
+
if (key) {
|
|
51
|
+
this.sections.get(key)?.delete(entityId);
|
|
52
|
+
this.entityToSection.delete(entityId);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Update entity position
|
|
57
|
+
*/
|
|
58
|
+
update(entityId, x, y, z) {
|
|
59
|
+
const newKey = EntitiesManager.getSectionKey(x, y, z);
|
|
60
|
+
if (this.entityToSection.get(entityId) !== newKey) {
|
|
61
|
+
this.remove(entityId);
|
|
62
|
+
this.add(entityId, x, y, z);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Query the entity in the section that intersec with BB
|
|
67
|
+
* @param queryBB The querying bounding box
|
|
68
|
+
* @returns
|
|
69
|
+
*/
|
|
70
|
+
queryAABB(queryBB, exclude = []) {
|
|
71
|
+
this.tcp.checkReady();
|
|
72
|
+
const { minX, minY, minZ, maxX, maxY, maxZ } = queryBB;
|
|
73
|
+
const results = [];
|
|
74
|
+
const sx0 = minX >> 4, sx1 = maxX >> 4;
|
|
75
|
+
const sy0 = minY >> 4, sy1 = maxY >> 4;
|
|
76
|
+
const sz0 = minZ >> 4, sz1 = maxZ >> 4;
|
|
77
|
+
for (let sx = sx0; sx <= sx1; sx++) {
|
|
78
|
+
for (let sy = sy0; sy <= sy1; sy++) {
|
|
79
|
+
for (let sz = sz0; sz <= sz1; sz++) {
|
|
80
|
+
const bucket = this.sections.get(`${sx},${sy},${sz}`);
|
|
81
|
+
if (bucket)
|
|
82
|
+
for (const id of bucket) {
|
|
83
|
+
if (exclude.includes(id))
|
|
84
|
+
continue;
|
|
85
|
+
const entity = this.tcp.world.entities[id];
|
|
86
|
+
const entityBB = aabb_1.AABB.fromEntityType(entity.type);
|
|
87
|
+
if (queryBB.isIntersect(entityBB))
|
|
88
|
+
results.push(entityBB);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return results;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.EntitiesManager = EntitiesManager;
|
|
97
|
+
//# sourceMappingURL=entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/base/entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/** @hidden */
|
|
2
|
+
export declare class UnexpectedValue extends Error {
|
|
3
|
+
type: string;
|
|
4
|
+
got: string;
|
|
5
|
+
expect?: string | undefined;
|
|
6
|
+
constructor(type: string, got: string, expect?: string | undefined);
|
|
7
|
+
}
|
|
8
|
+
/** @hidden */
|
|
9
|
+
export declare class NumberTooBig extends Error {
|
|
10
|
+
number: number | bigint;
|
|
11
|
+
constructor(number: number | bigint);
|
|
12
|
+
}
|
|
13
|
+
/** @hidden */
|
|
14
|
+
export declare class StringSizeExceedLimit extends Error {
|
|
15
|
+
constructor();
|
|
16
|
+
}
|
|
17
|
+
/** @hidden */
|
|
18
|
+
export declare class InvalidValue extends Error {
|
|
19
|
+
type: string;
|
|
20
|
+
got: string;
|
|
21
|
+
constructor(type: string, got: string);
|
|
22
|
+
}
|
|
23
|
+
/** @hidden */
|
|
24
|
+
export declare class SockerIsNotWritable extends Error {
|
|
25
|
+
constructor();
|
|
26
|
+
}
|
|
27
|
+
/** @hidden */
|
|
28
|
+
export declare class CantGetMsAuthToken extends Error {
|
|
29
|
+
constructor();
|
|
30
|
+
}
|
|
31
|
+
/** @hidden */
|
|
32
|
+
export declare class CantGetMsAccessToken extends Error {
|
|
33
|
+
constructor();
|
|
34
|
+
}
|
|
35
|
+
/** @hidden */
|
|
36
|
+
export declare class AuthError extends Error {
|
|
37
|
+
error: string;
|
|
38
|
+
constructor(error: string);
|
|
39
|
+
}
|
|
40
|
+
/** @hidden */
|
|
41
|
+
export declare class XboxError extends Error {
|
|
42
|
+
code: string;
|
|
43
|
+
constructor(code: string);
|
|
44
|
+
}
|
|
45
|
+
/** @hidden */
|
|
46
|
+
export declare class ProfileNotFound extends Error {
|
|
47
|
+
constructor();
|
|
48
|
+
}
|
|
49
|
+
/** @hidden */
|
|
50
|
+
export declare class ProfileError extends Error {
|
|
51
|
+
code: string;
|
|
52
|
+
message: string;
|
|
53
|
+
constructor(code: string, message: string);
|
|
54
|
+
}
|
|
55
|
+
/** @hidden */
|
|
56
|
+
export declare class AuthDenied extends Error {
|
|
57
|
+
constructor();
|
|
58
|
+
}
|
|
59
|
+
/** @hidden */
|
|
60
|
+
export declare class AuthTokenExpired extends Error {
|
|
61
|
+
constructor();
|
|
62
|
+
}
|
|
63
|
+
/** @hidden */
|
|
64
|
+
export declare class MissingAuthOption extends Error {
|
|
65
|
+
constructor();
|
|
66
|
+
}
|
|
67
|
+
/** @hidden */
|
|
68
|
+
export declare class RegistryItemNotFound extends Error {
|
|
69
|
+
item: string;
|
|
70
|
+
constructor(item: string);
|
|
71
|
+
}
|
|
72
|
+
/** @hidden */
|
|
73
|
+
export declare class ClientNotReady extends Error {
|
|
74
|
+
constructor();
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/base/error.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,qBAAa,eAAgB,SAAQ,KAAK;IAE3B,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,MAAM,CAAC,EAAE,MAAM;IAH1B,YACW,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,YAAA,EAMzB;CACJ;AAED,cAAc;AACd,qBAAa,YAAa,SAAQ,KAAK;IAChB,MAAM,EAAE,MAAM,GAAG,MAAM;IAA1C,YAAmB,MAAM,EAAE,MAAM,GAAG,MAAM,EAEzC;CACJ;AAED,cAAc;AACd,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,YAAa,SAAQ,KAAK;IAChB,IAAI,EAAE,MAAM;IAAS,GAAG,EAAE,MAAM;IAAnD,YAAmB,IAAI,EAAE,MAAM,EAAS,GAAG,EAAE,MAAM,EAElD;CACJ;AAED,cAAc;AACd,qBAAa,mBAAoB,SAAQ,KAAK;IAC1C,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,kBAAmB,SAAQ,KAAK;IACzC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,oBAAqB,SAAQ,KAAK;IAC3C,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,SAAU,SAAQ,KAAK;IACb,KAAK,EAAE,MAAM;IAAhC,YAAmB,KAAK,EAAE,MAAM,EAE/B;CACJ;AAED,cAAc;AACd,qBAAa,SAAU,SAAQ,KAAK;IACb,IAAI,EAAE,MAAM;IAA/B,YAAmB,IAAI,EAAE,MAAM,EAE9B;CACJ;AAED,cAAc;AACd,qBAAa,eAAgB,SAAQ,KAAK;IACtC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,YAAa,SAAQ,KAAK;IAChB,IAAI,EAAE,MAAM;IAAS,OAAO,EAAE,MAAM;IAAvD,YAAmB,IAAI,EAAE,MAAM,EAAS,OAAO,EAAE,MAAM,EAEtD;CACJ;AAED,cAAc;AACd,qBAAa,UAAW,SAAQ,KAAK;IACjC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,iBAAkB,SAAQ,KAAK;IACxC,cAEC;CACJ;AAED,cAAc;AACd,qBAAa,oBAAqB,SAAQ,KAAK;IACxB,IAAI,EAAE,MAAM;IAA/B,YAAmB,IAAI,EAAE,MAAM,EAE9B;CACJ;AAED,cAAc;AACd,qBAAa,cAAe,SAAQ,KAAK;IACrC,cAEC;CACJ"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientNotReady = exports.RegistryItemNotFound = exports.MissingAuthOption = exports.AuthTokenExpired = exports.AuthDenied = exports.ProfileError = exports.ProfileNotFound = exports.XboxError = exports.AuthError = exports.CantGetMsAccessToken = exports.CantGetMsAuthToken = exports.SockerIsNotWritable = exports.InvalidValue = exports.StringSizeExceedLimit = exports.NumberTooBig = exports.UnexpectedValue = void 0;
|
|
4
|
+
/** @hidden */
|
|
5
|
+
class UnexpectedValue extends Error {
|
|
6
|
+
type;
|
|
7
|
+
got;
|
|
8
|
+
expect;
|
|
9
|
+
constructor(type, got, expect) {
|
|
10
|
+
this.type = type;
|
|
11
|
+
this.got = got;
|
|
12
|
+
this.expect = expect;
|
|
13
|
+
if (expect)
|
|
14
|
+
super(`unexpected value of ${type}, expect ${expect}, got ${got}`);
|
|
15
|
+
else
|
|
16
|
+
super(`unexpected value of ${type}: ${got}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.UnexpectedValue = UnexpectedValue;
|
|
20
|
+
/** @hidden */
|
|
21
|
+
class NumberTooBig extends Error {
|
|
22
|
+
number;
|
|
23
|
+
constructor(number) {
|
|
24
|
+
super("provided number is exceeded system limit (64 bits or 8 byte), got " + number.toString());
|
|
25
|
+
this.number = number;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.NumberTooBig = NumberTooBig;
|
|
29
|
+
/** @hidden */
|
|
30
|
+
class StringSizeExceedLimit extends Error {
|
|
31
|
+
constructor() {
|
|
32
|
+
super("read string size is exceed buffer limit");
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.StringSizeExceedLimit = StringSizeExceedLimit;
|
|
36
|
+
/** @hidden */
|
|
37
|
+
class InvalidValue extends Error {
|
|
38
|
+
type;
|
|
39
|
+
got;
|
|
40
|
+
constructor(type, got) {
|
|
41
|
+
super(`got invalid value for ${type}: ${got}`);
|
|
42
|
+
this.type = type;
|
|
43
|
+
this.got = got;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.InvalidValue = InvalidValue;
|
|
47
|
+
/** @hidden */
|
|
48
|
+
class SockerIsNotWritable extends Error {
|
|
49
|
+
constructor() {
|
|
50
|
+
super("socket is not writable, do you connect it before?");
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.SockerIsNotWritable = SockerIsNotWritable;
|
|
54
|
+
/** @hidden */
|
|
55
|
+
class CantGetMsAuthToken extends Error {
|
|
56
|
+
constructor() {
|
|
57
|
+
super("can't get microsoft auth token, maybe the responding request is invalid");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.CantGetMsAuthToken = CantGetMsAuthToken;
|
|
61
|
+
/** @hidden */
|
|
62
|
+
class CantGetMsAccessToken extends Error {
|
|
63
|
+
constructor() {
|
|
64
|
+
super("can't get microsoft access token");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.CantGetMsAccessToken = CantGetMsAccessToken;
|
|
68
|
+
/** @hidden */
|
|
69
|
+
class AuthError extends Error {
|
|
70
|
+
error;
|
|
71
|
+
constructor(error) {
|
|
72
|
+
super(`got oauth error: ${error}, for more info: https://datatracker.ietf.org/doc/html/rfc6749#section-5.2`);
|
|
73
|
+
this.error = error;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.AuthError = AuthError;
|
|
77
|
+
/** @hidden */
|
|
78
|
+
class XboxError extends Error {
|
|
79
|
+
code;
|
|
80
|
+
constructor(code) {
|
|
81
|
+
super(`xbox error code: ${code}`);
|
|
82
|
+
this.code = code;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.XboxError = XboxError;
|
|
86
|
+
/** @hidden */
|
|
87
|
+
class ProfileNotFound extends Error {
|
|
88
|
+
constructor() {
|
|
89
|
+
super("cant find your minecraft profile, do you own minecraft or set up the profile?");
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.ProfileNotFound = ProfileNotFound;
|
|
93
|
+
/** @hidden */
|
|
94
|
+
class ProfileError extends Error {
|
|
95
|
+
code;
|
|
96
|
+
message;
|
|
97
|
+
constructor(code, message) {
|
|
98
|
+
super(`profile error: ${code}: ${message}`);
|
|
99
|
+
this.code = code;
|
|
100
|
+
this.message = message;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.ProfileError = ProfileError;
|
|
104
|
+
/** @hidden */
|
|
105
|
+
class AuthDenied extends Error {
|
|
106
|
+
constructor() {
|
|
107
|
+
super("the authorization request was denied");
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.AuthDenied = AuthDenied;
|
|
111
|
+
/** @hidden */
|
|
112
|
+
class AuthTokenExpired extends Error {
|
|
113
|
+
constructor() {
|
|
114
|
+
super("device token is expired, please try again");
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.AuthTokenExpired = AuthTokenExpired;
|
|
118
|
+
/** @hidden */
|
|
119
|
+
class MissingAuthOption extends Error {
|
|
120
|
+
constructor() {
|
|
121
|
+
super("you need to provide auth option to be able to play in premium server");
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
exports.MissingAuthOption = MissingAuthOption;
|
|
125
|
+
/** @hidden */
|
|
126
|
+
class RegistryItemNotFound extends Error {
|
|
127
|
+
item;
|
|
128
|
+
constructor(item) {
|
|
129
|
+
super(`cant find registry item: ${item}`);
|
|
130
|
+
this.item = item;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.RegistryItemNotFound = RegistryItemNotFound;
|
|
134
|
+
/** @hidden */
|
|
135
|
+
class ClientNotReady extends Error {
|
|
136
|
+
constructor() {
|
|
137
|
+
super(`client is not ready`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.ClientNotReady = ClientNotReady;
|
|
141
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/base/error.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACd,qBAA6B,SAAQ,KAAK;IAE3B,IAAI;IACJ,GAAG;IACH,MAAM;IAHjB,YACW,IAAY,EACZ,GAAW,EACX,MAAe;oBAFf,IAAI;mBACJ,GAAG;sBACH,MAAM;QAEb,IAAI,MAAM;YACN,KAAK,CAAC,uBAAuB,IAAI,YAAY,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC;;YAEnE,KAAK,CAAC,uBAAuB,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;CACJ;;AAED,cAAc;AACd,kBAA0B,SAAQ,KAAK;IAChB,MAAM;IAAzB,YAAmB,MAAuB;QACtC,KAAK,CAAC,oEAAoE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;sBADjF,MAAM;IAEzB,CAAC;CACJ;;AAED,cAAc;AACd,2BAAmC,SAAQ,KAAK;IAC5C;QACI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IACrD,CAAC;CACJ;;AAED,cAAc;AACd,kBAA0B,SAAQ,KAAK;IAChB,IAAI;IAAiB,GAAG;IAA3C,YAAmB,IAAY,EAAS,GAAW;QAC/C,KAAK,CAAC,yBAAyB,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;oBADhC,IAAI;mBAAiB,GAAG;IAE3C,CAAC;CACJ;;AAED,cAAc;AACd,yBAAiC,SAAQ,KAAK;IAC1C;QACI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC/D,CAAC;CACJ;;AAED,cAAc;AACd,wBAAgC,SAAQ,KAAK;IACzC;QACI,KAAK,CAAC,yEAAyE,CAAC,CAAC;IACrF,CAAC;CACJ;;AAED,cAAc;AACd,0BAAkC,SAAQ,KAAK;IAC3C;QACI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9C,CAAC;CACJ;;AAED,cAAc;AACd,eAAuB,SAAQ,KAAK;IACb,KAAK;IAAxB,YAAmB,KAAa;QAC5B,KAAK,CAAC,oBAAoB,KAAK,4EAA4E,CAAC,CAAC;qBAD9F,KAAK;IAExB,CAAC;CACJ;;AAED,cAAc;AACd,eAAuB,SAAQ,KAAK;IACb,IAAI;IAAvB,YAAmB,IAAY;QAC3B,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;oBADnB,IAAI;IAEvB,CAAC;CACJ;;AAED,cAAc;AACd,qBAA6B,SAAQ,KAAK;IACtC;QACI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAC3F,CAAC;CACJ;;AAED,cAAc;AACd,kBAA0B,SAAQ,KAAK;IAChB,IAAI;IAAiB,OAAO;IAA/C,YAAmB,IAAY,EAAS,OAAe;QACnD,KAAK,CAAC,kBAAkB,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;oBAD7B,IAAI;uBAAiB,OAAO;IAE/C,CAAC;CACJ;;AAED,cAAc;AACd,gBAAwB,SAAQ,KAAK;IACjC;QACI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAClD,CAAC;CACJ;;AAED,cAAc;AACd,sBAA8B,SAAQ,KAAK;IACvC;QACI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IACvD,CAAC;CACJ;;AAED,cAAc;AACd,uBAA+B,SAAQ,KAAK;IACxC;QACI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAClF,CAAC;CACJ;;AAED,cAAc;AACd,0BAAkC,SAAQ,KAAK;IACxB,IAAI;IAAvB,YAAmB,IAAY;QAC3B,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;oBAD3B,IAAI;IAEvB,CAAC;CACJ;;AAED,cAAc;AACd,oBAA4B,SAAQ,KAAK;IACrC;QACI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC;CACJ"}
|