Skip to content

Commit b2a142b

Browse files
committed
feat: add onConsumeTotem #104
docs: update onAttackEntity
1 parent 0f163fc commit b2a142b

File tree

5 files changed

+13
-15
lines changed

5 files changed

+13
-15
lines changed

docs/apis/EventAPI/PlayerEvents.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,6 @@ Reminder: This event does not fire when the player returns to the Overworld from
139139
The player that attacked an entity.
140140
- entity : `Entity`
141141
The entity that is being attacked.
142-
- damage : `float`
143-
The damage dealt by this attack.
144142

145143
- Intercept events: function returns `false`
146144

docs/apis/EventAPI/PlayerEvents.zh.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,6 @@
142142

143143
- entity : `Entity`
144144
被攻击的实体对象
145-
146-
- damage : `float`
147-
攻击所造成的伤害
148145

149146
- 拦截事件:函数返回`false`
150147

src/legacy/api/EventAPI.cpp

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -467,16 +467,9 @@ void EnableEventListener(int eventId) {
467467
lse::events::PlayerEatEvent();
468468
break;
469469

470-
// case EVENT_TYPES::onConsumeTotem:
471-
// Event::PlayerConsumeTotemEvent::subscribe(
472-
// [](const PlayerConsumeTotemEvent &ev) {
473-
// IF_LISTENED(EVENT_TYPES::onConsumeTotem) {
474-
// CallEvent(EVENT_TYPES::onConsumeTotem,
475-
// PlayerClass::newPlayer(ev.mPlayer));
476-
// }
477-
// IF_LISTENED_END(EVENT_TYPES::onConsumeTotem);
478-
// });
479-
// break;
470+
case EVENT_TYPES::onConsumeTotem:
471+
lse::events::PlayerConsumeTotemEvent();
472+
break;
480473

481474
// case EVENT_TYPES::onEffectAdded:
482475
// case EVENT_TYPES::onEffectRemoved:

src/legacy/events/EventHooks.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -935,6 +935,14 @@ LL_TYPE_INSTANCE_HOOK(
935935
// return origin(instance, entity, pos, face, clickPos);
936936
// }
937937

938+
LL_TYPE_INSTANCE_HOOK(PlayerConsumeTotemHook, HookPriority::Normal, Player, &Player::consumeTotem, bool) {
939+
IF_LISTENED(EVENT_TYPES::onConsumeTotem) {
940+
CallEventRtnValue(EVENT_TYPES::onConsumeTotem, false, PlayerClass::newPlayer(this));
941+
}
942+
IF_LISTENED_END(EVENT_TYPES::onConsumeTotem);
943+
return origin();
944+
}
945+
938946
void PlayerStartDestroyBlock() { PlayerStartDestroyHook::hook(); }
939947
void PlayerDropItem() { PlayerDropItemHook::hook(); }
940948
void PlayerOpenContainerEvent() { PlayerOpenContainerHook::hook(); }
@@ -984,6 +992,7 @@ void PlayerUseBucketTakeEvent() {
984992
PlayerUseBucketTakeHook1::hook();
985993
PlayerUseBucketTakeHook2::hook();
986994
}
995+
void PlayerConsumeTotemEvent() { PlayerConsumeTotemHook::hook(); }
987996

988997
// NOLINTEND(cppcoreguidelines-pro-type-reinterpret-cast)
989998
// NOLINTEND(cppcoreguidelines-avoid-non-const-global-variables)

src/legacy/events/EventHooks.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,5 +34,6 @@ void PlayerPullFishingHookEvent();
3434
void ScoreChangedEvent();
3535
void PlayerUseBucketPlaceEvent();
3636
void PlayerUseBucketTakeEvent();
37+
void PlayerConsumeTotemEvent();
3738

3839
} // namespace lse::events

0 commit comments

Comments
 (0)