@starktma/minecraft-utils 1.3.25 → 1.4.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 (33) hide show
  1. package/dist/database/database.d.ts +6 -4
  2. package/dist/database/database.d.ts.map +1 -1
  3. package/dist/database/database.js +24 -11
  4. package/dist/database/database.js.map +1 -1
  5. package/dist/game-state-machine/database.d.ts +1 -1
  6. package/dist/game-state-machine/database.d.ts.map +1 -1
  7. package/dist/game-state-machine/database.js +1 -1
  8. package/dist/game-state-machine/database.js.map +1 -1
  9. package/dist/math/index.d.ts +63 -59
  10. package/dist/math/index.d.ts.map +1 -1
  11. package/dist/math/index.js +150 -76
  12. package/dist/math/index.js.map +1 -1
  13. package/dist/minecraft/effectsAPI.d.ts +44 -57
  14. package/dist/minecraft/effectsAPI.d.ts.map +1 -1
  15. package/dist/minecraft/effectsAPI.js +354 -351
  16. package/dist/minecraft/effectsAPI.js.map +1 -1
  17. package/dist/minecraft/index.d.ts +7 -7
  18. package/dist/minecraft/index.d.ts.map +1 -1
  19. package/dist/minecraft/index.js +45 -31
  20. package/dist/minecraft/index.js.map +1 -1
  21. package/dist/minecraft/projectileAPI.d.ts +21 -59
  22. package/dist/minecraft/projectileAPI.d.ts.map +1 -1
  23. package/dist/minecraft/projectileAPI.js +139 -137
  24. package/dist/minecraft/projectileAPI.js.map +1 -1
  25. package/dist/minecraft/structuresAPI.d.ts +10 -0
  26. package/dist/minecraft/structuresAPI.d.ts.map +1 -0
  27. package/dist/minecraft/structuresAPI.js +61 -0
  28. package/dist/minecraft/structuresAPI.js.map +1 -0
  29. package/package.json +5 -1
  30. package/dist/minecraft/potionAPI.d.ts +0 -74
  31. package/dist/minecraft/potionAPI.d.ts.map +0 -1
  32. package/dist/minecraft/potionAPI.js +0 -228
  33. package/dist/minecraft/potionAPI.js.map +0 -1
