@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,197 @@
|
|
|
1
|
+
import { BitSet } from "./bitset";
|
|
2
|
+
import { AxisCycle, BaseAxis, BaseVec3, Direction, Vec3 } from "./direction";
|
|
3
|
+
import { BlockHitResult } from "./block";
|
|
4
|
+
export interface BaseAABB {
|
|
5
|
+
minX: number;
|
|
6
|
+
minY: number;
|
|
7
|
+
minZ: number;
|
|
8
|
+
maxX: number;
|
|
9
|
+
maxY: number;
|
|
10
|
+
maxZ: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class AABB implements BaseAABB {
|
|
13
|
+
minX: number;
|
|
14
|
+
minY: number;
|
|
15
|
+
minZ: number;
|
|
16
|
+
maxX: number;
|
|
17
|
+
maxY: number;
|
|
18
|
+
maxZ: number;
|
|
19
|
+
static readonly EntityBoundingBoxes: Record<string, AABB>;
|
|
20
|
+
/**
|
|
21
|
+
* Construct bounding box from entity namespace or type ID
|
|
22
|
+
* @param type Entity namespace or type ID
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
static fromEntityType(type: string | number): AABB;
|
|
26
|
+
/**
|
|
27
|
+
* Construct bounding box from given rectangle
|
|
28
|
+
* @param height
|
|
29
|
+
* @param width
|
|
30
|
+
* @returns
|
|
31
|
+
*/
|
|
32
|
+
static fromDimension(height: number, width: number): AABB;
|
|
33
|
+
/**
|
|
34
|
+
* Construct bounding box from base interface
|
|
35
|
+
* @param aabb
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
static fromAABB(aabb: BaseAABB): AABB;
|
|
39
|
+
constructor(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number);
|
|
40
|
+
/**
|
|
41
|
+
* Return a copy
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
copyBase(): BaseAABB;
|
|
45
|
+
/**
|
|
46
|
+
* Check if two AABB is equal
|
|
47
|
+
* @param aabb
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
equal(aabb: AABB): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Expand AABB toward a Vector
|
|
53
|
+
*/
|
|
54
|
+
expandTowards(x: number, y: number, z: number): AABB;
|
|
55
|
+
expandTowards(aabb: Vec3): AABB;
|
|
56
|
+
/**
|
|
57
|
+
* Shift this AABB by a given vector, or on the other word, shift each axis by given value
|
|
58
|
+
*/
|
|
59
|
+
move(x: number, y: number, z: number): AABB;
|
|
60
|
+
move(aabb: BaseVec3): AABB;
|
|
61
|
+
/**
|
|
62
|
+
* Is two AABB intersect each other
|
|
63
|
+
*/
|
|
64
|
+
isIntersect(other: AABB): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Get min value of an Axis
|
|
67
|
+
*/
|
|
68
|
+
min(axis: BaseAxis): number;
|
|
69
|
+
/**
|
|
70
|
+
* Get max value of an Axis
|
|
71
|
+
*/
|
|
72
|
+
max(axis: BaseAxis): number;
|
|
73
|
+
/**
|
|
74
|
+
* Cliping math. Find smallest distance to reach a face of this Shape, which contain multiple AABB.
|
|
75
|
+
*/
|
|
76
|
+
static clip(aabbs: AABB[], from: Vec3, to: BaseVec3, pos: BaseVec3): BlockHitResult | null;
|
|
77
|
+
/**
|
|
78
|
+
* Cliping math. Find smallest distance to reach a face of this AABB.
|
|
79
|
+
*/
|
|
80
|
+
static getDirection(aabb: BaseAABB, from: BaseVec3, delta: BaseVec3, direction_: Direction | null, scaleRef: [number]): Direction | null;
|
|
81
|
+
/**
|
|
82
|
+
* Calculate the clipping distance
|
|
83
|
+
*/
|
|
84
|
+
static clipPoint(direction: Direction | null, newDiretion: Direction, scaleRef: [number], delta: {
|
|
85
|
+
a: number;
|
|
86
|
+
b: number;
|
|
87
|
+
c: number;
|
|
88
|
+
}, point: number, minB: number, maxB: number, minC: number, maxC: number, fromA: number, fromB: number, fromC: number): Direction | null;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Basically, a VoxelShape it a set of multiple AABB.
|
|
92
|
+
*
|
|
93
|
+
* For example, a VoxelShape of a stair is constructed from 2 AABB, lower half and upper half.
|
|
94
|
+
*/
|
|
95
|
+
export declare class VoxelShape {
|
|
96
|
+
xs: number[];
|
|
97
|
+
ys: number[];
|
|
98
|
+
zs: number[];
|
|
99
|
+
static Empty: VoxelShape;
|
|
100
|
+
/**
|
|
101
|
+
* Construct VoxelShape from an AABB
|
|
102
|
+
*/
|
|
103
|
+
static fromBox(bb: BaseAABB): VoxelShape;
|
|
104
|
+
/**
|
|
105
|
+
* Merge two VoxelShape using `OR` operatior
|
|
106
|
+
*/
|
|
107
|
+
static or(a: VoxelShape, b: VoxelShape): VoxelShape;
|
|
108
|
+
static createMerger(first: number[], second: number[]): IndexMerger;
|
|
109
|
+
private storage;
|
|
110
|
+
constructor(xs: number[], ys: number[], zs: number[], cells: boolean[][][] | BitSet);
|
|
111
|
+
/**
|
|
112
|
+
* Make a copy
|
|
113
|
+
*/
|
|
114
|
+
copy(): VoxelShape;
|
|
115
|
+
/**
|
|
116
|
+
* Map an (X, Y, Z) index into storage or bitset index
|
|
117
|
+
*/
|
|
118
|
+
private getIndex;
|
|
119
|
+
/**
|
|
120
|
+
* Get coords acording to each axis
|
|
121
|
+
*/
|
|
122
|
+
getCoords(axis: BaseAxis): number[];
|
|
123
|
+
/**
|
|
124
|
+
* Is the cell at these index filled
|
|
125
|
+
*/
|
|
126
|
+
isFullWide(transform: AxisCycle, x: number, y: number, z: number): boolean;
|
|
127
|
+
isFullWide(x: number, y: number, z: number): boolean;
|
|
128
|
+
/**
|
|
129
|
+
* Get the number of cells of an axis
|
|
130
|
+
*/
|
|
131
|
+
getSize(axis: BaseAxis): number;
|
|
132
|
+
/**
|
|
133
|
+
* Real-world to cells index.
|
|
134
|
+
*
|
|
135
|
+
* The binary search mean: `Find the smallest number that larger than the provided coords`
|
|
136
|
+
*/
|
|
137
|
+
findIndex(axis: BaseAxis, coords: number): number;
|
|
138
|
+
/**
|
|
139
|
+
* Cells index to real world position
|
|
140
|
+
*/
|
|
141
|
+
get(axis: BaseAxis, index: number): number;
|
|
142
|
+
/**
|
|
143
|
+
* Is the whole shape is empty
|
|
144
|
+
*
|
|
145
|
+
* One cells filled, or return true, mean this is not empty
|
|
146
|
+
*/
|
|
147
|
+
isEmpty(): boolean;
|
|
148
|
+
/**
|
|
149
|
+
* Shift this Voxel shape by a given vector, or on the other word, shift each axis by given value
|
|
150
|
+
*/
|
|
151
|
+
move(x: number, y: number, z: number): VoxelShape;
|
|
152
|
+
move(position: BaseVec3): VoxelShape;
|
|
153
|
+
/**
|
|
154
|
+
* Collision math.
|
|
155
|
+
*
|
|
156
|
+
* The purpos of this function is to "rotate" the axis then feed to `collideX` function
|
|
157
|
+
*
|
|
158
|
+
* @see VoxelShape.collideX
|
|
159
|
+
*/
|
|
160
|
+
collide(axis: BaseAxis, moving: AABB, distance: number): number;
|
|
161
|
+
/**
|
|
162
|
+
* Collision math.
|
|
163
|
+
*
|
|
164
|
+
* I don't know how to explain this D:
|
|
165
|
+
*/
|
|
166
|
+
collideX(transform: AxisCycle, moving: AABB, distance: number): number;
|
|
167
|
+
/**
|
|
168
|
+
* Clipping math
|
|
169
|
+
*
|
|
170
|
+
* I don't know how to explain this either D:
|
|
171
|
+
*/
|
|
172
|
+
clip(from: Vec3, to: Vec3, pos: BaseVec3): BlockHitResult | null;
|
|
173
|
+
/**
|
|
174
|
+
* Convert this VoxelShape into AABBs
|
|
175
|
+
*/
|
|
176
|
+
toAABBs(): AABB[];
|
|
177
|
+
private forAllBoxes;
|
|
178
|
+
private isZStripFull;
|
|
179
|
+
private isXZRectangleFull;
|
|
180
|
+
private clearZStrip;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Helper class to do collision math
|
|
184
|
+
*
|
|
185
|
+
* @hidden
|
|
186
|
+
*/
|
|
187
|
+
export declare class Shapes {
|
|
188
|
+
static collide(axis: BaseAxis, moving: AABB, shapes: VoxelShape[], distance: number): number;
|
|
189
|
+
}
|
|
190
|
+
type IndexMergerConsumer = (i1: number, i2: number, ir: number) => void;
|
|
191
|
+
declare abstract class IndexMerger {
|
|
192
|
+
abstract forMergedIndex(consumer: IndexMergerConsumer): void;
|
|
193
|
+
abstract get size(): number;
|
|
194
|
+
abstract get list(): number[];
|
|
195
|
+
}
|
|
196
|
+
export {};
|
|
197
|
+
//# sourceMappingURL=aabb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aabb.d.ts","sourceRoot":"","sources":["../../src/base/aabb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAQ,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInF,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,IAAK,YAAW,QAAQ;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEpB,gBAAuB,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAM;IAEtE;;;;OAIG;IACH,OAAc,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,QAOjD;IAED;;;;;OAKG;IACH,OAAc,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QASxD;IAED;;;;OAIG;IACH,OAAc,QAAQ,CAAC,IAAI,EAAE,QAAQ,QASpC;IAED,YACI,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EAQb;IAED;;;OAGG;IACI,QAAQ,IAAI,QAAQ,CAS1B;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,IAAI,WAOtB;IAED;;OAEG;IACI,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAyBvC;;OAEG;IACI,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAOlC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,IAAI,WAI7B;IAED;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,QAAQ,UAMxB;IACD;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,QAAQ,UAMxB;IAED;;OAEG;IACH,OAAc,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,yBAWxE;IAED;;OAEG;IACH,OAAc,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,oBAmE3H;IAED;;OAEG;IACH,OAAc,SAAS,CACnB,SAAS,EAAE,SAAS,GAAG,IAAI,EAAE,WAAW,EAAE,SAAS,EACnD,QAAQ,EAAE,CAAC,MAAM,CAAC,EAClB,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAC1C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAC1B,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBA0B9C;CACJ;AAED;;;;GAIG;AACH,qBAAa,UAAU;IAkDR,EAAE,EAAE,MAAM,EAAE;IACZ,EAAE,EAAE,MAAM,EAAE;IACZ,EAAE,EAAE,MAAM,EAAE;IAnDvB,OAAc,KAAK,aAA2C;IAE9D;;OAEG;IACH,OAAc,OAAO,CAAC,EAAE,EAAE,QAAQ,cAMjC;IAED;;OAEG;IACH,OAAc,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,cAmB5C;IACD,OAAc,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAQzE;IAED,OAAO,CAAC,OAAO,CAAS;IAExB,YACW,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACZ,EAAE,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,MAAM,EAahC;IAED;;OAEG;IACI,IAAI,eAOV;IAED;;OAEG;IACH,OAAO,CAAC,QAAQ;IAIhB;;OAEG;IACI,SAAS,CAAC,IAAI,EAAE,QAAQ,YAE9B;IAED;;OAEG;IACI,UAAU,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1E,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAmB3D;;OAEG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,UAO5B;IAED;;;;OAIG;IACI,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAG9C;IACD;;OAEG;IACI,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,UAEvC;IAED;;;;OAIG;IACI,OAAO,YAEb;IAED;;OAEG;IACI,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAClD,IAAI,CAAC,QAAQ,EAAE,QAAQ,GAAG,UAAU,CAAC;IAW5C;;;;;;OAMG;IACI,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,UAE5D;IAED;;;;OAIG;IACI,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,UA+CnE;IAED;;;;OAIG;IACI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,yBAY9C;IAED;;OAEG;IACI,OAAO,WAIb;IACD,OAAO,CAAC,WAAW;IA6CnB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,WAAW;CAGtB;AAED;;;;GAIG;AACH,qBAAa,MAAM;IACf,OAAc,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKlG;CACJ;AAED,KAAK,mBAAmB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAExE,uBAAe,WAAW;IACtB,SAAgB,cAAc,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACpE,aAAoB,IAAI,IAAI,MAAM,CAAC;IACnC,aAAoB,IAAI,IAAI,MAAM,EAAE,CAAC;CACxC"}
|