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.
- package/package.json +1 -1
- package/src/event.ts +29 -8
package/package.json
CHANGED
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)
|
|
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
|
-
|
|
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
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
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) {
|
|
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;
|