@starktma/minecraft-utils 1.3.23 → 1.3.25

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.
@@ -18,23 +18,6 @@ import { SimpleObject } from "./interfaces";
18
18
  * }
19
19
  * return MyDatabase.instance;
20
20
  * }
21
- * }
22
- *
23
- * @example
24
- * // Using a custom namespace
25
- * class MyCustomDatabase extends SimpleDatabase<PlayerObject> {
26
- * protected static instance: MyCustomDatabase;
27
- * constructor() {
28
- * super("myDatabase", undefined, "customnamespace");
29
- * }
30
- *
31
- * static getInstance(): MyCustomDatabase {
32
- * if (!MyCustomDatabase.instance) {
33
- * MyCustomDatabase.instance = new MyCustomDatabase();
34
- * }
35
- * return MyCustomDatabase.instance;
36
- * }
37
- * }
38
21
  */
39
22
  declare class SimpleDatabase<T extends SimpleObject> {
40
23
  private mainDB;
@@ -44,9 +27,8 @@ declare class SimpleDatabase<T extends SimpleObject> {
44
27
  * The constructor initializes the local database and syncs it with the main database.
45
28
  * @param databaseName The name of the database.
46
29
  * @param target The target entity to store the database in. If undefined, the database is stored in the world.
47
- * @param namespace The namespace to use for the database. If undefined, the global namespace is used.
48
30
  */
49
- protected constructor(databaseName: string, target?: Entity | undefined, namespace?: string);
31
+ protected constructor(databaseName: string, target?: Entity | undefined);
50
32
  /**
51
33
  * Updates the main database with the local database.
52
34
  * This method is called automatically when an object is added, updated or removed.
@@ -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;AA+I5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;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;;;;;OAKG;IACH,SAAS,aAAa,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM;IAY3F;;;;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,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"}
@@ -8,20 +8,13 @@ class DatabaseManager {
8
8
  static DYNAMIC_PROP_MAX_LENGTH = 32767;
9
9
  static CHUNK_KEY = "__SPLIT__";
10
10
  target;
11
- namespace;
12
- /**
13
- * Creates a new DatabaseManager instance.
14
- * @param target The target entity to store the database in. If undefined, the database is stored in the world.
15
- * @param namespace The namespace to use for the database. If undefined, the global namespace is used.
16
- */
17
- constructor(target, namespace) {
11
+ constructor(target) {
18
12
  if (target instanceof Entity) {
19
13
  this.target = target;
20
14
  }
21
15
  else {
22
16
  this.target = world;
23
17
  }
24
- this.namespace = namespace || getNamespace();
25
18
  }
26
19
  /**
27
20
  * Checks if a JSON database with the given name exists.
@@ -29,7 +22,7 @@ class DatabaseManager {
29
22
  * @returns True if the database exists, false otherwise.
30
23
  */
31
24
  hasJSONDatabase(databaseName) {
32
- return this.target.getDynamicProperty(`${this.namespace}:${databaseName}`) !== undefined;
25
+ return this.target.getDynamicProperty(databaseName) !== undefined;
33
26
  }
34
27
  /**
35
28
  * Adds a new JSON database with the given name and data.
@@ -37,9 +30,8 @@ class DatabaseManager {
37
30
  * @param database The data to be stored in the database.
38
31
  */
39
32
  addJSONDatabase(databaseName, database) {
40
- const propertyName = `${this.namespace}:${databaseName}`;
41
33
  const jsonString = JSON.stringify(database);
42
- const existingProp = this.target.getDynamicProperty(propertyName);
34
+ const existingProp = this.target.getDynamicProperty(databaseName);
43
35
  let existingChunks = 0;
44
36
  if (existingProp) {
45
37
  try {
@@ -53,18 +45,18 @@ class DatabaseManager {
53
45
  if (jsonString.length <= DatabaseManager.DYNAMIC_PROP_MAX_LENGTH || jsonString.length === 0) {
54
46
  if (existingChunks > 0) {
55
47
  for (let i = 0; i < existingChunks; i++) {
56
- const partName = `${propertyName}_${i}`;
48
+ const partName = `${databaseName}_${i}`;
57
49
  this.target.setDynamicProperty(partName, undefined);
58
50
  }
59
51
  }
60
- this.target.setDynamicProperty(propertyName, jsonString);
52
+ this.target.setDynamicProperty(databaseName, jsonString);
61
53
  }
62
54
  else {
63
55
  const chunkSize = DatabaseManager.DYNAMIC_PROP_MAX_LENGTH;
64
56
  const chunkCount = Math.ceil(jsonString.length / chunkSize);
65
57
  if (existingChunks > 0) {
66
58
  for (let i = 0; i < existingChunks; i++) {
67
- const oldPartName = `${propertyName}_${i}`;
59
+ const oldPartName = `${databaseName}_${i}`;
68
60
  this.target.setDynamicProperty(oldPartName, undefined);
69
61
  }
70
62
  }
@@ -72,11 +64,11 @@ class DatabaseManager {
72
64
  const start = i * chunkSize;
73
65
  const end = start + chunkSize;
74
66
  const chunk = jsonString.slice(start, end);
75
- const partName = `${propertyName}_${i}`;
67
+ const partName = `${databaseName}_${i}`;
76
68
  this.target.setDynamicProperty(partName, chunk);
77
69
  }
78
70
  const meta = { [DatabaseManager.CHUNK_KEY]: chunkCount };
79
- this.target.setDynamicProperty(propertyName, JSON.stringify(meta));
71
+ this.target.setDynamicProperty(databaseName, JSON.stringify(meta));
80
72
  }
81
73
  }
82
74
  /**
@@ -84,21 +76,20 @@ class DatabaseManager {
84
76
  * @param databaseName The name of the database.
85
77
  */
86
78
  removeJSONDatabase(databaseName) {
87
- const propertyName = `${this.namespace}:${databaseName}`;
88
- const propString = this.target.getDynamicProperty(propertyName);
79
+ const propString = this.target.getDynamicProperty(databaseName);
89
80
  if (propString !== undefined) {
90
81
  try {
91
82
  const propObj = JSON.parse(propString);
92
83
  if (propObj && typeof propObj === "object" && DatabaseManager.CHUNK_KEY in propObj) {
93
84
  const chunkCount = propObj[DatabaseManager.CHUNK_KEY];
94
85
  for (let i = 0; i < chunkCount; i++) {
95
- const partName = `${propertyName}_${i}`;
86
+ const partName = `${databaseName}_${i}`;
96
87
  this.target.setDynamicProperty(partName, undefined);
97
88
  }
98
89
  }
99
90
  }
100
91
  catch { }
101
- this.target.setDynamicProperty(propertyName, undefined);
92
+ this.target.setDynamicProperty(databaseName, undefined);
102
93
  }
103
94
  }
104
95
  /**
@@ -108,8 +99,7 @@ class DatabaseManager {
108
99
  * @throws An error if the database does not exist.
109
100
  */
110
101
  getJSONDatabase(databaseName) {
111
- const propertyName = `${this.namespace}:${databaseName}`;
112
- const propString = this.target.getDynamicProperty(propertyName);
102
+ const propString = this.target.getDynamicProperty(databaseName);
113
103
  if (propString === undefined) {
114
104
  throw new Error("Database does not exist");
115
105
  }
@@ -119,7 +109,7 @@ class DatabaseManager {
119
109
  const chunkCount = propObj[DatabaseManager.CHUNK_KEY];
120
110
  let combined = "";
121
111
  for (let i = 0; i < chunkCount; i++) {
122
- const partName = `${propertyName}_${i}`;
112
+ const partName = `${databaseName}_${i}`;
123
113
  const part = this.target.getDynamicProperty(partName);
124
114
  if (typeof part === "string") {
125
115
  combined += part;
@@ -157,23 +147,6 @@ class DatabaseManager {
157
147
  * }
158
148
  * return MyDatabase.instance;
159
149
  * }
160
- * }
161
- *
162
- * @example
163
- * // Using a custom namespace
164
- * class MyCustomDatabase extends SimpleDatabase<PlayerObject> {
165
- * protected static instance: MyCustomDatabase;
166
- * constructor() {
167
- * super("myDatabase", undefined, "customnamespace");
168
- * }
169
- *
170
- * static getInstance(): MyCustomDatabase {
171
- * if (!MyCustomDatabase.instance) {
172
- * MyCustomDatabase.instance = new MyCustomDatabase();
173
- * }
174
- * return MyCustomDatabase.instance;
175
- * }
176
- * }
177
150
  */
178
151
  class SimpleDatabase {
179
152
  mainDB;
@@ -183,11 +156,10 @@ class SimpleDatabase {
183
156
  * The constructor initializes the local database and syncs it with the main database.
184
157
  * @param databaseName The name of the database.
185
158
  * @param target The target entity to store the database in. If undefined, the database is stored in the world.
186
- * @param namespace The namespace to use for the database. If undefined, the global namespace is used.
187
159
  */
188
- constructor(databaseName, target, namespace) {
189
- this.mainDB = new DatabaseManager(target, namespace);
190
- this.databaseName = databaseName;
160
+ constructor(databaseName, target) {
161
+ this.databaseName = `${getNamespace()}:${databaseName}`;
162
+ this.mainDB = new DatabaseManager(target);
191
163
  if (this.mainDB.hasJSONDatabase(this.databaseName)) {
192
164
  this.localDB = this.getMainDB();
193
165
  }
@@ -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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"}
@@ -0,0 +1,82 @@
1
+ import { Entity, RGBA } from "@minecraft/server";
2
+ interface EffectObject {
3
+ id: string;
4
+ entityId: string;
5
+ effectType: string;
6
+ amplifier: number;
7
+ duration: number;
8
+ color: RGBA;
9
+ }
10
+ interface EffectSounds {
11
+ ambient?: string;
12
+ start?: string;
13
+ end?: string;
14
+ }
15
+ interface EffectConfig {
16
+ effectType: string;
17
+ color: RGBA;
18
+ sounds?: EffectSounds;
19
+ particleType?: string;
20
+ handler: EffectHandler;
21
+ }
22
+ type EffectHandler = (entity: Entity, effect: EffectObject) => void;
23
+ declare class EffectManager {
24
+ private configs;
25
+ private entityDB;
26
+ static instance: EffectManager;
27
+ static getInstance(): EffectManager;
28
+ private constructor();
29
+ private getEntityDatabase;
30
+ /**
31
+ * Track an entity as having effects
32
+ * @param entity - The entity to track
33
+ */
34
+ private trackEntity;
35
+ /**
36
+ * Stop tracking an entity (when it has no more effects)
37
+ * @param entity - The entity to stop tracking
38
+ */
39
+ private untrackEntity;
40
+ /**
41
+ * Check if an entity has any effect tags
42
+ * @param entity - The entity to check
43
+ * @returns True if entity has any effect tags
44
+ */
45
+ private entityHasEffectTags;
46
+ /**
47
+ * Parse effect data from entity tags regardless of namespace
48
+ * @param entity - The entity to get effects from
49
+ * @returns Array of effect objects parsed from all effect tags
50
+ */
51
+ private getEffectsFromTags;
52
+ /**
53
+ * Parse ALL effect data from entity tags regardless of namespace
54
+ * @param entity - The entity to get effects from
55
+ * @returns Array of effect objects parsed from all effect tags
56
+ */
57
+ private getAllEffectsFromTags;
58
+ /**
59
+ * Register a effect effect with full configuration
60
+ * @param config - Complete effect configuration including effect type, color, sounds, particle type, and handler
61
+ * @returns Helper functions for adding, removing, and applying the effect
62
+ */
63
+ registerEffect(config: EffectConfig): {
64
+ addEffect: (entity: Entity, amplifier: number, duration: number) => void;
65
+ removeEffect: (entity: Entity) => void;
66
+ applyEffect: EffectHandler;
67
+ };
68
+ addEffect(entity: Entity, effectType: string, amplifier: number, duration: number): void;
69
+ removeEffect(entity: Entity, effectType: string): void;
70
+ removeAllEffects(entity: Entity): void;
71
+ extendEffect(entity: Entity, effectType: string, additionalDuration: number): boolean;
72
+ hasEffect(entity: Entity, effectType: string): boolean;
73
+ getEffects(entity: Entity): EffectObject[];
74
+ /**
75
+ * Debug function to display all active effects for an entity in the action bar
76
+ * @param entity - The entity to display effects for (must be a Player)
77
+ */
78
+ debugShowEffects(entity: Entity): void;
79
+ start(): void;
80
+ }
81
+ export { EffectManager, EffectObject, EffectConfig, EffectSounds };
82
+ //# sourceMappingURL=effectsAPI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectsAPI.d.ts","sourceRoot":"","sources":["../../src/minecraft/effectsAPI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,IAAI,EAAiB,MAAM,mBAAmB,CAAC;AAK3F,UAAU,YAAY;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,CAAC;CACZ;AAqBD,UAAU,YAAY;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED,UAAU,YAAY;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;CACvB;AAED,KAAK,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;AAEpE,cAAM,aAAa;IAClB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,QAAQ,CAAqC;IACrD,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC;IAE/B,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC,OAAO;IAEP,OAAO,CAAC,iBAAiB;IAOzB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAWnB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;;;OAIG;IACH,cAAc,CAAC,MAAM,EAAE,YAAY;4BAIb,MAAM,aAAa,MAAM,YAAY,MAAM;+BAGxC,MAAM;;;IAO/B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAwCxF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IA6BtD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAkCtC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO;IAiDrF,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAKtD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE;IAI1C;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA6EtC,KAAK,IAAI,IAAI;CAiGb;AAED,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC"}