yeow-api 0.2.9 → 0.2.11

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/event.ts +29 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yeow-api",
3
- "version": "0.2.9",
3
+ "version": "0.2.11",
4
4
  "description": "Yeow API �?TypeScript OOP wrappers over the task protocol",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
package/src/event.ts CHANGED
@@ -206,7 +206,14 @@ function adaptEvent(type: string, data: any): any {
206
206
  case 'playerDropItem': case 'playerPickupItem': case 'playerBucketFill': case 'playerBucketEmpty':
207
207
  case 'playerExpChange': case 'playerLevelChange': case 'playerGameModeChange': case 'foodLevelChange':
208
208
  case 'blockBreak': case 'blockPlace': case 'inventoryOpen': case 'inventoryClose':
209
- if (data.player) wrap.player = Player.get(data.player);
209
+ if (data.player) {
210
+ try {
211
+ wrap.player = Player.get(data.player);
212
+ console.log('[ev] Player.get(' + data.player + ') = ' + (wrap.player ? 'Player' : 'null'));
213
+ } catch (e: any) {
214
+ console.log('[ev] Player.get err: ' + (e?.message || e) + ' stack=' + (e?.stack || ''));
215
+ }
216
+ }
210
217
  break;
211
218
  }
212
219
  if (data.from) wrap.from = _loc(data.from);
@@ -253,24 +260,38 @@ export function eventOff(eventType: string, handler: Function): void {
253
260
  const handlers = (globalThis as any).__yeowEventHandlers?.[eventType];
254
261
  if (!handlers?.length) return {};
255
262
 
263
+ console.log('[ev] type=' + eventType + ' data=' + JSON.stringify(data).slice(0,200));
264
+
256
265
  const cancellable = data?._cancellable;
257
266
  const mods: Record<string, any> = {};
258
267
 
259
- const wrapped = adaptEvent(eventType, data);
268
+ let wrapped;
269
+ try {
270
+ wrapped = adaptEvent(eventType, data);
271
+ } catch (e: any) {
272
+ console.log('[ev] adaptEvent err: ' + (e?.message || e) + ' stack=' + (e?.stack || ''));
273
+ return mods;
274
+ }
260
275
 
261
276
  const localMods: Record<string, any> = {};
262
277
  if (cancellable) {
263
- Object.defineProperty(wrapped, 'cancelled', {
264
- get: () => localMods.cancelled || false,
265
- set: (v: boolean) => { localMods.cancelled = v; },
266
- enumerable: true,
267
- });
278
+ try {
279
+ Object.defineProperty(wrapped, 'cancelled', {
280
+ get: () => localMods.cancelled || false,
281
+ set: (v: boolean) => { localMods.cancelled = v; },
282
+ enumerable: true,
283
+ });
284
+ } catch (e: any) {
285
+ console.log('[ev] defineProperty err: ' + (e?.message || e));
286
+ }
268
287
  }
269
288
 
270
289
  for (const handler of handlers) {
271
290
  try {
272
291
  handler(wrapped);
273
- } catch (e: any) { console.error('event:', e?.message || e); }
292
+ } catch (e: any) {
293
+ console.log('[ev] handler err: msg=' + (e?.message || '') + ' name=' + (e?.name || '') + ' stack=' + (e?.stack || '').slice(0,300));
294
+ }
274
295
  }
275
296
  if (cancellable && localMods.cancelled) mods.cancelled = true;
276
297
  return mods;