@minecraft/math 2.2.11 → 2.3.0

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 (46) hide show
  1. package/api-report/math.api.md +127 -0
  2. package/dist/minecraft-math.d.ts +1034 -431
  3. package/dist/minecraft-math.js +833 -6
  4. package/dist/minecraft-math.js.map +3 -3
  5. package/lib/__mocks__/minecraft-server.js +17 -0
  6. package/lib/__mocks__/minecraft-server.js.map +1 -0
  7. package/lib/src/aabb/coreHelpers.js +282 -0
  8. package/lib/src/aabb/coreHelpers.js.map +1 -0
  9. package/lib/src/aabb/coreHelpers.test.js +227 -0
  10. package/lib/src/aabb/coreHelpers.test.js.map +1 -0
  11. package/lib/src/aabb/index.js +4 -0
  12. package/lib/src/aabb/index.js.map +1 -0
  13. package/lib/src/general/clamp.js.map +1 -0
  14. package/lib/src/general/index.js.map +1 -0
  15. package/lib/{index.js → src/index.js} +1 -0
  16. package/lib/src/index.js.map +1 -0
  17. package/lib/src/index.test.js.map +1 -0
  18. package/lib/{vector3 → src/vector3}/coreHelpers.js +294 -2
  19. package/lib/src/vector3/coreHelpers.js.map +1 -0
  20. package/lib/src/vector3/coreHelpers.test.js +578 -0
  21. package/lib/src/vector3/coreHelpers.test.js.map +1 -0
  22. package/lib/src/vector3/index.js.map +1 -0
  23. package/lib/src/vector3/vectorWrapper.js +509 -0
  24. package/lib/src/vector3/vectorWrapper.js.map +1 -0
  25. package/lib/src/vector3/vectorWrapper.test.js +575 -0
  26. package/lib/src/vector3/vectorWrapper.test.js.map +1 -0
  27. package/lib/types/math-beta.d.ts +1034 -431
  28. package/lib/types/math-public.d.ts +1034 -431
  29. package/lib/types/math.d.ts +1034 -431
  30. package/package.json +1 -1
  31. package/lib/general/clamp.js.map +0 -1
  32. package/lib/general/index.js.map +0 -1
  33. package/lib/index.js.map +0 -1
  34. package/lib/index.test.js.map +0 -1
  35. package/lib/vector3/coreHelpers.js.map +0 -1
  36. package/lib/vector3/coreHelpers.test.js +0 -264
  37. package/lib/vector3/coreHelpers.test.js.map +0 -1
  38. package/lib/vector3/index.js.map +0 -1
  39. package/lib/vector3/vectorWrapper.js +0 -230
  40. package/lib/vector3/vectorWrapper.js.map +0 -1
  41. package/lib/vector3/vectorWrapper.test.js +0 -228
  42. package/lib/vector3/vectorWrapper.test.js.map +0 -1
  43. /package/lib/{general → src/general}/clamp.js +0 -0
  44. /package/lib/{general → src/general}/index.js +0 -0
  45. /package/lib/{index.test.js → src/index.test.js} +0 -0
  46. /package/lib/{vector3 → src/vector3}/index.js +0 -0
@@ -4,8 +4,35 @@
4
4
 
