@@ -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
338299LL_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 (); }
684641void ChangeDimensionEvent () { ChangeDimensionHook::hook (); };
685642void OpenContainerScreenEvent () { OpenContainerScreenHook::hook (); }
686643void UseRespawnAnchorEvent () { UseRespawnAnchorHook::hook (); }
0 commit comments