@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.
Files changed (80) hide show
  1. package/dist/base/aabb.d.ts +197 -0
  2. package/dist/base/aabb.d.ts.map +1 -0
  3. package/dist/base/aabb.js +576 -0
  4. package/dist/base/aabb.js.map +1 -0
  5. package/dist/base/bitset.d.ts +9 -0
  6. package/dist/base/bitset.d.ts.map +1 -0
  7. package/dist/base/bitset.js +46 -0
  8. package/dist/base/bitset.js.map +1 -0
  9. package/dist/base/block.d.ts +86 -0
  10. package/dist/base/block.d.ts.map +1 -0
  11. package/dist/base/block.js +232 -0
  12. package/dist/base/block.js.map +1 -0
  13. package/dist/base/direction.d.ts +153 -0
  14. package/dist/base/direction.d.ts.map +1 -0
  15. package/dist/base/direction.js +288 -0
  16. package/dist/base/direction.js.map +1 -0
  17. package/dist/base/entity.d.ts +43 -0
  18. package/dist/base/entity.d.ts.map +1 -0
  19. package/dist/base/entity.js +97 -0
  20. package/dist/base/entity.js.map +1 -0
  21. package/dist/base/error.d.ts +76 -0
  22. package/dist/base/error.d.ts.map +1 -0
  23. package/dist/base/error.js +141 -0
  24. package/dist/base/error.js.map +1 -0
  25. package/dist/base/event.d.ts +7 -0
  26. package/dist/base/event.d.ts.map +1 -0
  27. package/dist/base/event.js +3 -0
  28. package/dist/base/event.js.map +1 -0
  29. package/dist/base/math.d.ts +25 -0
  30. package/dist/base/math.d.ts.map +1 -0
  31. package/dist/base/math.js +69 -0
  32. package/dist/base/math.js.map +1 -0
  33. package/dist/base/player.d.ts +107 -0
  34. package/dist/base/player.d.ts.map +1 -0
  35. package/dist/base/player.js +543 -0
  36. package/dist/base/player.js.map +1 -0
  37. package/dist/base/registry.d.ts +50 -0
  38. package/dist/base/registry.d.ts.map +1 -0
  39. package/dist/base/registry.js +89 -0
  40. package/dist/base/registry.js.map +1 -0
  41. package/dist/base/tick.d.ts +19 -0
  42. package/dist/base/tick.d.ts.map +1 -0
  43. package/dist/base/tick.js +49 -0
  44. package/dist/base/tick.js.map +1 -0
  45. package/dist/base/typing.d.ts +3 -0
  46. package/dist/base/typing.d.ts.map +1 -0
  47. package/dist/base/typing.js +3 -0
  48. package/dist/base/typing.js.map +1 -0
  49. package/dist/client/auth.d.ts +39 -0
  50. package/dist/client/auth.d.ts.map +1 -0
  51. package/dist/client/auth.js +307 -0
  52. package/dist/client/auth.js.map +1 -0
  53. package/dist/client/client.d.ts +62 -0
  54. package/dist/client/client.d.ts.map +1 -0
  55. package/dist/client/client.js +98 -0
  56. package/dist/client/client.js.map +1 -0
  57. package/dist/client/static.d.ts +28 -0
  58. package/dist/client/static.d.ts.map +1 -0
  59. package/dist/client/static.js +43 -0
  60. package/dist/client/static.js.map +1 -0
  61. package/dist/client/tcp.d.ts +269 -0
  62. package/dist/client/tcp.d.ts.map +1 -0
  63. package/dist/client/tcp.js +838 -0
  64. package/dist/client/tcp.js.map +1 -0
  65. package/dist/index.d.ts +21 -0
  66. package/dist/index.d.ts.map +1 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/translator/decoder.d.ts +293 -0
  69. package/dist/translator/decoder.d.ts.map +1 -0
  70. package/dist/translator/decoder.js +668 -0
  71. package/dist/translator/decoder.js.map +1 -0
  72. package/dist/translator/encoder.d.ts +162 -0
  73. package/dist/translator/encoder.d.ts.map +1 -0
  74. package/dist/translator/encoder.js +430 -0
  75. package/dist/translator/encoder.js.map +1 -0
  76. package/dist/translator/static.d.ts +33 -0
  77. package/dist/translator/static.d.ts.map +1 -0
  78. package/dist/translator/static.js +42 -0
  79. package/dist/translator/static.js.map +1 -0
  80. 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":"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"}