@@ -935,14 +935,35 @@ 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 ) {
938+ LL_TYPE_INSTANCE_HOOK (PlayerConsumeTotemHook, HookPriority::Normal, Player, " ? consumeTotem@Player@@UEAA_NXZ " , bool ) {
939939 IF_LISTENED (EVENT_TYPES::onConsumeTotem) {
940940 CallEventRtnValue (EVENT_TYPES::onConsumeTotem, false , PlayerClass::newPlayer (this ));
941941 }
942942 IF_LISTENED_END (EVENT_TYPES::onConsumeTotem);
943943 return origin ();
944944}
945945
946+ LL_TYPE_INSTANCE_HOOK (
947+ PlayerSetArmorHook,
948+ HookPriority::Normal,
949+ ServerPlayer,
950+ " ?setArmor@ServerPlayer@@UEAAXW4ArmorSlot@@AEBVItemStack@@@Z" ,
951+ void ,
952+ ArmorSlot armorSlot,
953+ ItemStack const & item
954+ ) {
955+ IF_LISTENED (EVENT_TYPES::onSetArmor) {
956+ CallEventVoid (
957+ EVENT_TYPES::onSetArmor,
958+ PlayerClass::newPlayer (this ),
959+ Number::newNumber ((int )armorSlot),
960+ ItemClass::newItem (&const_cast <ItemStack&>(item), false )
961+ );
962+ }
963+ IF_LISTENED_END (EVENT_TYPES::onSetArmor);
964+ origin (std::move (armorSlot), item);
965+ }
966+
946967void PlayerStartDestroyBlock () { PlayerStartDestroyHook::hook (); }
947968void PlayerDropItem () { PlayerDropItemHook::hook (); }
948969void PlayerOpenContainerEvent () { PlayerOpenContainerHook::hook (); }
@@ -993,6 +1014,7 @@ void PlayerUseBucketTakeEvent() {
9931014 PlayerUseBucketTakeHook2::hook ();
9941015}
9951016void PlayerConsumeTotemEvent () { PlayerConsumeTotemHook::hook (); }
1017+ void PlayerSetArmorEvent () { PlayerSetArmorHook::hook (); }
9961018
9971019// NOLINTEND(cppcoreguidelines-pro-type-reinterpret-cast)
9981020// NOLINTEND(cppcoreguidelines-avoid-non-const-global-variables)
0 commit comments