@minecraft/math 1.0.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.
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ // Copyright (c) Mojang AB. All rights reserved.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const vitest_1 = require("vitest");
5
+ const coreHelpers_1 = require("./coreHelpers");
6
+ (0, vitest_1.describe)('Vector3 operations', () => {
7
+ const v1 = { x: 1, y: 2, z: 3 };
8
+ const v2 = { x: 4, y: 5, z: 6 };
9
+ (0, vitest_1.it)('successfully compares vectors', () => {
10
+ const v3 = { x: 1, y: 2, z: 3 };
11
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.equals(v1, v3)).toBe(true);
12
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.equals(v1, v2)).toBe(false);
13
+ });
14
+ (0, vitest_1.it)('successfully adds vectors and returns a new vector', () => {
15
+ const result = coreHelpers_1.Vector3Utils.add(v1, v2);
16
+ (0, vitest_1.expect)(result).toEqual({ x: 5, y: 7, z: 9 });
17
+ (0, vitest_1.expect)(result).not.toBe(v1);
18
+ });
19
+ (0, vitest_1.it)('successfully subtracts vectors and returns a new vector', () => {
20
+ const result = coreHelpers_1.Vector3Utils.subtract(v1, v2);
21
+ (0, vitest_1.expect)(result).toEqual({ x: -3, y: -3, z: -3 });
22
+ (0, vitest_1.expect)(result).not.toBe(v1);
23
+ });
24
+ (0, vitest_1.it)('successfully scales a vector and returns a new vector', () => {
25
+ const result = coreHelpers_1.Vector3Utils.scale(v1, 2);
26
+ (0, vitest_1.expect)(result).toEqual({ x: 2, y: 4, z: 6 });
27
+ (0, vitest_1.expect)(result).not.toBe(v1);
28
+ });
29
+ (0, vitest_1.it)('successfully computes the dot product of a vector', () => {
30
+ const result = coreHelpers_1.Vector3Utils.dot(v1, v2);
31
+ (0, vitest_1.expect)(result).toBe(32);
32
+ });
33
+ (0, vitest_1.it)('successfully computes the dot product of a vector with a 0 vector', () => {
34
+ const result = coreHelpers_1.Vector3Utils.dot(v1, { x: 0, y: 0, z: 0 });
35
+ (0, vitest_1.expect)(result).toBe(0);
36
+ });
37
+ (0, vitest_1.it)('successfully computes the cross product of a vector and returns a new vector', () => {
38
+ const result = coreHelpers_1.Vector3Utils.cross(v1, v2);
39
+ (0, vitest_1.expect)(result).toEqual({ x: -3, y: 6, z: -3 });
40
+ (0, vitest_1.expect)(result).not.toBe(v1);
41
+ (0, vitest_1.expect)(result).not.toBe(v2);
42
+ });
43
+ (0, vitest_1.it)('returns a zero vector for a cross product of parallel vectors', () => {
44
+ const result = coreHelpers_1.Vector3Utils.cross({ x: 3, y: 0, z: 0 }, { x: 7, y: 0, z: 0 });
45
+ (0, vitest_1.expect)(result).toEqual({ x: 0, y: 0, z: 0 });
46
+ });
47
+ (0, vitest_1.it)('returns a zero vector for a cross product of with a zero vector', () => {
48
+ const result = coreHelpers_1.Vector3Utils.cross(v1, { x: 0, y: 0, z: 0 });
49
+ (0, vitest_1.expect)(result).toEqual({ x: 0, y: 0, z: 0 });
50
+ (0, vitest_1.expect)(result).not.toBe(v1);
51
+ });
52
+ (0, vitest_1.it)('returns the unit z vector for a cross product of unit x and unit y vectors', () => {
53
+ const result = coreHelpers_1.Vector3Utils.cross({ x: 1, y: 0, z: 0 }, { x: 0, y: 1, z: 0 });
54
+ (0, vitest_1.expect)(result).toEqual({ x: 0, y: 0, z: 1 });
55
+ });
56
+ (0, vitest_1.it)('calculates the magnitude', () => {
57
+ const result = coreHelpers_1.Vector3Utils.magnitude(v1);
58
+ (0, vitest_1.expect)(result).toBeCloseTo(3.74, 2);
59
+ });
60
+ (0, vitest_1.it)('computes the floor of the vector', () => {
61
+ const input = { x: 1.33, y: 2.14, z: 3.55 };
62
+ const expected = { x: 1, y: 2, z: 3 };
63
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.floor(input)).toEqual(expected);
64
+ });
65
+ (0, vitest_1.it)('computes the floor of negative vectors', () => {
66
+ const input = { x: -1.33, y: -2.14, z: -3.55 };
67
+ const expected = { x: -2, y: -3, z: -4 };
68
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.floor(input)).toEqual(expected);
69
+ });
70
+ (0, vitest_1.it)('normalizes the vector', () => {
71
+ const result = coreHelpers_1.Vector3Utils.normalize(v1);
72
+ (0, vitest_1.expect)(result.x).toBeCloseTo(0.27, 2);
73
+ (0, vitest_1.expect)(result.y).toBeCloseTo(0.53, 2);
74
+ (0, vitest_1.expect)(result.z).toBeCloseTo(0.8, 2);
75
+ });
76
+ (0, vitest_1.it)('converts a vector to a string with default options', () => {
77
+ const vector = { x: 1, y: 2, z: 3 };
78
+ const expectedString = '1.00, 2.00, 3.00';
79
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector)).toBe(expectedString);
80
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, undefined)).toBe(expectedString);
81
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { decimals: undefined, delimiter: undefined })).toBe(expectedString);
82
+ });
83
+ (0, vitest_1.it)('converts a vector to a string with overridden options', () => {
84
+ const vector = { x: 1.23456789, y: 2.99, z: 3 };
85
+ const expectedString1 = '1.2346|2.9900|3.0000'; // toFixed performs rounding
86
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { decimals: 4, delimiter: '|' })).toBe(expectedString1);
87
+ const expectedString2 = '1|3|3';
88
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { decimals: 0, delimiter: '|' })).toBe(expectedString2);
89
+ const expectedString3 = '1, 3, 3';
90
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { decimals: 0 })).toBe(expectedString3);
91
+ const expectedString4 = '1.23|2.99|3.00';
92
+ (0, vitest_1.expect)(coreHelpers_1.Vector3Utils.toString(vector, { delimiter: '|' })).toBe(expectedString4);
93
+ });
94
+ (0, vitest_1.it)('converts a vector2 to a string with default options', () => {
95
+ const vector = { x: 1, y: 2 };
96
+ const expectedString = '1.00, 2.00';
97
+ (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector)).toBe(expectedString);
98
+ (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, undefined)).toBe(expectedString);
99
+ (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { decimals: undefined, delimiter: undefined })).toBe(expectedString);
100
+ });
101
+ (0, vitest_1.it)('converts a vector2 to a string with overridden options', () => {
102
+ const vector = { x: 1.23456789, y: 2.99 };
103
+ const expectedString1 = '1.2346|2.9900'; // toFixed performs rounding
104
+ (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { decimals: 4, delimiter: '|' })).toBe(expectedString1);
105
+ const expectedString2 = '1|3';
106
+ (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { decimals: 0, delimiter: '|' })).toBe(expectedString2);
107
+ const expectedString3 = '1, 3';
108
+ (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { decimals: 0 })).toBe(expectedString3);
109
+ const expectedString4 = '1.23|2.99';
110
+ (0, vitest_1.expect)(coreHelpers_1.Vector2Utils.toString(vector, { delimiter: '|' })).toBe(expectedString4);
111
+ });
112
+ (0, vitest_1.describe)('clamp', () => {
113
+ const v = { x: 1, y: 1, z: 3 };
114
+ const minVec = { x: 0, y: 1.5 };
115
+ const maxVec = { x: 2, z: 2.5 };
116
+ (0, vitest_1.it)('clamps with defaults (no min or max)', () => {
117
+ const result = coreHelpers_1.Vector3Utils.clamp(v);
118
+ (0, vitest_1.expect)(result).toEqual({ x: 1, y: 1, z: 3 });
119
+ });
120
+ (0, vitest_1.it)('clamps properly with both min and max', () => {
121
+ const result = coreHelpers_1.Vector3Utils.clamp(v, { min: minVec, max: maxVec });
122
+ (0, vitest_1.expect)(result).toEqual({ x: 1, y: 1.5, z: 2.5 });
123
+ });
124
+ (0, vitest_1.it)('clamps with min only', () => {
125
+ const result = coreHelpers_1.Vector3Utils.clamp(v, { min: minVec });
126
+ (0, vitest_1.expect)(result).toEqual({ x: 1, y: 1.5, z: 3 });
127
+ });
128
+ (0, vitest_1.it)('clamps with max only', () => {
129
+ const result = coreHelpers_1.Vector3Utils.clamp(v, { max: maxVec });
130
+ (0, vitest_1.expect)(result).toEqual({ x: 1, y: 1, z: 2.5 });
131
+ });
132
+ (0, vitest_1.it)('clamp with zero vector and positive mins and negative max', () => {
133
+ const vZero = { x: 0, y: 0, z: 0 };
134
+ const min = { y: 1.5 };
135
+ const max = { z: -2.5 };
136
+ const result = coreHelpers_1.Vector3Utils.clamp(vZero, { min, max });
137
+ (0, vitest_1.expect)(result).toEqual({ x: 0, y: 1.5, z: -2.5 });
138
+ });
139
+ // Test clamp function with large vector
140
+ const vLarge = { x: 1e6, y: 1e6, z: 1e6 };
141
+ (0, vitest_1.it)('clamp with large vector', () => {
142
+ const result = coreHelpers_1.Vector3Utils.clamp(vLarge, { min: minVec, max: maxVec });
143
+ (0, vitest_1.expect)(result).toEqual({ x: 2, y: 1e6, z: 2.5 });
144
+ });
145
+ });
146
+ });
147
+ //# sourceMappingURL=coreHelpers.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coreHelpers.test.js","sourceRoot":"","sources":["../../src/vector3/coreHelpers.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // Copyright (c) Mojang AB. All rights reserved.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ __exportStar(require("./coreHelpers"), exports);
19
+ __exportStar(require("./vectorWrapper"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vector3/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;;;;;;;;;;;;;;AAEjD,gDAA8B;AAC9B,kDAAgC"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ // Copyright (c) Mojang AB. All rights reserved.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Vector2Builder = exports.Vector3Builder = void 0;
5
+ const coreHelpers_1 = require("./coreHelpers");
6
+ /**
7
+ * Vector3 wrapper class which can be used as a Vector3 for APIs on \@minecraft/server which require a Vector,
8
+ * but also contain additional helper methods. This is an alternative to using the core Vector 3 utility
9
+ * methods directly, for those who prefer a more object-oriented approach. This version of the class is mutable
10
+ * and changes state inline.
11
+ *
12
+ * For an immutable version of the build, use ImmutableVector3Builder.
13
+ *
14
+ * @public
15
+ */
16
+ class Vector3Builder {
17
+ constructor(first, y, z) {
18
+ if (typeof first === 'object') {
19
+ this.x = first.x;
20
+ this.y = first.y;
21
+ this.z = first.z;
22
+ }
23
+ else {
24
+ this.x = first;
25
+ this.y = y ?? 0;
26
+ this.z = z ?? 0;
27
+ }
28
+ }
29
+ /**
30
+ * Assigns the values of the passed in vector to this vector. Returns itself.
31
+ */
32
+ assign(vec) {
33
+ this.x = vec.x;
34
+ this.y = vec.y;
35
+ this.z = vec.z;
36
+ return this;
37
+ }
38
+ /**
39
+ * equals
40
+ *
41
+ * Check the equality of two vectors
42
+ */
43
+ equals(v) {
44
+ return coreHelpers_1.Vector3Utils.equals(this, v);
45
+ }
46
+ /**
47
+ * add
48
+ *
49
+ * Adds the vector v to this, returning itself.
50
+ */
51
+ add(v) {
52
+ return this.assign(coreHelpers_1.Vector3Utils.add(this, v));
53
+ }
54
+ /**
55
+ * subtract
56
+ *
57
+ * Subtracts the vector v from this, returning itself.
58
+ */
59
+ subtract(v) {
60
+ return this.assign(coreHelpers_1.Vector3Utils.subtract(this, v));
61
+ }
62
+ /** scale
63
+ *
64
+ * Scales this by the passed in value, returning itself.
65
+ */
66
+ scale(val) {
67
+ return this.assign(coreHelpers_1.Vector3Utils.scale(this, val));
68
+ }
69
+ /**
70
+ * dot
71
+ *
72
+ * Computes the dot product of this and the passed in vector.
73
+ */
74
+ dot(vec) {
75
+ return coreHelpers_1.Vector3Utils.dot(this, vec);
76
+ }
77
+ /**
78
+ * cross
79
+ *
80
+ * Computes the cross product of this and the passed in vector, returning itself.
81
+ */
82
+ cross(vec) {
83
+ return this.assign(coreHelpers_1.Vector3Utils.cross(this, vec));
84
+ }
85
+ /**
86
+ * magnitude
87
+ *
88
+ * The magnitude of the vector
89
+ */
90
+ magnitude() {
91
+ return coreHelpers_1.Vector3Utils.magnitude(this);
92
+ }
93
+ /**
94
+ * normalize
95
+ *
96
+ * Normalizes this vector, returning itself.
97
+ */
98
+ normalize() {
99
+ return this.assign(coreHelpers_1.Vector3Utils.normalize(this));
100
+ }
101
+ /**
102
+ * floor
103
+ *
104
+ * Floor the components of a vector to produce a new vector
105
+ */
106
+ floor() {
107
+ return this.assign(coreHelpers_1.Vector3Utils.floor(this));
108
+ }
109
+ /**
110
+ * toString
111
+ *
112
+ * Create a string representation of a vector
113
+ */
114
+ toString(options) {
115
+ return coreHelpers_1.Vector3Utils.toString(this, options);
116
+ }
117
+ /**
118
+ * clamp
119
+ *
120
+ * Clamps the components of a vector to limits to produce a new vector
121
+ */
122
+ clamp(limits) {
123
+ return this.assign(coreHelpers_1.Vector3Utils.clamp(this, limits));
124
+ }
125
+ }
126
+ exports.Vector3Builder = Vector3Builder;
127
+ /**
128
+ * Vector2 wrapper class which can be used as a Vector2 for APIs on \@minecraft/server which require a Vector2.
129
+ * @public
130
+ */
131
+ class Vector2Builder {
132
+ constructor(first, y) {
133
+ if (typeof first === 'object') {
134
+ this.x = first.x;
135
+ this.y = first.y;
136
+ }
137
+ else {
138
+ this.x = first;
139
+ this.y = y ?? 0;
140
+ }
141
+ }
142
+ toString(options) {
143
+ return coreHelpers_1.Vector2Utils.toString(this, options);
144
+ }
145
+ }
146
+ exports.Vector2Builder = Vector2Builder;
147
+ //# sourceMappingURL=vectorWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorWrapper.js","sourceRoot":"","sources":["../../src/vector3/vectorWrapper.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;AAGjD,+CAA2D;AAE3D;;;;;;;;;GASG;AACH,MAAa,cAAc;IAOvB,YAAY,KAAuB,EAAE,CAAU,EAAE,CAAU;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YACf,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACnB;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAY;QACf,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACf,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,CAAU;QACb,OAAO,0BAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,CAAU;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,0BAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,CAAU;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,0BAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,0BAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,GAAY;QACZ,OAAO,0BAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,0BAAY,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,SAAS;QACL,OAAO,0BAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,0BAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,KAAK;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,0BAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,OAAmD;QACxD,OAAO,0BAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAA0D;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,0BAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;CACJ;AA9HD,wCA8HC;AAED;;;GAGG;AACH,MAAa,cAAc;IAMvB,YAAY,KAAuB,EAAE,CAAU;QAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;SACpB;aAAM;YACH,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;YACf,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACnB;IACL,CAAC;IAED,QAAQ,CAAC,OAAmD;QACxD,OAAO,0BAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;CACJ;AAnBD,wCAmBC"}
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ // Copyright (c) Mojang AB. All rights reserved.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const vitest_1 = require("vitest");
5
+ const coreHelpers_1 = require("./coreHelpers");
6
+ const vectorWrapper_1 = require("./vectorWrapper");
7
+ /**
8
+ * Underlying functionality is validated by coreHelpers tests, primary concern here is consistency of results
9
+ * between the two implementations
10
+ */
11
+ (0, vitest_1.describe)('Vector3Builder', () => {
12
+ (0, vitest_1.it)('should be able to be constructed from a Vector3 or three nunmbers', () => {
13
+ const vectorA = new vectorWrapper_1.Vector3Builder({ x: 1, y: 2, z: 3 });
14
+ const vectorB = new vectorWrapper_1.Vector3Builder(1, 2, 3);
15
+ (0, vitest_1.expect)(vectorA.x).toBe(1);
16
+ (0, vitest_1.expect)(vectorA.y).toBe(2);
17
+ (0, vitest_1.expect)(vectorA.z).toBe(3);
18
+ (0, vitest_1.expect)(vectorA).toEqual(vectorB);
19
+ });
20
+ (0, vitest_1.it)('should be able to assign a Vector3', () => {
21
+ const vector = new vectorWrapper_1.Vector3Builder(1, 2, 3);
22
+ const updated = vector.assign({ x: 4, y: 5, z: 6 });
23
+ (0, vitest_1.expect)(updated.x).toBe(4);
24
+ (0, vitest_1.expect)(updated.y).toBe(5);
25
+ (0, vitest_1.expect)(updated.z).toBe(6);
26
+ (0, vitest_1.expect)(updated).toBe(vector); // Referential equality must be preserved
27
+ });
28
+ (0, vitest_1.it)('should be able to check equality with the same result as the coreHelpers function', () => {
29
+ const vectorA = new vectorWrapper_1.Vector3Builder(1, 2, 3);
30
+ const vectorB = new vectorWrapper_1.Vector3Builder(1, 2, 3);
31
+ const vectorC = new vectorWrapper_1.Vector3Builder(4, 5, 6);
32
+ (0, vitest_1.expect)(vectorA.equals(vectorB)).toBe(coreHelpers_1.Vector3Utils.equals(vectorA, vectorB));
33
+ (0, vitest_1.expect)(vectorA.equals(vectorC)).toBe(coreHelpers_1.Vector3Utils.equals(vectorA, vectorC));
34
+ });
35
+ (0, vitest_1.it)('should be able to add a vector3 with the same result as the coreHelpers function', () => {
36
+ const vectorA = new vectorWrapper_1.Vector3Builder(1, 2, 3);
37
+ const vectorB = new vectorWrapper_1.Vector3Builder(4, 5, 6);
38
+ const vectorC = coreHelpers_1.Vector3Utils.add(vectorA, vectorB);
39
+ const result = vectorA.add(vectorB);
40
+ (0, vitest_1.expect)(result).toEqual(vectorC);
41
+ (0, vitest_1.expect)(vectorA).toBe(result); // Referential equality must be preserved
42
+ // Subsequent chained adds should work as expected
43
+ const toAdd = { x: 1, y: 1, z: 1 };
44
+ const resultTwo = vectorA.add(toAdd).add(toAdd).add(toAdd);
45
+ (0, vitest_1.expect)(resultTwo).toEqual({ x: 8, y: 10, z: 12 });
46
+ (0, vitest_1.expect)(resultTwo).toBe(vectorA); // Referential equality must be preserved
47
+ });
48
+ (0, vitest_1.it)('should be able to subtract a vector3 with the same result as the coreHelpers function', () => {
49
+ const vectorA = new vectorWrapper_1.Vector3Builder(5, 7, 9);
50
+ const vectorB = new vectorWrapper_1.Vector3Builder(4, 5, 6);
51
+ const vectorC = coreHelpers_1.Vector3Utils.subtract(vectorA, vectorB);
52
+ const result = vectorA.subtract(vectorB);
53
+ (0, vitest_1.expect)(result).toEqual(vectorC);
54
+ (0, vitest_1.expect)(vectorA).toBe(result); // Referential equality must be preserved
55
+ // Subsequent chained subtracts should work as expected
56
+ const toSubtract = { x: 1, y: 1, z: 1 };
57
+ const resultTwo = vectorA.subtract(toSubtract).subtract(toSubtract).subtract(toSubtract);
58
+ (0, vitest_1.expect)(resultTwo).toEqual({ x: -2, y: -1, z: 0 });
59
+ (0, vitest_1.expect)(resultTwo).toBe(vectorA); // Referential equality must be preserved
60
+ });
61
+ (0, vitest_1.it)('should be able to scale a vector3 with the same result as the coreHelpers function', () => {
62
+ const vectorA = new vectorWrapper_1.Vector3Builder(1, 2, 3);
63
+ const vectorB = coreHelpers_1.Vector3Utils.scale(vectorA, 3);
64
+ const result = vectorA.scale(3);
65
+ (0, vitest_1.expect)(result).toEqual(vectorB);
66
+ (0, vitest_1.expect)(vectorA).toBe(result); // Referential equality must be preserved
67
+ // Subsequent chained subtracts should work as expected
68
+ const resultTwo = vectorA.scale(3).scale(3);
69
+ (0, vitest_1.expect)(resultTwo).toEqual({ x: 27, y: 54, z: 81 });
70
+ (0, vitest_1.expect)(resultTwo).toBe(vectorA); // Referential equality must be preserved
71
+ });
72
+ (0, vitest_1.it)('should be able to compute the dot product with the same result as the coreHelpers function', () => {
73
+ const vectorA = new vectorWrapper_1.Vector3Builder(1, 2, 3);
74
+ const vectorB = new vectorWrapper_1.Vector3Builder(4, 5, 6);
75
+ const dotProduct = coreHelpers_1.Vector3Utils.dot(vectorA, vectorB);
76
+ const result = vectorA.dot(vectorB);
77
+ (0, vitest_1.expect)(result).toEqual(dotProduct);
78
+ });
79
+ (0, vitest_1.it)('should be able to compute the cross product with the same result as the coreHelpers function', () => {
80
+ const vectorA = new vectorWrapper_1.Vector3Builder(1, 2, 3);
81
+ const vectorB = new vectorWrapper_1.Vector3Builder(4, 5, 6);
82
+ const vectorC = coreHelpers_1.Vector3Utils.cross(vectorA, vectorB);
83
+ const result = vectorA.cross(vectorB);
84
+ (0, vitest_1.expect)(result).toEqual(vectorC);
85
+ (0, vitest_1.expect)(vectorA).toBe(result); // Referential equality must be preserved
86
+ // Subsequent chained subtracts should work as expected
87
+ const toCross = { x: 1, y: 1, z: 1 };
88
+ const resultTwo = vectorA.cross(toCross).cross(toCross);
89
+ (0, vitest_1.expect)(resultTwo).toEqual({ x: 9, y: -18, z: 9 });
90
+ (0, vitest_1.expect)(resultTwo).toBe(vectorA); // Referential equality must be preserved
91
+ });
92
+ (0, vitest_1.it)('should be able to compute the magnitude with the same result as the coreHelpers function', () => {
93
+ const vectorA = new vectorWrapper_1.Vector3Builder(1, 2, 3);
94
+ const mag = coreHelpers_1.Vector3Utils.magnitude(vectorA);
95
+ (0, vitest_1.expect)(vectorA.magnitude()).toEqual(mag);
96
+ });
97
+ (0, vitest_1.it)('should be able to normalize the vector with the same result as the coreHelpers function', () => {
98
+ const vectorA = new vectorWrapper_1.Vector3Builder(1, 2, 3);
99
+ const vectorB = coreHelpers_1.Vector3Utils.normalize(vectorA);
100
+ const result = vectorA.normalize();
101
+ (0, vitest_1.expect)(result).toEqual(vectorB);
102
+ (0, vitest_1.expect)(vectorA).toBe(result); // Referential equality must be preserved
103
+ });
104
+ (0, vitest_1.it)('should be able to compute the floor of the vector with the same result as the coreHelpers function', () => {
105
+ const vectorA = new vectorWrapper_1.Vector3Builder(1.33, 2.14, 3.55);
106
+ const vectorB = coreHelpers_1.Vector3Utils.floor(vectorA);
107
+ const result = vectorA.floor();
108
+ (0, vitest_1.expect)(result).toEqual(vectorB);
109
+ (0, vitest_1.expect)(vectorA).toBe(result); // Referential equality must be preserved
110
+ });
111
+ (0, vitest_1.it)('should be able to clamp the vector with the same result as the coreHelpers function', () => {
112
+ const vectorA = new vectorWrapper_1.Vector3Builder(1, 2, 3);
113
+ const minVec = { x: 0, y: 1.5 };
114
+ const maxVec = { x: 2, z: 2.5 };
115
+ const vectorB = coreHelpers_1.Vector3Utils.clamp(vectorA, { min: minVec, max: maxVec });
116
+ const result = vectorA.clamp({ min: minVec, max: maxVec });
117
+ (0, vitest_1.expect)(result).toEqual(vectorB);
118
+ (0, vitest_1.expect)(vectorA).toBe(result); // Referential equality must be preserved
119
+ });
120
+ (0, vitest_1.it)('should be able to compute a string representation of the vector with the same result as the coreHelpers function', () => {
121
+ const vectorA = new vectorWrapper_1.Vector3Builder(1.33, 2.14, 3.55);
122
+ const vectorB = coreHelpers_1.Vector3Utils.toString(vectorA, { decimals: 1, delimiter: ' ' });
123
+ const result = vectorA.toString({ decimals: 1, delimiter: ' ' });
124
+ (0, vitest_1.expect)(result).toEqual(vectorB);
125
+ });
126
+ });
127
+ (0, vitest_1.describe)('Vector2Builder', () => {
128
+ (0, vitest_1.it)('should be able to compute a string representation of the vector with the same result as the coreHelpers function', () => {
129
+ const vectorA = new vectorWrapper_1.Vector2Builder(1.33, 2.14);
130
+ const vectorB = coreHelpers_1.Vector2Utils.toString(vectorA, { decimals: 1, delimiter: ' ' });
131
+ const result = vectorA.toString({ decimals: 1, delimiter: ' ' });
132
+ (0, vitest_1.expect)(result).toEqual(vectorB);
133
+ });
134
+ });
135
+ //# sourceMappingURL=vectorWrapper.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vectorWrapper.test.js","sourceRoot":"","sources":["../../src/vector3/vectorWrapper.test.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@minecraft/math",
3
+ "version": "1.0.0",
4
+ "author": "Raphael Landaverde (rlanda@microsoft.com)",
5
+ "description": "Math utilities for use with minecraft scripting modules",
6
+ "main": "lib/index.js",
7
+ "types": "lib/types/math-public.d.ts",
8
+ "scripts": {
9
+ "build": "just build",
10
+ "lint": "just lint",
11
+ "test": "just test",
12
+ "clean": "just clean"
13
+ },
14
+ "license": "MIT",
15
+ "files": [
16
+ "dist",
17
+ "lib",
18
+ "api-report"
19
+ ],
20
+ "dependencies": {
21
+ "@minecraft/server": "^1.6.0"
22
+ },
23
+ "devDependencies": {
24
+ "@minecraft/core-build-tasks": "*",
25
+ "@minecraft/tsconfig": "*",
26
+ "just-scripts": "^2.2.1",
27
+ "vitest": "^0.34.6"
28
+ }
29
+ }