yeow-api 0.2.11 → 0.2.12
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 +9 -30
package/package.json
CHANGED
package/src/event.ts
CHANGED
|
@@ -206,14 +206,7 @@ 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)
|
|
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
|
-
}
|
|
209
|
+
if (data.player) wrap.player = Player.get(data.player);
|
|
217
210
|
break;
|
|
218
211
|
}
|
|
219
212
|
if (data.from) wrap.from = _loc(data.from);
|
|
@@ -225,7 +218,7 @@ function adaptEvent(type: string, data: any): any {
|
|
|
225
218
|
// ── EventOn/EventOff ───────────────────────────────────────────────
|
|
226
219
|
|
|
227
220
|
export function eventOn<K extends keyof EventMap>(eventType: K, handler: (e: EventMap[K]) => void): () => void {
|
|
228
|
-
const wrapper = (data: any) => handler(
|
|
221
|
+
const wrapper = (data: any) => handler(data as EventMap[K]);
|
|
229
222
|
(wrapper as any)._raw = handler;
|
|
230
223
|
|
|
231
224
|
if (!(globalThis as any).__yeowEventHandlers) (globalThis as any).__yeowEventHandlers = {};
|
|
@@ -260,38 +253,24 @@ export function eventOff(eventType: string, handler: Function): void {
|
|
|
260
253
|
const handlers = (globalThis as any).__yeowEventHandlers?.[eventType];
|
|
261
254
|
if (!handlers?.length) return {};
|
|
262
255
|
|
|
263
|
-
console.log('[ev] type=' + eventType + ' data=' + JSON.stringify(data).slice(0,200));
|
|
264
|
-
|
|
265
256
|
const cancellable = data?._cancellable;
|
|
266
257
|
const mods: Record<string, any> = {};
|
|
267
258
|
|
|
268
|
-
|
|
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
|
-
}
|
|
259
|
+
const wrapped = adaptEvent(eventType, data);
|
|
275
260
|
|
|
276
261
|
const localMods: Record<string, any> = {};
|
|
277
262
|
if (cancellable) {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
});
|
|
284
|
-
} catch (e: any) {
|
|
285
|
-
console.log('[ev] defineProperty err: ' + (e?.message || e));
|
|
286
|
-
}
|
|
263
|
+
Object.defineProperty(wrapped, 'cancelled', {
|
|
264
|
+
get: () => localMods.cancelled || false,
|
|
265
|
+
set: (v: boolean) => { localMods.cancelled = v; },
|
|
266
|
+
enumerable: true,
|
|
267
|
+
});
|
|
287
268
|
}
|
|
288
269
|
|
|
289
270
|
for (const handler of handlers) {
|
|
290
271
|
try {
|
|
291
272
|
handler(wrapped);
|
|
292
|
-
} catch (e: any) {
|
|
293
|
-
console.log('[ev] handler err: msg=' + (e?.message || '') + ' name=' + (e?.name || '') + ' stack=' + (e?.stack || '').slice(0,300));
|
|
294
|
-
}
|
|
273
|
+
} catch (e: any) { console.error('event:', e?.message || e); }
|
|
295
274
|
}
|
|
296
275
|
if (cancellable && localMods.cancelled) mods.cancelled = true;
|
|
297
276
|
return mods;
|