5
5
  ```ts
6
6
 
7
+ import type { AABB } from '@minecraft/server';
8
+ import { BlockVolume } from '@minecraft/server';
7
9
  import type { Vector2 } from '@minecraft/server';
8
10
  import type { Vector3 } from '@minecraft/server';
11
+ import type { VectorXZ } from '@minecraft/server';
12
+
13
+ // @public
14
+ export class AABBInvalidExtentError extends Error {
15
+ constructor(extent: Vector3);
16
+ }
17
+
18
+ // @public
19
+ export class AABBUtils {
20
+ static createFromCornerPoints(pointA: Vector3, pointB: Vector3): AABB;
21
+ static dilate(aabb: AABB, size: Vector3): AABB;
22
+ static EPSILON: number;
23
+ static equals(aabb: AABB, other: AABB): boolean;
24
+ static expand(aabb: AABB, other: AABB): AABB;
25
+ static getBlockVolume(aabb: AABB): BlockVolume;
26
+ static getIntersection(aabb: AABB, other: AABB): AABB | undefined;
27
+ static getMax(aabb: AABB): Vector3;
28
+ static getMin(aabb: AABB): Vector3;
29
+ static getSpan(aabb: AABB): Vector3;
30
+ static intersects(aabb: AABB, other: AABB): boolean;
31
+ static isInside(aabb: AABB, pos: Vector3): boolean;
32
+ static isValid(aabb: AABB): boolean;
33
+ static throwErrorIfInvalid(aabb: AABB): void;
34
+ static translate(aabb: AABB, delta: Vector3): AABB;
35
+ }
9
36
 
10
37
  // @public
11
38
  export function clampNumber(val: number, min: number, max: number): number;
@@ -18,6 +45,23 @@ export class Vector2Builder implements Vector2 {
18
45
  constructor(vecStr: string, delim?: string);
19
46
  constructor(vec: Vector2, arg?: never);
20
47
  constructor(x: number, y: number);
48
+ add(v: Partial<Vector2>): this;
49
+ assign(vec: Vector2): this;
50
+ clamp(limits: {
51
+ min?: Partial<Vector2>;
52
+ max?: Partial<Vector2>;
53
+ }): this;
54
+ distance(vec: Vector2): number;
55
+ dot(vec: Vector2): number;
56
+ equals(v: Vector2): boolean;
57
+ floor(): this;
58
+ lerp(vec: Vector2, t: number): this;
59
+ magnitude(): number;
60
+ multiply(vec: Vector2): this;
61
+ normalize(): this;
62
+ scale(val: number): this;
63
+ slerp(vec: Vector2, t: number): this;
64
+ subtract(v: Partial<Vector2>): this;
21
65
  // (undocumented)
22
66
  toString(options?: {
23
67
  decimals?: number;
@@ -31,7 +75,23 @@ export class Vector2Builder implements Vector2 {
31
75
 
32
76
  // @public
33
77
  export class Vector2Utils {
78
+ static add(v1: Vector2, v2: Partial<Vector2>): Vector2;
79
+ static clamp(v: Vector2, limits?: {
80
+ min?: Partial<Vector2>;
81
+ max?: Partial<Vector2>;
82
+ }): Vector2;
83
+ static distance(a: Vector2, b: Vector2): number;
84
+ static dot(a: Vector2, b: Vector2): number;
85
+ static equals(v1: Vector2, v2: Vector2): boolean;
86
+ static floor(v: Vector2): Vector2;
34
87
  static fromString(str: string, delimiter?: string): Vector2 | undefined;
88
+ static lerp(a: Vector2, b: Vector2, t: number): Vector2;
89
+ static magnitude(v: Vector2): number;
90
+ static multiply(a: Vector2, b: Vector2): Vector2;
91
+ static normalize(v: Vector2): Vector2;
92
+ static scale(v1: Vector2, scale: number): Vector2;
93
+ static slerp(a: Vector2, b: Vector2, t: number): Vector2;
94
+ static subtract(v1: Vector2, v2: Partial<Vector2>): Vector2;
35
95
  static toString(v: Vector2, options?: {
36
96
  decimals?: number;
37
97
  delimiter?: string;
@@ -87,6 +147,7 @@ export class Vector3Builder implements Vector3 {
87
147
  constructor(x: number, y: number, z: number);
88
148
  add(v: Partial<Vector3>): this;
89
149
  assign(vec: Vector3): this;
150
+ ceil(): this;
90
151
  clamp(limits: {
91
152
  min?: Partial<Vector3>;
92
153
  max?: Partial<Vector3>;
@@ -98,6 +159,8 @@ export class Vector3Builder implements Vector3 {
98
159
  floor(): this;
99
160
  lerp(vec: Vector3, t: number): this;
100
161
  magnitude(): number;
162
+ max(vec: Vector3): this;
163
+ min(vec: Vector3): this;
101
164
  multiply(vec: Vector3): this;
102
165
  normalize(): this;
103
166
  rotateX(a: number): this;
@@ -121,6 +184,7 @@ export class Vector3Builder implements Vector3 {
121
184
  // @public
122
185
  export class Vector3Utils {
123
186
  static add(v1: Vector3, v2: Partial<Vector3>): Vector3;
187
+ static ceil(v: Vector3): Vector3;
124
188
  static clamp(v: Vector3, limits?: {
125
189
  min?: Partial<Vector3>;
126
190
  max?: Partial<Vector3>;
@@ -133,6 +197,8 @@ export class Vector3Utils {
133
197
  static fromString(str: string, delimiter?: string): Vector3 | undefined;
134
198
  static lerp(a: Vector3, b: Vector3, t: number): Vector3;
135
199
  static magnitude(v: Vector3): number;
200
+ static max(a: Vector3, b: Vector3): Vector3;
201
+ static min(a: Vector3, b: Vector3): Vector3;
136
202
  static multiply(a: Vector3, b: Vector3): Vector3;
137
203
  static normalize(v: Vector3): Vector3;
138
204
  static rotateX(v: Vector3, a: number): Vector3;
@@ -147,6 +213,67 @@ export class Vector3Utils {
147
213
  }): string;
148
214
  }
149
215
 
216
+ // @public
217
+ export const VECTORXZ_ZERO: VectorXZ;
218
+
219
+ // @public
220
+ export class VectorXZBuilder implements VectorXZ {
221
+ constructor(vecStr: string, delim?: string);
222
+ constructor(vec: VectorXZ, arg?: never);
223
+ constructor(x: number, y: number);
224
+ add(v: Partial<VectorXZ>): this;
225
+ assign(vec: VectorXZ): this;
226
+ clamp(limits: {
227
+ min?: Partial<VectorXZ>;
228
+ max?: Partial<VectorXZ>;
229
+ }): this;
230
+ distance(vec: VectorXZ): number;
231
+ dot(vec: VectorXZ): number;
232
+ equals(v: VectorXZ): boolean;
233
+ floor(): this;
234
+ lerp(vec: VectorXZ, t: number): this;
235
+ magnitude(): number;
236
+ multiply(vec: VectorXZ): this;
237
+ normalize(): this;
238
+ scale(val: number): this;
239
+ slerp(vec: VectorXZ, t: number): this;
240
+ subtract(v: Partial<VectorXZ>): this;
241
+ // (undocumented)
242
+ toString(options?: {
243
+ decimals?: number;
244
+ delimiter?: string;
245
+ }): string;
246
+ // (undocumented)
247
+ x: number;
248
+ // (undocumented)
249
+ z: number;
250
+ }
251
+
252
+ // @public
253
+ export class VectorXZUtils {
254
+ static add(v1: VectorXZ, v2: Partial<VectorXZ>): VectorXZ;
255
+ static clamp(v: VectorXZ, limits?: {
256
+ min?: Partial<VectorXZ>;
257
+ max?: Partial<VectorXZ>;
258
+ }): VectorXZ;
259
+ static distance(a: VectorXZ, b: VectorXZ): number;
260
+ static dot(a: VectorXZ, b: VectorXZ): number;
261
+ static equals(v1: VectorXZ, v2: VectorXZ): boolean;
262
+ static floor(v: VectorXZ): VectorXZ;
263
+ static fromString(str: string, delimiter?: string): VectorXZ | undefined;
264
+ static lerp(a: VectorXZ, b: VectorXZ, t: number): VectorXZ;
265
+ static magnitude(v: VectorXZ): number;
266
+ static multiply(a: VectorXZ, b: VectorXZ): VectorXZ;
267
+ static normalize(v: VectorXZ): VectorXZ;
268
+ static scale(v1: VectorXZ, scale: number): VectorXZ;
269
+ static slerp(a: VectorXZ, b: VectorXZ, t: number): VectorXZ;
270
+ static subtract(v1: VectorXZ, v2: Partial<VectorXZ>): VectorXZ;
271
+ static toString(v: VectorXZ, options?: {
272
+ decimals?: number;
273
+ delimiter?: string;
274
+ }): string;
275
+ }
276
+
150
277
  // (No @packageDocumentation comment for this package)
151
278
 
152
279
  ```