@hylithiumjs.com/core 1.0.1 → 1.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/dist/index.d.ts CHANGED
@@ -1,13 +1,26 @@
1
- export * from './decorators';
2
- import { Hytale } from './api';
3
- import type { Message as MessageType, Universe as UniverseType, Player, PlayerRef, PlayerConnectEvent, PlayerChatEvent, CommandContext, MessageStatic, UniverseStatic, ColorsStatic, HytaleServerStatic } from './types';
4
- export declare const Message: MessageStatic;
5
- export type Message = MessageType;
6
- export declare const Universe: UniverseStatic;
7
- export type Universe = UniverseType;
8
- export declare const Colors: ColorsStatic;
9
- export declare const HytaleServer: HytaleServerStatic;
10
- export declare const commands: any;
11
- export { Hytale };
12
- export type { Player, PlayerRef, PlayerConnectEvent, PlayerChatEvent, CommandContext };
1
+ export * from "./types";
2
+ import type { EventHandler, EventType } from "./types";
3
+ /**
4
+ * Array of registered event handlers.
5
+ * HyLithiumJS reads this array to register handlers with the event system.
6
+ */
7
+ export declare const handlers: EventHandler[];
8
+ /**
9
+ * Decorator to register a method as an event listener.
10
+ *
11
+ * @param eventType - The type of event to listen for
12
+ * @returns A decorator function
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * class MyPlugin {
17
+ * @EventListener("PlayerConnectEvent")
18
+ * onPlayerConnect(event: PlayerConnectEvent) {
19
+ * const player = event.getPlayer();
20
+ * logger.info(`Player ${player.getDisplayName()} connected!`);
21
+ * }
22
+ * }
23
+ * ```
24
+ */
25
+ export declare function EventListener(eventType: EventType): (target: unknown, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
13
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACR,OAAO,IAAI,WAAW,EACtB,QAAQ,IAAI,YAAY,EACxB,MAAM,EACN,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,kBAAkB,EACrB,MAAM,SAAS,CAAC;AAEjB,MAAM,CAAC,OAAO,CAAC,MAAM,OAAO,EAAE,aAAa,CAAC;AAC5C,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC;AAElC,MAAM,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,cAAc,CAAC;AAC9C,MAAM,MAAM,QAAQ,GAAG,YAAY,CAAC;AAEpC,MAAM,CAAC,OAAO,CAAC,MAAM,MAAM,EAAE,YAAY,CAAC;AAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,YAAY,EAAE,kBAAkB,CAAC;AAEtD,MAAM,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,GAAG,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,YAAY,EAAO,CAAC;AAE3C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,IAC7B,QAAQ,OAAO,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBAOxF"}
package/dist/index.js CHANGED
@@ -1,4 +1,32 @@
1
- export * from './decorators';
2
- import { Hytale } from './api';
3
- export { Hytale };
4
- //# sourceMappingURL=index.js.map
1
+ export * from "./types";
2
+ /**
3
+ * Array of registered event handlers.
4
+ * HyLithiumJS reads this array to register handlers with the event system.
5
+ */
6
+ export const handlers = [];
7
+ /**
8
+ * Decorator to register a method as an event listener.
9
+ *
10
+ * @param eventType - The type of event to listen for
11
+ * @returns A decorator function
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * class MyPlugin {
16
+ * @EventListener("PlayerConnectEvent")
17
+ * onPlayerConnect(event: PlayerConnectEvent) {
18
+ * const player = event.getPlayer();
19
+ * logger.info(`Player ${player.getDisplayName()} connected!`);
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ export function EventListener(eventType) {
25
+ return function (target, propertyKey, descriptor) {
26
+ handlers.push({
27
+ eventType: eventType,
28
+ callback: descriptor.value
29
+ });
30
+ return descriptor;
31
+ };
32
+ }