simplified-mojang-api 0.0.3

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/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # simplified-mojang-API
2
+ Public repository to simplify the event logic of Mojang's Script API, for informal or professional use
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Interfaz que establece los datos de registro de un evento en concreto.
3
+ * @interface EventRegister
4
+ * @template T
5
+ * @author HaJuegos - 11-03-2026
6
+ */
7
+ export interface EventRegister<T> {
8
+ subscribe(callback: (args: T) => void): (args: T) => void;
9
+ }
10
+ /**
11
+ * Gestor interno para manejar las subscripciones y errores internos try/catch.
12
+ * @template T
13
+ * @author HaJuegos - 11-03-2026
14
+ */
15
+ export declare class BaseEventManager<T> {
16
+ private evnSignal;
17
+ private evnName;
18
+ constructor(evnSignal: EventRegister<T>, evnName: string);
19
+ /**
20
+ * Metodo que registra el callback para los eventos del evento final.
21
+ * @param callback La logica individual del evento final.
22
+ * @public
23
+ * @author HaJuegos - 11-03-2026
24
+ */
25
+ register(callback: (args: T) => void): void;
26
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Gestor interno para manejar las subscripciones y errores internos try/catch.
3
+ * @template T
4
+ * @author HaJuegos - 11-03-2026
5
+ */
6
+ export class BaseEventManager {
7
+ constructor(evnSignal, evnName) {
8
+ this.evnSignal = evnSignal;
9
+ this.evnName = evnName;
10
+ }
11
+ /**
12
+ * Metodo que registra el callback para los eventos del evento final.
13
+ * @param callback La logica individual del evento final.
14
+ * @public
15
+ * @author HaJuegos - 11-03-2026
16
+ */
17
+ register(callback) {
18
+ this.evnSignal.subscribe((args) => {
19
+ try {
20
+ callback(args);
21
+ }
22
+ catch (e) {
23
+ if (e instanceof Error) {
24
+ console.warn(`[CATLOG]: Error en el evento ${this.evnName}. Detalles:`, e, e.stack);
25
+ }
26
+ }
27
+ });
28
+ }
29
+ }
@@ -0,0 +1,23 @@
1
+ import * as mc from "@minecraft/server";
2
+ /**
3
+ * Clase principal que maneja los eventos after de forma simplificada para mejor manejo de errores.
4
+ * @export
5
+ * @class AfterEventsSimplified
6
+ * @author HaJuegos - 11-03-2026
7
+ */
8
+ export declare class AfterEventsSimplified {
9
+ private entityDieManager;
10
+ /**
11
+ * Eventos que se inicializan cuando la clase es llamada o inicializada.
12
+ * @constructor
13
+ */
14
+ constructor();
15
+ /**
16
+ * Metodo auxiliar que ejecuta los eventos relacionado cuando una entidad muere de forma simplificada.
17
+ * @param {(args: mc.EntityDieAfterEvent) => void} callback Los argumentos del evento y su logica.
18
+ * @author HaJuegos - 11-03-2026
19
+ * @public
20
+ */
21
+ onEntityDie(callback: (args: mc.EntityDieAfterEvent) => void): void;
22
+ }
23
+ export declare const afterEventsSimplified: AfterEventsSimplified;
@@ -0,0 +1,27 @@
1
+ import { BaseEventManager } from "../core/eventsManager";
2
+ import * as mc from "@minecraft/server";
3
+ /**
4
+ * Clase principal que maneja los eventos after de forma simplificada para mejor manejo de errores.
5
+ * @export
6
+ * @class AfterEventsSimplified
7
+ * @author HaJuegos - 11-03-2026
8
+ */
9
+ export class AfterEventsSimplified {
10
+ /**
11
+ * Eventos que se inicializan cuando la clase es llamada o inicializada.
12
+ * @constructor
13
+ */
14
+ constructor() {
15
+ this.entityDieManager = new BaseEventManager(mc.world.afterEvents.entityDie, "AfterEntityDie");
16
+ }
17
+ /**
18
+ * Metodo auxiliar que ejecuta los eventos relacionado cuando una entidad muere de forma simplificada.
19
+ * @param {(args: mc.EntityDieAfterEvent) => void} callback Los argumentos del evento y su logica.
20
+ * @author HaJuegos - 11-03-2026
21
+ * @public
22
+ */
23
+ onEntityDie(callback) {
24
+ this.entityDieManager.register(callback);
25
+ }
26
+ }
27
+ export const afterEventsSimplified = new AfterEventsSimplified();
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Clase principal que maneja los eventos before de forma simplificada para mejor manejo de errores.
3
+ * @class BeforeEventsSimplified
4
+ * @author HaJuegos - 11-03-2026
5
+ * @export
6
+ */
7
+ export declare class BeforeEventsSimplified {
8
+ /**
9
+ * Eventos que se inicializan cuando la clase es llamada o inicializada.
10
+ * @constructor
11
+ */
12
+ constructor();
13
+ }
14
+ export declare const beforeEventsSimplified: BeforeEventsSimplified;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Clase principal que maneja los eventos before de forma simplificada para mejor manejo de errores.
3
+ * @class BeforeEventsSimplified
4
+ * @author HaJuegos - 11-03-2026
5
+ * @export
6
+ */
7
+ export class BeforeEventsSimplified {
8
+ /**
9
+ * Eventos que se inicializan cuando la clase es llamada o inicializada.
10
+ * @constructor
11
+ */
12
+ constructor() { }
13
+ }
14
+ export const beforeEventsSimplified = new BeforeEventsSimplified();
@@ -0,0 +1,3 @@
1
+ export * from "./core/eventsManager";
2
+ export * from "./events/afterEventsSimplifiedManager";
3
+ export * from "./events/beforeEventsSimplifiedManager";
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from "./core/eventsManager";
2
+ export * from "./events/afterEventsSimplifiedManager";
3
+ export * from "./events/beforeEventsSimplifiedManager";
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "simplified-mojang-api",
3
+ "version": "0.0.3",
4
+ "description": "About Public repository to simplify the event logic of Mojang's Script API, for informal or professional use",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/HaJuegos/simplified-mojang-API.git"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/HaJuegos/simplified-mojang-API/issues"
14
+ },
15
+ "homepage": "https://github.com/HaJuegos/simplified-mojang-API#readme",
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "prepare": "npm run build"
22
+ },
23
+ "peerDependencies": {
24
+ "@minecraft/debug-utilities": "^1.0.0-beta.1.26.0-stable",
25
+ "@minecraft/gameplay-utilities": "^1.3.0",
26
+ "@minecraft/server": "^2.6.0-beta.1.26.0-stable",
27
+ "@minecraft/server-gametest": "^1.0.0-beta.1.26.0-stable",
28
+ "@minecraft/server-graphics": "^1.0.0-beta.1.26.0-stable",
29
+ "@minecraft/server-net": "^1.0.0-beta.1.26.0-stable",
30
+ "@minecraft/server-ui": "^2.1.0-beta.1.26.0-stable",
31
+ "@minecraft/vanilla-data": "^1.26.2"
32
+ },
33
+ "author": "HaJuegos",
34
+ "license": "MIT",
35
+ "keywords": [
36
+ "minecraft",
37
+ "bedrock",
38
+ "scripting",
39
+ "addon",
40
+ "api",
41
+ "events",
42
+ "wrapper",
43
+ "mojang"
44
+ ],
45
+ "devDependencies": {
46
+ "@minecraft/debug-utilities": "^1.0.0-beta.1.26.0-stable",
47
+ "@minecraft/gameplay-utilities": "^1.3.0",
48
+ "@minecraft/server": "^2.6.0-beta.1.26.0-stable",
49
+ "@minecraft/server-gametest": "^1.0.0-beta.1.26.0-stable",
50
+ "@minecraft/server-graphics": "^1.0.0-beta.1.26.0-stable",
51
+ "@minecraft/server-net": "^1.0.0-beta.1.26.0-stable",
52
+ "@minecraft/server-ui": "^2.1.0-beta.1.26.0-stable",
53
+ "@minecraft/vanilla-data": "^1.26.2",
54
+ "@types/node": "^25.4.0",
55
+ "typescript": "^5.9.3"
56
+ }
57
+ }