Skip to content

Commit c053b82

Browse files
committed
feat: refactor onAte event
1 parent d8e0904 commit c053b82

File tree

1 file changed

+7
-50
lines changed

1 file changed

+7
-50
lines changed

src/lse/events/PlayerEvents.cpp

Lines changed: 7 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -285,54 +285,15 @@ LL_TYPE_INSTANCE_HOOK(
285285
return origin(player, pos);
286286
}
287287

288-
LL_TYPE_INSTANCE_HOOK(EatHook1, HookPriority::Normal, Player, &Player::eat, void, ItemStack const& instance) {
288+
LL_TYPE_INSTANCE_HOOK(EatHook, HookPriority::Normal, Player, &Player::completeUsingItem, void) {
289289
IF_LISTENED(EVENT_TYPES::onAte) {
290-
if (!CallEvent(
291-
EVENT_TYPES::onAte,
292-
PlayerClass::newPlayer(this),
293-
ItemClass::newItem(&const_cast<ItemStack&>(instance))
294-
)) {
295-
return;
296-
}
297-
}
298-
IF_LISTENED_END(EVENT_TYPES::onAte);
299-
origin(instance);
300-
}
301-
LL_TYPE_INSTANCE_HOOK(
302-
EatHook2,
303-
HookPriority::Normal,
304-
PotionItem,
305-
&PotionItem::$useTimeDepleted,
306-
::ItemUseMethod,
307-
::ItemStack& inoutInstance,
308-
Level* level,
309-
Player* player
310-
) {
311-
IF_LISTENED(EVENT_TYPES::onAte) {
312-
if (!CallEvent(EVENT_TYPES::onAte, PlayerClass::newPlayer(player), ItemClass::newItem(&inoutInstance))) {
313-
return ItemUseMethod::Unknown;
314-
}
315-
}
316-
IF_LISTENED_END(EVENT_TYPES::onAte);
317-
return origin(inoutInstance, level, player);
318-
}
319-
LL_TYPE_INSTANCE_HOOK(
320-
EatHook3,
321-
HookPriority::Normal,
322-
Item,
323-
(uintptr_t)BucketItem::$vftable()[79],
324-
::ItemUseMethod,
325-
::ItemStack& inoutInstance,
326-
Level* level,
327-
Player* player
328-
) {
329-
IF_LISTENED(EVENT_TYPES::onAte) {
330-
if (!CallEvent(EVENT_TYPES::onAte, PlayerClass::newPlayer(player), ItemClass::newItem(&inoutInstance))) {
331-
return ItemUseMethod::Unknown;
332-
}
290+
if (!CallEvent(EVENT_TYPES::onAte, PlayerClass::newPlayer(this), ItemClass::newItem(&*mItemInUse->mItem)))
291+
stopUsingItem();
292+
else origin();
293+
return;
333294
}
334295
IF_LISTENED_END(EVENT_TYPES::onAte);
335-
return origin(inoutInstance, level, player);
296+
origin();
336297
}
337298

338299
LL_TYPE_INSTANCE_HOOK(
@@ -676,11 +637,7 @@ void UseFrameEvent() {
676637
UseFrameHook1::hook();
677638
UseFrameHook2::hook();
678639
}
679-
void EatEvent() {
680-
EatHook1::hook();
681-
EatHook2::hook();
682-
EatHook3::hook();
683-
}
640+
void EatEvent() { EatHook::hook(); }
684641
void ChangeDimensionEvent() { ChangeDimensionHook::hook(); };
685642
void OpenContainerScreenEvent() { OpenContainerScreenHook::hook(); }
686643
void UseRespawnAnchorEvent() { UseRespawnAnchorHook::hook(); }

0 commit comments

Comments
 (0)