@@ -22,6 +22,9 @@ import { SimpleObject } from "./interfaces";
22
22
  declare class SimpleDatabase<T extends SimpleObject> {
23
23
  private mainDB;
24
24
  private localDB;
25
+ private pendingChanges;
26
+ private static readonly SAVE_INTERVAL;
27
+ private static readonly SAVE_THRESHOLD;
25
28
  protected databaseName: string;
26
29
  /**
27
30
  * The constructor initializes the local database and syncs it with the main database.
@@ -30,17 +33,16 @@ declare class SimpleDatabase<T extends SimpleObject> {
30
33
  */
31
34
  protected constructor(databaseName: string, target?: Entity | undefined);
32
35
  /**
33
- * Updates the main database with the local database.
34
- * This method is called automatically when an object is added, updated or removed.
35
- * @private
36
+ * Immediately saves the local database to the main database.
36
37
  */
37
- private updateMainDB;
38
+ private save;
38
39
  /**
39
40
  * Retrieves the main database.
40
41
  * @private
41
42
  * @returns The main database.
42
43
  */
43
44
  private getMainDB;
45
+ forceSave(): void;
44
46
  /**
45
47
  * Adds an object to the local database and updates the main database.
46
48
  * @param object The object to be added.
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAqI5C;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAM,cAAc,CAAC,CAAC,SAAS,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAM;IAErB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACH,SAAS,aAAa,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAYvE;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;IAK1B;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;IAO7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIpC;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK9B;;;OAGG;IACH,aAAa,IAAI,CAAC,EAAE;IAIpB;;OAEG;IACH,eAAe,IAAI,IAAI;IAKvB;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;CAGtE;AAED,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAwB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAqI5C;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAM,cAAc,CAAC,CAAC,SAAS,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAU;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAM;IAE5C,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACH,SAAS,aAAa,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAsBvE;;OAEG;IACH,OAAO,CAAC,IAAI;IAKZ;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB,SAAS;IAIT;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;IAK1B;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI;IAO7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIpC;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK9B;;;OAGG;IACH,aAAa,IAAI,CAAC,EAAE;IAIpB;;OAEG;IACH,eAAe,IAAI,IAAI;IAKvB;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;CAGtE;AAED,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Entity, world } from "@minecraft/server";
1
+ import { Entity, system, world } from "@minecraft/server";
2
2
  import { getNamespace } from "../constants";
3
3
  /**
4
4
  * DatabaseManager is a class that manages databases stored in Minecraft's world properties.
@@ -151,6 +151,9 @@ class DatabaseManager {
151
151
  class SimpleDatabase {
152
152
  mainDB;
153
153
  localDB;
154
+ pendingChanges = 0;
155
+ static SAVE_INTERVAL = 20 * 5;
156
+ static SAVE_THRESHOLD = 20;
154
157
  databaseName;
155
158
  /**
156
159
  * The constructor initializes the local database and syncs it with the main database.
@@ -165,15 +168,22 @@ class SimpleDatabase {
165
168
  }
166
169
  else {
167
170
  this.localDB = [];
168
- this.updateMainDB();
171
+ this.save();
169
172
  }
173
+ system.runTimeout(() => {
174
+ if (this.pendingChanges > SimpleDatabase.SAVE_THRESHOLD) {
175
+ this.save();
176
+ }
177
+ }, SimpleDatabase.SAVE_INTERVAL);
178
+ system.beforeEvents.shutdown.subscribe(() => {
179
+ system.run(() => this.save());
180
+ });
170
181
  }
171
182
  /**
172
- * Updates the main database with the local database.
173
- * This method is called automatically when an object is added, updated or removed.
174
- * @private
183
+ * Immediately saves the local database to the main database.
175
184
  */
176
- updateMainDB() {
185
+ save() {
186
+ this.pendingChanges = 0;
177
187
  this.mainDB.addJSONDatabase(this.databaseName, this.localDB);
178
188
  }
179
189
  /**
@@ -184,13 +194,16 @@ class SimpleDatabase {
184
194
  getMainDB() {
185
195
  return this.mainDB.getJSONDatabase(this.databaseName);
186
196
  }
197
+ forceSave() {
198
+ this.save();
199
+ }
187
200
  /**
188
201
  * Adds an object to the local database and updates the main database.
189
202
  * @param object The object to be added.
190
203
  */
191
204
  addObject(object) {
192
205
  this.localDB.push(object);
193
- this.updateMainDB();
206
+ this.pendingChanges++;
194
207
  }
195
208
  /**
196
209
  * Updates an object in the local database and the main database.
@@ -209,7 +222,7 @@ class SimpleDatabase {
209
222
  * @returns True if the object exists, false otherwise.
210
223
  */
211
224
  hasObject(id) {
212
- return this.localDB.map((object) => object.id).includes(id);
225
+ return this.localDB.find((object) => object.id === id) !== undefined;
213
226
  }
214
227
  /**
215
228
  * Retrieves an object with the given id from the local database.
@@ -217,7 +230,7 @@ class SimpleDatabase {
217
230
  * @returns The object if it exists, undefined otherwise.
218
231
  */
219
232
  getObject(id) {
220
- return this.localDB.filter((object) => object.id === id)[0];
233
+ return this.localDB.find((object) => object.id === id);
221
234
  }
222
235
  /**
223
236
  * Removes an object with the given id from the local database and updates the main database.
@@ -225,7 +238,7 @@ class SimpleDatabase {
225
238
  */
226
239
  removeObject(id) {
227
240
  this.localDB = this.localDB.filter((object) => object.id !== id);
228
- this.updateMainDB();
241
+ this.pendingChanges++;
229
242
  }
230
243
  /**
231
244
  * Retrieves all objects from the local database.
@@ -239,7 +252,7 @@ class SimpleDatabase {
239
252
  */
240
253
  eraseAllObjects() {
241
254
  this.localDB = [];
242
- this.updateMainDB();
255
+ this.pendingChanges++;
243
256
  }
244
257
  /**
245
258
  * Iterates over all objects in the local database.
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PlayerObject, BranchObject } from "./interfaces";
2
- import { SimpleDatabase } from "@starktma/minecraft-utils/database";
2
+ import { SimpleDatabase } from "../database";
3
3
  export declare class BranchDatabase extends SimpleDatabase<BranchObject> {
4
4
  protected static instance: BranchDatabase;
5
5
  private constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/game-state-machine/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,qBAAa,cAAe,SAAQ,cAAc,CAAC,YAAY,CAAC;IAC/D,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1C,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,cAAc;CAMpC;AAED,qBAAa,cAAe,SAAQ,cAAc,CAAC,YAAY,CAAC;IAC/D,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1C,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,cAAc;CAMpC"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/game-state-machine/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,cAAe,SAAQ,cAAc,CAAC,YAAY,CAAC;IAC/D,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1C,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,cAAc;CAMpC;AAED,qBAAa,cAAe,SAAQ,cAAc,CAAC,YAAY,CAAC;IAC/D,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1C,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,cAAc;CAMpC"}
@@ -1,4 +1,4 @@
1
- import { SimpleDatabase } from "@starktma/minecraft-utils/database";
1
+ import { SimpleDatabase } from "../database";
2
2
  export class BranchDatabase extends SimpleDatabase {
3
3
  static instance;
4
4
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/game-state-machine/database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,MAAM,OAAO,cAAe,SAAQ,cAA4B;IACrD,MAAM,CAAC,QAAQ,CAAiB;IAC1C;QACC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAW;QACjB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IAChC,CAAC;CACD;AAED,MAAM,OAAO,cAAe,SAAQ,cAA4B;IACrD,MAAM,CAAC,QAAQ,CAAiB;IAC1C;QACC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAW;QACjB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IAChC,CAAC;CACD"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/game-state-machine/database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,OAAO,cAAe,SAAQ,cAA4B;IACrD,MAAM,CAAC,QAAQ,CAAiB;IAC1C;QACC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAW;QACjB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IAChC,CAAC;CACD;AAED,MAAM,OAAO,cAAe,SAAQ,cAA4B;IACrD,MAAM,CAAC,QAAQ,CAAiB;IAC1C;QACC,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,WAAW;QACjB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC9B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IAChC,CAAC;CACD"}
@@ -1,25 +1,4 @@
1
- import { RGB, RGBA, Vector3 } from "@minecraft/server";
2
- /**
3
- * Converts an angle in degrees to radians.
4
- *
5
- * @param degrees - The angle in degrees to be converted.
6
- * @returns The angle in radians.
7
- */
8
- export declare function toRadians(degrees: number): number;
9
- /**
10
- * Converts an angle in radians to degrees.
11
- *
12
- * @param radians - The angle in radians to be converted.
13
- * @returns The angle in degrees.
14
- */
15
- export declare function calculateDistance(position1: Vector3, position2: Vector3): number;
16
- /**
17
- * Converts an angle in radians to degrees.
18
- *
19
- * @param radians - The angle in radians to be converted.
20
- * @returns The angle in degrees.
21
- */
22
- export declare function toDegrees(radians: number): number;
1
+ import { RGB, RGBA, Vector2, Vector3, VectorXZ } from "@minecraft/server";
23
2
  /**
24
3
  * Converts a hex color string to an RGBA object.
25
4
  *
@@ -37,37 +16,6 @@ export declare function hexToRgba(hex: string, stripAlpha?: boolean): RGB | RGBA
37
16
  * @returns The clamped value, which will be between `min` and `max`.
38
17
  */
39
18
  export declare function clamp(value: number, min: number, max: number): number;
40
- /**
41
- * Converts an angle in degrees to its signed equivalent in the range [-180, 180].
42
- *
43
- * @param angle - The angle in degrees to be converted.
44
- * @returns The signed angle in degrees, normalized to the range [-180, 180].
45
- */
46
- export declare function toSigned(angle: number): number;
47
- /**
48
- * Converts an angle in degrees to its unsigned equivalent in the range [0, 360].
49
- *
50
- * @param angle - The angle in degrees to be converted.
51
- * @returns The unsigned angle in degrees, normalized to the range [0, 360].
52
- */
53
- export declare function toUnsigned(angle: number): number;
54
- /**
55
- * Calculates the shortest signed arc between two angles in degrees.
56
- *
57
- * @param from - The starting angle in degrees.
58
- * @param to - The target angle in degrees.
59
- * @returns The shortest arc in degrees from `from` to `to`.
60
- */
61
- export declare function shortestArc(from: number, to: number): number;
62
- /**
63
- * Checks if two positions are equal within a specified tolerance.
64
- *
65
- * @param a - The first position.
66
- * @param b - The second position.
67
- * @param tolerance - The tolerance for comparison (default is 0.5).
68
- * @returns `true` if the positions are equal within the tolerance, otherwise `false`.
69
- */
70
- export declare function positionsEqual(a: Vector3, b: Vector3, tolerance?: number): boolean;
71
19
  /**
72
20
  * Checks if a value is within a specified range.
73
21
  *
@@ -80,11 +28,67 @@ export declare function inRange(value: number, min: number, max: number): boolea
80
28
  /**
81
29
  * A utility class for performing operations on 3D vectors.
82
30
  */
83
- export declare class VectorOperations {
84
- static apply(v: Vector3, fn: (component: number) => number): Vector3;
85
- static add(v1: Vector3, v2: Vector3): Vector3;
86
- static subtract(v1: Vector3, v2: Vector3): Vector3;
87
- static multiply(v: Vector3, scalar: number): Vector3;
88
- static stringify(v: Vector3): string;
31
+ export declare class Vector {
32
+ static apply<T extends Vector3 | Vector2 | VectorXZ>(v: T, fn: (component: number) => any): T;
33
+ static add<T extends Vector3 | Vector2 | VectorXZ>(v1: T, ...vectors: T[]): T;
34
+ static subtract<T extends Vector3 | Vector2 | VectorXZ>(v1: T, ...vectors: T[]): T;
35
+ static scalarDivide<T extends Vector3 | Vector2 | VectorXZ>(v: T, scalar: number): T;
36
+ static scalarMultiply<T extends Vector3 | Vector2 | VectorXZ>(v: T, scalar: number): T;
37
+ static dot<T extends Vector3 | Vector2 | VectorXZ>(v1: T, v2: T): number;
38
+ static magnitude(v: Vector3 | Vector2 | VectorXZ): number;
39
+ static normalize<T extends Vector3 | Vector2 | VectorXZ>(v: T): T;
40
+ static distance<T extends Vector3 | Vector2 | VectorXZ>(v1: T, v2: T): number;
41
+ static stringify<T extends Vector3 | Vector2 | VectorXZ>(v: T): string;
42
+ static rotateVector(vector: Vector3, rotationDegrees: number): Vector3;
43
+ static new(x: number, y: number): Vector2;
44
+ static new(x: number, y: number, z: number): Vector3;
45
+ static copy<T>(vector: T): T;
46
+ }
47
+ export declare class Trigonometry {
48
+ /** Creates a unit vector from an angle in degrees.
49
+ *
50
+ * @param rotation - The angle in degrees.
51
+ * @returns A unit vector representing the direction of the angle.
52
+ */
53
+ static fromAngle(rotation: number): Vector2;
54
+ /** Creates a unit vector from a 2D angle in degrees (pitch and yaw).
55
+ *
56
+ * @param rotation - The 2D angle (pitch and yaw) in degrees.
57
+ * @returns A unit vector representing the direction of the angle.
58
+ */
59
+ static fromAngle(rotation: Vector2): Vector3;
60
+ /** Converts an angle in degrees to radians.
61
+ *
62
+ * @param degrees - The angle in degrees to be converted.
63
+ * @returns The angle in radians.
64
+ */
65
+ static radians(degrees: number): number;
66
+ /**
67
+ * Converts an angle in radians to degrees.
68
+ *
69
+ * @param radians - The angle in radians to be converted.
70
+ * @returns The angle in degrees.
71
+ */
72
+ static degrees(radians: number): number;
73
+ /**
74
+ * Converts an angle in degrees to its signed equivalent in the range [-180, 180].
75
+ * @param angle - The angle in degrees to be converted.
76
+ * @returns The signed angle in degrees, normalized to the range [-180, 180].
77
+ */
78
+ static signedAngle(degrees: number): number;
79
+ /**
80
+ * Converts an angle in degrees to its unsigned equivalent in the range [0, 360].
81
+ *
82
+ * @param angle - The angle in degrees to be converted.
83
+ * @returns The unsigned angle in degrees, normalized to the range [0, 360].
84
+ */
85
+ static unsignedAngle(degrees: number): number;
86
+ /** Calculates the shortest arc between two angles in degrees.
87
+ *
88
+ * @param from - The starting angle in degrees.
89
+ * @param to - The target angle in degrees.
90
+ * @returns The shortest arc from the starting angle to the target angle in degrees.
91
+ */
92
+ static shortestArc(from: number, to: number): number;
89
93
  }
90
94
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAIhF;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,GAAG,GAAG,IAAI,CAsB9E;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,GAAE,MAAY,GAAG,OAAO,CAEvF;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAExE;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC5B,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO;IAIpE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO;IAI7C,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO;IAIlD,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAIpD,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM;CAGpC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,3 @@
1
- /**
2
- * Converts an angle in degrees to radians.
3
- *
4
- * @param degrees - The angle in degrees to be converted.
5
- * @returns The angle in radians.
6
- */
7
- export function toRadians(degrees) {
8
- return degrees * (Math.PI / 180);
9
- }
10
- /**
11
- * Converts an angle in radians to degrees.
12
- *
13
- * @param radians - The angle in radians to be converted.
14
- * @returns The angle in degrees.
15
- */
16
- export function calculateDistance(position1, position2) {
17
- return Math.sqrt(Math.pow(position1.x - position2.x, 2) + Math.pow(position1.y - position2.y, 2) + Math.pow(position1.z - position2.z, 2));
18
- }
19
- /**
20
- * Converts an angle in radians to degrees.
21
- *
22
- * @param radians - The angle in radians to be converted.
23
- * @returns The angle in degrees.
24
- */
25
- export function toDegrees(radians) {
26
- return radians * (180 / Math.PI);
27
- }
28
1
  /**
29
2
  * Converts a hex color string to an RGBA object.
30
3
  *
@@ -63,46 +36,6 @@ export function hexToRgba(hex, stripAlpha = false) {
63
36
  export function clamp(value, min, max) {
64
37
  return Math.max(min, Math.min(max, value));
65
38
  }
66
- /**
67
- * Converts an angle in degrees to its signed equivalent in the range [-180, 180].
68
- *
69
- * @param angle - The angle in degrees to be converted.
70
- * @returns The signed angle in degrees, normalized to the range [-180, 180].
71
- */
72
- export function toSigned(angle) {
73
- const wrapped = ((angle % 360) + 360) % 360;
74
- return wrapped > 180 ? wrapped - 360 : wrapped;
75
- }
76
- /**
77
- * Converts an angle in degrees to its unsigned equivalent in the range [0, 360].
78
- *
79
- * @param angle - The angle in degrees to be converted.
80
- * @returns The unsigned angle in degrees, normalized to the range [0, 360].
81
- */
82
- export function toUnsigned(angle) {
83
- return ((angle % 360) + 360) % 360;
84
- }
85
- /**
86
- * Calculates the shortest signed arc between two angles in degrees.
87
- *
88
- * @param from - The starting angle in degrees.
89
- * @param to - The target angle in degrees.
90
- * @returns The shortest arc in degrees from `from` to `to`.
91
- */
92
- export function shortestArc(from, to) {
93
- return -toSigned((to - from + 360) % 360);
94
- }
95
- /**
96
- * Checks if two positions are equal within a specified tolerance.
97
- *
98
- * @param a - The first position.
99
- * @param b - The second position.
100
- * @param tolerance - The tolerance for comparison (default is 0.5).
101
- * @returns `true` if the positions are equal within the tolerance, otherwise `false`.
102
- */
103
- export function positionsEqual(a, b, tolerance = 0.5) {
104
- return Math.abs(a.x - b.x) < tolerance && Math.abs(a.y - b.y) < tolerance && Math.abs(a.z - b.z) < tolerance;
105
- }
106
39
  /**
107
40
  * Checks if a value is within a specified range.
108
41
  *
@@ -117,21 +50,162 @@ export function inRange(value, min, max) {
117
50
  /**
118
51
  * A utility class for performing operations on 3D vectors.
119
52
  */
120
- export class VectorOperations {
53
+ export class Vector {
121
54
  static apply(v, fn) {
122
- return { x: fn(v.x), y: fn(v.y), z: fn(v.z) };
55
+ const result = { x: fn(v.x) };
56
+ if ("y" in v)
57
+ result.y = fn(v.y);
58
+ if ("z" in v)
59
+ result.z = fn(v.z);
60
+ return result;
61
+ }
62
+ static add(v1, ...vectors) {
63
+ const result = Vector.copy(v1);
64
+ for (const v of vectors) {
65
+ result.x += v.x;
66
+ if ("y" in result && "y" in v) {
67
+ result.y += v.y;
68
+ }
69
+ if ("z" in result && "z" in v) {
70
+ result.z += v.z;
71
+ }
72
+ }
73
+ return result;
74
+ }
75
+ static subtract(v1, ...vectors) {
76
+ const result = Vector.copy(v1);
77
+ for (const v of vectors) {
78
+ result.x -= v.x;
79
+ if ("y" in result && "y" in v) {
80
+ result.y -= v.y;
81
+ }
82
+ if ("z" in result && "z" in v) {
83
+ result.z -= v.z;
84
+ }
85
+ }
86
+ return result;
87
+ }
88
+ static scalarDivide(v, scalar) {
89
+ return Vector.apply(v, (component) => component / scalar);
90
+ }
91
+ static scalarMultiply(v, scalar) {
92
+ return Vector.apply(v, (component) => component * scalar);
93
+ }
94
+ static dot(v1, v2) {
95
+ let result = v1.x * v2.x;
96
+ if ("y" in v1 && "y" in v2)
97
+ result += v1.y * v2.y;
98
+ if ("z" in v1 && "z" in v2)
99
+ result += v1.z * v2.z;
100
+ return result;
123
101
  }
124
- static add(v1, v2) {
125
- return { x: v1.x + v2.x, y: v1.y + v2.y, z: v1.z + v2.z };
102
+ static magnitude(v) {
103
+ let sumOfSquares = v.x * v.x;
104
+ if ("y" in v)
105
+ sumOfSquares += v.y * v.y;
106
+ if ("z" in v)
107
+ sumOfSquares += v.z * v.z;
108
+ return Math.sqrt(sumOfSquares);
126
109
  }
127
- static subtract(v1, v2) {
128
- return { x: v1.x - v2.x, y: v1.y - v2.y, z: v1.z - v2.z };
110
+ static normalize(v) {
111
+ const mag = Vector.magnitude(v);
112
+ if (mag === 0)
113
+ return v;
114
+ return Vector.scalarDivide(v, mag);
129
115
  }
130
- static multiply(v, scalar) {
131
- return VectorOperations.apply(v, (component) => component * scalar);
116
+ static distance(v1, v2) {
117
+ const diff = Vector.subtract(v1, v2);
118
+ return Vector.magnitude(diff);
132
119
  }
133
120
  static stringify(v) {
134
- return `${v.x} ${v.y} ${v.z}`;
121
+ let result = `${v.x}`;
122
+ if ("y" in v)
123
+ result += ` ${v.y}`;
124
+ if ("z" in v)
125
+ result += ` ${v.z}`;
126
+ return result;
127
+ }
128
+ static rotateVector(vector, rotationDegrees) {
129
+ const rad = Trigonometry.radians(rotationDegrees);
130
+ const sin = Math.sin(rad);
131
+ const cos = Math.cos(rad);
132
+ return {
133
+ x: vector.x * cos + vector.z * sin,
134
+ y: vector.y,
135
+ z: vector.x * sin + vector.z * cos,
136
+ };
137
+ }
138
+ static new(x, y, z) {
139
+ if (z === undefined) {
140
+ return { x, y };
141
+ }
142
+ else {
143
+ return { x, y, z };
144
+ }
145
+ }
146
+ static copy(vector) {
147
+ return { ...vector };
148
+ }
149
+ }
150
+ export class Trigonometry {
151
+ static fromAngle(rotation) {
152
+ if (typeof rotation === "number") {
153
+ const rad = Trigonometry.radians(rotation);
154
+ return { x: -Math.sin(rad), y: Math.cos(rad) };
155
+ }
156
+ else {
157
+ const rad = Trigonometry.radians(rotation.y);
158
+ const pitchRad = Trigonometry.radians(rotation.x);
159
+ return {
160
+ x: -Math.sin(rad) * Math.cos(pitchRad),
161
+ y: Math.sin(pitchRad),
162
+ z: Math.cos(rad) * Math.cos(pitchRad),
163
+ };
164
+ }
165
+ }
166
+ /** Converts an angle in degrees to radians.
167
+ *
168
+ * @param degrees - The angle in degrees to be converted.
169
+ * @returns The angle in radians.
170
+ */
171
+ static radians(degrees) {
172
+ return degrees * (Math.PI / 180);
173
+ }
174
+ /**
175
+ * Converts an angle in radians to degrees.
176
+ *
177
+ * @param radians - The angle in radians to be converted.
178
+ * @returns The angle in degrees.
179
+ */
180
+ static degrees(radians) {
181
+ return radians * (180 / Math.PI);
182
+ }
183
+ /**
184
+ * Converts an angle in degrees to its signed equivalent in the range [-180, 180].
185
+ * @param angle - The angle in degrees to be converted.
186
+ * @returns The signed angle in degrees, normalized to the range [-180, 180].
187
+ */
188
+ static signedAngle(degrees) {
189
+ const wrapped = ((degrees % 360) + 360) % 360;
190
+ return wrapped > 180 ? wrapped - 360 : wrapped;
191
+ }
192
+ /**
193
+ * Converts an angle in degrees to its unsigned equivalent in the range [0, 360].
194
+ *
195
+ * @param angle - The angle in degrees to be converted.
196
+ * @returns The unsigned angle in degrees, normalized to the range [0, 360].
197
+ */
198
+ static unsignedAngle(degrees) {
199
+ return ((degrees % 360) + 360) % 360;
200
+ }
201
+ /** Calculates the shortest arc between two angles in degrees.
202
+ *
203
+ * @param from - The starting angle in degrees.
204
+ * @param to - The target angle in degrees.
205
+ * @returns The shortest arc from the starting angle to the target angle in degrees.
206
+ */
207
+ static shortestArc(from, to) {
208
+ return -this.signedAngle((to - from + 360) % 360);
135
209
  }
136
210
  }
137
211
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/math/index.ts"],"names":[],"mappings":"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"}