@minecraft/math 2.2.10 → 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.
- package/api-report/math.api.md +127 -0
- package/dist/minecraft-math.d.ts +1034 -431
- package/dist/minecraft-math.js +833 -6
- package/dist/minecraft-math.js.map +3 -3
- package/lib/__mocks__/minecraft-server.js +17 -0
- package/lib/__mocks__/minecraft-server.js.map +1 -0
- package/lib/src/aabb/coreHelpers.js +282 -0
- package/lib/src/aabb/coreHelpers.js.map +1 -0
- package/lib/src/aabb/coreHelpers.test.js +227 -0
- package/lib/src/aabb/coreHelpers.test.js.map +1 -0
- package/lib/src/aabb/index.js +4 -0
- package/lib/src/aabb/index.js.map +1 -0
- package/lib/src/general/clamp.js.map +1 -0
- package/lib/src/general/index.js.map +1 -0
- package/lib/{index.js → src/index.js} +1 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/index.test.js.map +1 -0
- package/lib/{vector3 → src/vector3}/coreHelpers.js +294 -2
- package/lib/src/vector3/coreHelpers.js.map +1 -0
- package/lib/src/vector3/coreHelpers.test.js +578 -0
- package/lib/src/vector3/coreHelpers.test.js.map +1 -0
- package/lib/src/vector3/index.js.map +1 -0
- package/lib/src/vector3/vectorWrapper.js +509 -0
- package/lib/src/vector3/vectorWrapper.js.map +1 -0
- package/lib/src/vector3/vectorWrapper.test.js +575 -0
- package/lib/src/vector3/vectorWrapper.test.js.map +1 -0
- package/lib/types/math-beta.d.ts +1034 -431
- package/lib/types/math-public.d.ts +1034 -431
- package/lib/types/math.d.ts +1034 -431
- package/package.json +1 -1
- package/lib/general/clamp.js.map +0 -1
- package/lib/general/index.js.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/index.test.js.map +0 -1
- package/lib/vector3/coreHelpers.js.map +0 -1
- package/lib/vector3/coreHelpers.test.js +0 -264
- package/lib/vector3/coreHelpers.test.js.map +0 -1
- package/lib/vector3/index.js.map +0 -1
- package/lib/vector3/vectorWrapper.js +0 -230
- package/lib/vector3/vectorWrapper.js.map +0 -1
- package/lib/vector3/vectorWrapper.test.js +0 -228
- package/lib/vector3/vectorWrapper.test.js.map +0 -1
- /package/lib/{general → src/general}/clamp.js +0 -0
- /package/lib/{general → src/general}/index.js +0 -0
- /package/lib/{index.test.js → src/index.test.js} +0 -0
- /package/lib/{vector3 → src/vector3}/index.js +0 -0
package/package.json
CHANGED
package/lib/general/clamp.js.map
DELETED
|
@@ -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"}
|
package/lib/general/index.js.map
DELETED
|
@@ -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"}
|
package/lib/index.test.js.map
DELETED
|
@@ -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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"}
|
package/lib/vector3/index.js.map
DELETED
|
@@ -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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"}
|