@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minecraft/math",
3
- "version": "2.2.11",
3
+ "version": "2.3.0",
4
4
  "author": "Raphael Landaverde (rlanda@microsoft.com)",
5
5
  "contributors": [
6
6
  {
@@ -1 +0,0 @@
1
- {"version":3,"file":"clamp.js","sourceRoot":"","sources":["../../src/general/clamp.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,GAAW,EAAE,GAAW;IAC7D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/general/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,YAAY,CAAC"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IAClB,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"coreHelpers.js","sourceRoot":"","sources":["../../src/vector3/coreHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,264 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { describe, expect, it } from 'vitest';
4
- import { Vector2Utils, VECTOR3_LEFT, VECTOR3_UP, Vector3Utils } from './coreHelpers.js';
5
- describe('Vector3 operations', () => {
6
- const v1 = { x: 1, y: 2, z: 3 };
7
- const v2 = { x: 4, y: 5, z: 6 };
8
- it('successfully compares vectors', () => {
9
- const v3 = { x: 1, y: 2, z: 3 };
10
- expect(Vector3Utils.equals(v1, v3)).toBe(true);
11
- expect(Vector3Utils.equals(v1, v2)).toBe(false);
12
- });
13
- it('successfully adds vectors and returns a new vector', () => {
14
- const result = Vector3Utils.add(v1, v2);
15
- expect(result).toEqual({ x: 5, y: 7, z: 9 });
16
- expect(result).not.toBe(v1);
17
- });
18
- it('successfully subtracts vectors and returns a new vector', () => {
19
- const result = Vector3Utils.subtract(v1, v2);
20
- expect(result).toEqual({ x: -3, y: -3, z: -3 });
21
- expect(result).not.toBe(v1);
22
- });
23
- it('successfully scales a vector and returns a new vector', () => {
24
- const result = Vector3Utils.scale(v1, 2);
25
- expect(result).toEqual({ x: 2, y: 4, z: 6 });
26
- expect(result).not.toBe(v1);
27
- });
28
- it('successfully computes the dot product of a vector', () => {
29
- const result = Vector3Utils.dot(v1, v2);
30
- expect(result).toBe(32);
31
- });
32
- it('successfully computes the dot product of a vector with a 0 vector', () => {
33
- const result = Vector3Utils.dot(v1, { x: 0, y: 0, z: 0 });
34
- expect(result).toBe(0);
35
- });
36
- it('successfully computes the cross product of a vector and returns a new vector', () => {
37
- const result = Vector3Utils.cross(v1, v2);
38
- expect(result).toEqual({ x: -3, y: 6, z: -3 });
39
- expect(result).not.toBe(v1);
40
- expect(result).not.toBe(v2);
41
- });
42
- it('returns a zero vector for a cross product of parallel vectors', () => {
43
- const result = Vector3Utils.cross({ x: 3, y: 0, z: 0 }, { x: 7, y: 0, z: 0 });
44
- expect(result).toEqual({ x: 0, y: 0, z: 0 });
45
- });
46
- it('returns a zero vector for a cross product of with a zero vector', () => {
47
- const result = Vector3Utils.cross(v1, { x: 0, y: 0, z: 0 });
48
- expect(result).toEqual({ x: 0, y: 0, z: 0 });
49
- expect(result).not.toBe(v1);
50
- });
51
- it('returns the unit z vector for a cross product of unit x and unit y vectors', () => {
52
- const result = Vector3Utils.cross({ x: 1, y: 0, z: 0 }, { x: 0, y: 1, z: 0 });
53
- expect(result).toEqual({ x: 0, y: 0, z: 1 });
54
- });
55
- it('calculates the magnitude', () => {
56
- const result = Vector3Utils.magnitude(v1);
57
- expect(result).toBeCloseTo(3.74, 2);
58
- });
59
- it('calculates the distance between two vectors', () => {
60
- const result = Vector3Utils.distance(v1, v2);
61
- expect(result).toBeCloseTo(5.2, 2);
62
- });
63
- it('computes the floor of the vector', () => {
64
- const input = { x: 1.33, y: 2.14, z: 3.55 };
65
- const expected = { x: 1, y: 2, z: 3 };
66
- expect(Vector3Utils.floor(input)).toEqual(expected);
67
- });
68
- it('computes the floor of negative vectors', () => {
69
- const input = { x: -1.33, y: -2.14, z: -3.55 };
70
- const expected = { x: -2, y: -3, z: -4 };
71
- expect(Vector3Utils.floor(input)).toEqual(expected);
72
- });
73
- it('normalizes the vector', () => {
74
- const result = Vector3Utils.normalize(v1);
75
- expect(result.x).toBeCloseTo(0.27, 2);
76
- expect(result.y).toBeCloseTo(0.53, 2);
77
- expect(result.z).toBeCloseTo(0.8, 2);
78
- });
79
- it('converts a vector to a string with default options', () => {
80
- const vector = { x: 1, y: 2, z: 3 };
81
- const expectedString = '1.00, 2.00, 3.00';
82
- expect(Vector3Utils.toString(vector)).toBe(expectedString);
83
- expect(Vector3Utils.toString(vector, undefined)).toBe(expectedString);
84
- expect(Vector3Utils.toString(vector, { decimals: undefined, delimiter: undefined })).toBe(expectedString);
85
- });
86
- it('converts a vector to a string with overridden options', () => {
87
- const vector = { x: 1.23456789, y: 2.99, z: 3 };
88
- const expectedString1 = '1.2346|2.9900|3.0000'; // toFixed performs rounding
89
- expect(Vector3Utils.toString(vector, { decimals: 4, delimiter: '|' })).toBe(expectedString1);
90
- const expectedString2 = '1|3|3';
91
- expect(Vector3Utils.toString(vector, { decimals: 0, delimiter: '|' })).toBe(expectedString2);
92
- const expectedString3 = '1, 3, 3';
93
- expect(Vector3Utils.toString(vector, { decimals: 0 })).toBe(expectedString3);
94
- const expectedString4 = '1.23|2.99|3.00';
95
- expect(Vector3Utils.toString(vector, { delimiter: '|' })).toBe(expectedString4);
96
- });
97
- it('converts a vector2 to a string with default options', () => {
98
- const vector = { x: 1, y: 2 };
99
- const expectedString = '1.00, 2.00';
100
- expect(Vector2Utils.toString(vector)).toBe(expectedString);
101
- expect(Vector2Utils.toString(vector, undefined)).toBe(expectedString);
102
- expect(Vector2Utils.toString(vector, { decimals: undefined, delimiter: undefined })).toBe(expectedString);
103
- });
104
- it('converts a vector2 to a string with overridden options', () => {
105
- const vector = { x: 1.23456789, y: 2.99 };
106
- const expectedString1 = '1.2346|2.9900'; // toFixed performs rounding
107
- expect(Vector2Utils.toString(vector, { decimals: 4, delimiter: '|' })).toBe(expectedString1);
108
- const expectedString2 = '1|3';
109
- expect(Vector2Utils.toString(vector, { decimals: 0, delimiter: '|' })).toBe(expectedString2);
110
- const expectedString3 = '1, 3';
111
- expect(Vector2Utils.toString(vector, { decimals: 0 })).toBe(expectedString3);
112
- const expectedString4 = '1.23|2.99';
113
- expect(Vector2Utils.toString(vector, { delimiter: '|' })).toBe(expectedString4);
114
- });
115
- describe('fromString', () => {
116
- it('creates a vector3 from a string', () => {
117
- const inputString = '1.00, 2.00, 3.00';
118
- const expectedVector = { x: 1, y: 2, z: 3 };
119
- expect(Vector3Utils.fromString(inputString)).toEqual(expectedVector);
120
- });
121
- it('for a vector3 returns undefined for invalid formatting', () => {
122
- const invalidTooManyNumbers = '1.00, 2.00, 3.00, 345, 234234';
123
- const invalidIncorrectDelimiter = '1.00+ 2.00+ 3.00+ 345+ 234234';
124
- const invalidNonNumericElements = '1.00, wrong, 3.00, 3fgdf7, 234234';
125
- expect(Vector3Utils.fromString(invalidTooManyNumbers)).toBeUndefined();
126
- expect(Vector3Utils.fromString(invalidIncorrectDelimiter)).toBeUndefined();
127
- expect(Vector3Utils.fromString(invalidNonNumericElements)).toBeUndefined();
128
- });
129
- it('creates a vector3 from a string with an overridden delimiter', () => {
130
- const inputString = '1.00+ 2.00+ 3.00';
131
- const expectedVector = { x: 1, y: 2, z: 3 };
132
- expect(Vector3Utils.fromString(inputString, '+')).toEqual(expectedVector);
133
- });
134
- it('creates a vector2 from a string', () => {
135
- const inputString = '1.00, 2.00';
136
- const expectedVector = { x: 1, y: 2 };
137
- expect(Vector2Utils.fromString(inputString)).toEqual(expectedVector);
138
- });
139
- it('for a vector2 returns undefined for invalid formatting', () => {
140
- const invalidTooManyNumbers = '1.00, 2.00, 3.00, 345, 234234';
141
- const invalidIncorrectDelimiter = '1.00+ 2.00';
142
- const invalidNonNumericElements = 'fgdf7, 234234';
143
- expect(Vector2Utils.fromString(invalidTooManyNumbers)).toBeUndefined();
144
- expect(Vector2Utils.fromString(invalidIncorrectDelimiter)).toBeUndefined();
145
- expect(Vector2Utils.fromString(invalidNonNumericElements)).toBeUndefined();
146
- });
147
- it('creates a vector2 from a string with an overridden delimiter', () => {
148
- const inputString = '1.00+ 2.00';
149
- const expectedVector = { x: 1, y: 2 };
150
- expect(Vector2Utils.fromString(inputString, '+')).toEqual(expectedVector);
151
- });
152
- });
153
- describe('clamp', () => {
154
- const v = { x: 1, y: 1, z: 3 };
155
- const minVec = { x: 0, y: 1.5 };
156
- const maxVec = { x: 2, z: 2.5 };
157
- it('clamps with defaults (no min or max)', () => {
158
- const result = Vector3Utils.clamp(v);
159
- expect(result).toEqual({ x: 1, y: 1, z: 3 });
160
- });
161
- it('clamps properly with both min and max', () => {
162
- const result = Vector3Utils.clamp(v, { min: minVec, max: maxVec });
163
- expect(result).toEqual({ x: 1, y: 1.5, z: 2.5 });
164
- });
165
- it('clamps with min only', () => {
166
- const result = Vector3Utils.clamp(v, { min: minVec });
167
- expect(result).toEqual({ x: 1, y: 1.5, z: 3 });
168
- });
169
- it('clamps with max only', () => {
170
- const result = Vector3Utils.clamp(v, { max: maxVec });
171
- expect(result).toEqual({ x: 1, y: 1, z: 2.5 });
172
- });
173
- it('clamp with zero vector and positive mins and negative max', () => {
174
- const vZero = { x: 0, y: 0, z: 0 };
175
- const min = { y: 1.5 };
176
- const max = { z: -2.5 };
177
- const result = Vector3Utils.clamp(vZero, { min, max });
178
- expect(result).toEqual({ x: 0, y: 1.5, z: -2.5 });
179
- });
180
- // Test clamp function with large vector
181
- const vLarge = { x: 1e6, y: 1e6, z: 1e6 };
182
- it('clamp with large vector', () => {
183
- const result = Vector3Utils.clamp(vLarge, { min: minVec, max: maxVec });
184
- expect(result).toEqual({ x: 2, y: 1e6, z: 2.5 });
185
- });
186
- });
187
- it('calculates the lerp halfway between two vectors', () => {
188
- const result = Vector3Utils.lerp(v1, v2, 0.5);
189
- expect(result).toEqual({ x: 2.5, y: 3.5, z: 4.5 });
190
- });
191
- it('calculates the slerp halfway between two vectors', () => {
192
- const vecA = { x: 1, y: 0, z: 0 };
193
- const vecB = { x: 0, y: -1, z: 0 };
194
- const result = Vector3Utils.slerp(vecA, vecB, 0.5);
195
- expect(result.x).toBeCloseTo(0.7071, 3);
196
- expect(result.y).toBeCloseTo(-0.7071, 3);
197
- expect(result.z).toBeCloseTo(0);
198
- });
199
- it('calculates two vectors multiplied together', () => {
200
- const result = Vector3Utils.multiply(v1, v2);
201
- expect(result).toEqual({ x: 4, y: 10, z: 18 });
202
- });
203
- describe('Vector3 rotation functions', () => {
204
- it(`calculates a vector rotated along the x axis`, () => {
205
- const result = Vector3Utils.rotateX(VECTOR3_UP, Math.PI / 2);
206
- expect(result.x).toBeCloseTo(0);
207
- expect(result.y).toBeCloseTo(0);
208
- expect(result.z).toBeCloseTo(1);
209
- });
210
- it(`calculates a vector rotated along the y axis`, () => {
211
- const result = Vector3Utils.rotateY(VECTOR3_LEFT, Math.PI / 2);
212
- expect(result.x).toBeCloseTo(0);
213
- expect(result.y).toBeCloseTo(0);
214
- expect(result.z).toBeCloseTo(1);
215
- });
216
- it(`calculates a vector rotated along the z axis`, () => {
217
- const result = Vector3Utils.rotateZ(VECTOR3_UP, Math.PI / 2);
218
- expect(result.x).toBeCloseTo(-1);
219
- expect(result.y).toBeCloseTo(0);
220
- expect(result.z).toBeCloseTo(0);
221
- });
222
- });
223
- describe('Vector3 add partial', () => {
224
- it(`add a single axis`, () => {
225
- const result = Vector3Utils.add(VECTOR3_UP, { z: 4 });
226
- expect(result.x).toBeCloseTo(0);
227
- expect(result.y).toBeCloseTo(1);
228
- expect(result.z).toBeCloseTo(4);
229
- });
230
- it(`add two axis`, () => {
231
- const result = Vector3Utils.add(VECTOR3_UP, { z: 7, x: 2 });
232
- expect(result.x).toBeCloseTo(2);
233
- expect(result.y).toBeCloseTo(1);
234
- expect(result.z).toBeCloseTo(7);
235
- });
236
- it(`add all three axis`, () => {
237
- const result = Vector3Utils.add(VECTOR3_UP, { x: 8, y: 2, z: 3 });
238
- expect(result.x).toBeCloseTo(8);
239
- expect(result.y).toBeCloseTo(3);
240
- expect(result.z).toBeCloseTo(3);
241
- });
242
- });
243
- describe('Vector3 subtract partial', () => {
244
- it(`subtract a single axis`, () => {
245
- const result = Vector3Utils.subtract(VECTOR3_UP, { z: 4 });
246
- expect(result.x).toBeCloseTo(0);
247
- expect(result.y).toBeCloseTo(1);
248
- expect(result.z).toBeCloseTo(-4);
249
- });
250
- it(`subtract two axis`, () => {
251
- const result = Vector3Utils.subtract(VECTOR3_UP, { z: 7, x: 2 });
252
- expect(result.x).toBeCloseTo(-2);
253
- expect(result.y).toBeCloseTo(1);
254
- expect(result.z).toBeCloseTo(-7);
255
- });
256
- it(`subtract all three axis`, () => {
257
- const result = Vector3Utils.subtract(VECTOR3_UP, { x: 8, y: 2, z: 3 });
258
- expect(result.x).toBeCloseTo(-8);
259
- expect(result.y).toBeCloseTo(-1);
260
- expect(result.z).toBeCloseTo(-3);
261
- });
262
- });
263
- });
264
- //# sourceMappingURL=coreHelpers.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coreHelpers.test.js","sourceRoot":"","sources":["../../src/vector3/coreHelpers.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vector3/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
@@ -1,230 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- import { Vector2Utils, Vector3Utils } from './coreHelpers.js';
4
- /**
5
- * Vector3 wrapper class which can be used as a Vector3 for APIs on \@minecraft/server which require a Vector,
6
- * but also contain additional helper methods. This is an alternative to using the core Vector 3 utility
7
- * methods directly, for those who prefer a more object-oriented approach. This version of the class is mutable
8
- * and changes state inline.
9
- *
10
- * For an immutable version of the build, use ImmutableVector3Builder.
11
- *
12
- * @public
13
- */
14
- export class Vector3Builder {
15
- x;
16
- y;
17
- z;
18
- constructor(first, second, z) {
19
- if (typeof first === 'object') {
20
- this.x = first.x;
21
- this.y = first.y;
22
- this.z = first.z;
23
- }
24
- else if (typeof first === 'string') {
25
- const parsed = Vector3Utils.fromString(first, second ?? ',');
26
- if (!parsed) {
27
- this.x = 0;
28
- this.y = 0;
29
- this.z = 0;
30
- return;
31
- }
32
- this.x = parsed.x;
33
- this.y = parsed.y;
34
- this.z = parsed.z;
35
- }
36
- else {
37
- this.x = first;
38
- this.y = second ?? 0;
39
- this.z = z ?? 0;
40
- }
41
- }
42
- /**
43
- * Assigns the values of the passed in vector to this vector. Returns itself.
44
- */
45
- assign(vec) {
46
- this.x = vec.x;
47
- this.y = vec.y;
48
- this.z = vec.z;
49
- return this;
50
- }
51
- /**
52
- * equals
53
- *
54
- * Check the equality of two vectors
55
- */
56
- equals(v) {
57
- return Vector3Utils.equals(this, v);
58
- }
59
- /**
60
- * add
61
- *
62
- * Adds the vector v to this, returning itself.
63
- */
64
- add(v) {
65
- return this.assign(Vector3Utils.add(this, v));
66
- }
67
- /**
68
- * subtract
69
- *
70
- * Subtracts the vector v from this, returning itself.
71
- */
72
- subtract(v) {
73
- return this.assign(Vector3Utils.subtract(this, v));
74
- }
75
- /** scale
76
- *
77
- * Scales this by the passed in value, returning itself.
78
- */
79
- scale(val) {
80
- return this.assign(Vector3Utils.scale(this, val));
81
- }
82
- /**
83
- * dot
84
- *
85
- * Computes the dot product of this and the passed in vector.
86
- */
87
- dot(vec) {
88
- return Vector3Utils.dot(this, vec);
89
- }
90
- /**
91
- * cross
92
- *
93
- * Computes the cross product of this and the passed in vector, returning itself.
94
- */
95
- cross(vec) {
96
- return this.assign(Vector3Utils.cross(this, vec));
97
- }
98
- /**
99
- * magnitude
100
- *
101
- * The magnitude of the vector
102
- */
103
- magnitude() {
104
- return Vector3Utils.magnitude(this);
105
- }
106
- /**
107
- * distance
108
- *
109
- * Calculate the distance between two vectors
110
- */
111
- distance(vec) {
112
- return Vector3Utils.distance(this, vec);
113
- }
114
- /**
115
- * normalize
116
- *
117
- * Normalizes this vector, returning itself.
118
- */
119
- normalize() {
120
- return this.assign(Vector3Utils.normalize(this));
121
- }
122
- /**
123
- * floor
124
- *
125
- * Floor the components of a vector to produce a new vector
126
- */
127
- floor() {
128
- return this.assign(Vector3Utils.floor(this));
129
- }
130
- /**
131
- * toString
132
- *
133
- * Create a string representation of a vector
134
- */
135
- toString(options) {
136
- return Vector3Utils.toString(this, options);
137
- }
138
- /**
139
- * clamp
140
- *
141
- * Clamps the components of a vector to limits to produce a new vector
142
- */
143
- clamp(limits) {
144
- return this.assign(Vector3Utils.clamp(this, limits));
145
- }
146
- /**
147
- * lerp
148
- *
149
- * Constructs a new vector using linear interpolation on each component from two vectors.
150
- */
151
- lerp(vec, t) {
152
- return this.assign(Vector3Utils.lerp(this, vec, t));
153
- }
154
- /**
155
- * slerp
156
- *
157
- * Constructs a new vector using spherical linear interpolation on each component from two vectors.
158
- */
159
- slerp(vec, t) {
160
- return this.assign(Vector3Utils.slerp(this, vec, t));
161
- }
162
- /**
163
- * multiply
164
- *
165
- * Element-wise multiplication of two vectors together.
166
- * Not to be confused with {@link Vector3Builder.dot} product or {@link Vector3Builder.cross} product
167
- */
168
- multiply(vec) {
169
- return this.assign(Vector3Utils.multiply(this, vec));
170
- }
171
- /**
172
- * rotateX
173
- *
174
- * Rotates the vector around the x axis counterclockwise (left hand rule)
175
- * @param a - Angle in radians
176
- */
177
- rotateX(a) {
178
- return this.assign(Vector3Utils.rotateX(this, a));
179
- }
180
- /**
181
- * rotateY
182
- *
183
- * Rotates the vector around the y axis counterclockwise (left hand rule)
184
- * @param a - Angle in radians
185
- */
186
- rotateY(a) {
187
- return this.assign(Vector3Utils.rotateY(this, a));
188
- }
189
- /**
190
- * rotateZ
191
- *
192
- * Rotates the vector around the z axis counterclockwise (left hand rule)
193
- * @param a - Angle in radians
194
- */
195
- rotateZ(a) {
196
- return this.assign(Vector3Utils.rotateZ(this, a));
197
- }
198
- }
199
- /**
200
- * Vector2 wrapper class which can be used as a Vector2 for APIs on \@minecraft/server which require a Vector2.
201
- * @public
202
- */
203
- export class Vector2Builder {
204
- x;
205
- y;
206
- constructor(first, second) {
207
- if (typeof first === 'object') {
208
- this.x = first.x;
209
- this.y = first.y;
210
- }
211
- else if (typeof first === 'string') {
212
- const parsed = Vector2Utils.fromString(first, second ?? ',');
213
- if (!parsed) {
214
- this.x = 0;
215
- this.y = 0;
216
- return;
217
- }
218
- this.x = parsed.x;
219
- this.y = parsed.y;
220
- }
221
- else {
222
- this.x = first;
223
- this.y = second ?? 0;
224
- }
225
- }
226
- toString(options) {
227
- return Vector2Utils.toString(this, options);
228
- }
229
- }
230
- //# sourceMappingURL=vectorWrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vectorWrapper.js","sourceRoot":"","sources":["../../src/vector3/vectorWrapper.ts"],"names":[],"mappings":"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"}