Skip to content

Commit fed55f9

Browse files
committed
fix: fix some hook
1 parent 2d9eb5f commit fed55f9

File tree

1 file changed

+19
-25
lines changed

1 file changed

+19
-25
lines changed

src/lse/events/EventHooks.cpp

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -98,19 +98,19 @@ LL_TYPE_INSTANCE_HOOK(
9898
PlayerOpenContainerHook,
9999
HookPriority::Normal,
100100
VanillaServerGameplayEventListener,
101-
"?onEvent@VanillaServerGameplayEventListener@@UEAA?AW4EventResult@@AEBUPlayerOpenContainerEvent@@@Z",
101+
&VanillaServerGameplayEventListener::onEvent,
102102
EventResult,
103-
void* playerOpenContainerEvent
103+
struct PlayerOpenContainerEvent const& playerOpenContainerEvent
104104
) {
105105
IF_LISTENED(EVENT_TYPES::onOpenContainer) {
106-
Actor* actor = static_cast<WeakEntityRef*>(playerOpenContainerEvent)->tryUnwrap<Actor>();
106+
Actor* actor = static_cast<WeakEntityRef*>((void*)&playerOpenContainerEvent)->tryUnwrap<Actor>();
107107
if (actor->isType(ActorType::Player)) {
108108
CallEventRtnValue(
109109
EVENT_TYPES::onOpenContainer,
110110
EventResult::StopProcessing,
111111
PlayerClass::newPlayer(static_cast<Player*>(actor)),
112112
BlockClass::newBlock(
113-
ll::memory::dAccess<BlockPos>(playerOpenContainerEvent, 28),
113+
ll::memory::dAccess<BlockPos>(&playerOpenContainerEvent, 28),
114114
actor->getDimensionId()
115115
)
116116
);
@@ -124,9 +124,9 @@ LL_TYPE_INSTANCE_HOOK(
124124
PlayerCloseContainerHook1,
125125
HookPriority::Normal,
126126
ChestBlockActor,
127-
"?stopOpen@ChestBlockActor@@UEAAXAEAVPlayer@@@Z",
127+
&ChestBlockActor::stopOpen,
128128
void,
129-
Player const& player
129+
Player& player
130130
) {
131131
IF_LISTENED(EVENT_TYPES::onCloseContainer) {
132132
CallEventVoid(
@@ -146,9 +146,9 @@ LL_TYPE_INSTANCE_HOOK(
146146
PlayerCloseContainerHook2,
147147
HookPriority::Normal,
148148
BarrelBlockActor,
149-
"?stopOpen@BarrelBlockActor@@UEAAXAEAVPlayer@@@Z",
149+
&BarrelBlockActor::stopOpen,
150150
void,
151-
Player const& player
151+
Player& player
152152
) {
153153
IF_LISTENED(EVENT_TYPES::onCloseContainer) {
154154
CallEventVoid(
@@ -477,14 +477,7 @@ LL_TYPE_INSTANCE_HOOK(
477477
return shouldPush;
478478
}
479479

480-
LL_TYPE_INSTANCE_HOOK(
481-
PlayerEatHook,
482-
HookPriority::Normal,
483-
Player,
484-
"?eat@Player@@QEAAXAEBVItemStack@@@Z",
485-
void,
486-
ItemStack const& instance
487-
) {
480+
LL_TYPE_INSTANCE_HOOK(PlayerEatHook, HookPriority::Normal, Player, &Player::eat, void, ItemStack const& instance) {
488481
IF_LISTENED(EVENT_TYPES::onAte) {
489482
CallEventVoid(
490483
EVENT_TYPES::onAte,
@@ -500,8 +493,8 @@ LL_TYPE_INSTANCE_HOOK(
500493
ExplodeHook,
501494
HookPriority::Normal,
502495
Level,
503-
"?explode@Level@@UEAAXAEAVBlockSource@@PEAVActor@@AEBVVec3@@M_N3M3@Z",
504-
void,
496+
&Level::explode,
497+
bool,
505498
BlockSource& region,
506499
Actor* source,
507500
Vec3 const& pos,
@@ -513,8 +506,9 @@ LL_TYPE_INSTANCE_HOOK(
513506
) {
514507
IF_LISTENED(EVENT_TYPES::onEntityExplode) {
515508
if (source) {
516-
CallEventVoid(
509+
CallEventRtnValue(
517510
EVENT_TYPES::onEntityExplode,
511+
false,
518512
EntityClass::newEntity(source),
519513
FloatPos::newPos(pos, region.getDimensionId()),
520514
Number::newNumber(explosionRadius),
@@ -527,8 +521,9 @@ LL_TYPE_INSTANCE_HOOK(
527521
IF_LISTENED_END(EVENT_TYPES::onEntityExplode);
528522

529523
IF_LISTENED(EVENT_TYPES::onBlockExplode) {
530-
CallEventVoid(
524+
CallEventRtnValue(
531525
EVENT_TYPES::onBlockExplode,
526+
false,
532527
BlockClass::newBlock(pos, region.getDimensionId()),
533528
IntPos::newPos(pos, region.getDimensionId()),
534529
Number::newNumber(explosionRadius),
@@ -659,17 +654,16 @@ LL_TYPE_INSTANCE_HOOK(
659654
PlayerChangeDimensionHook,
660655
HookPriority::Normal,
661656
Level,
662-
"?requestPlayerChangeDimension@Level@@UEAAXAEAVPlayer@@V?$unique_ptr@VChangeDimensionRequest@@U?$default_delete@"
663-
"VChangeDimensionRequest@@@std@@@std@@@Z",
657+
&Level::requestPlayerChangeDimension,
664658
void,
665-
Player& player,
666-
std::unique_ptr<ChangeDimensionRequest> changeRequest
659+
Player& player,
660+
ChangeDimensionRequest&& changeRequest
667661
) {
668662
IF_LISTENED(EVENT_TYPES::onChangeDim) {
669663
CallEventVoid(
670664
EVENT_TYPES::onChangeDim,
671665
PlayerClass::newPlayer(&player),
672-
Number::newNumber(changeRequest->mToDimensionId)
666+
Number::newNumber(changeRequest.mToDimensionId)
673667
);
674668
}
675669
IF_LISTENED_END(EVENT_TYPES::onChangeDim);

0 commit comments

Comments
 (0)