22#include " ../../../../Utils/Render/DrawUtils.hpp"
33
44void HitboxListener::onSetupAndRender (SetupAndRenderEvent &event) {
5- entitiesToRender .clear ();
5+ aabbsToRender .clear ();
66 if (!SDK::clientInstance || !SDK::clientInstance->getLocalPlayer () || !SDK::clientInstance->mcgame ->mouseGrabbed ||
77 !SDK::clientInstance->getLocalPlayer ()->level )
88 return ;
@@ -15,15 +15,12 @@ void HitboxListener::onSetupAndRender(SetupAndRenderEvent &event) {
1515 ent->getActorFlag (ActorFlags::FLAG_INVISIBLE)) // + ent == player ||
1616 continue ;
1717
18- // Add to render list
19- entitiesToRender.insert (ent->getEntityId ());
18+ aabbsToRender.emplace_back (ent->getaabb ()->aabb );
2019 }
2120 }
2221}
2322
2423void HitboxListener::onRender (RenderEvent &event) {
25- if (!this ->module ->isEnabled ())
26- return ;
2724
2825 if (!SDK::clientInstance || !SDK::clientInstance->getLocalPlayer () || !SDK::clientInstance->mcgame ->mouseGrabbed ||
2926 !SDK::clientInstance->getLocalPlayer ()->level )
@@ -37,13 +34,10 @@ void HitboxListener::onRender(RenderEvent &event) {
3734 if (module ->settings .getSettingByName <bool >(" color_rgb" )->value ) color2 = FlarialGUI::rgbColor;
3835 else color2 = FlarialGUI::HexToColorF (module ->settings .getSettingByName <std::string>(" color" )->value );
3936
40- for (const auto &ent: player->level ->getRuntimeActorList ()) {
41- if (entitiesToRender.contains (ent->getEntityId ())){
42- DrawUtils::addEntityBox (ent, (float )fmax (0 .5f , 1 / (float )fmax (1 ,
43- player->getRenderPositionComponent ()->renderPos .dist (
44- ent->getRenderPositionComponent ()->renderPos ))),
45- color2);
46- }
37+ for (const auto &aabb: aabbsToRender) {
38+ auto lineWidth = (float )fmax (0 .5f , 1 / (float )fmax (1 ,
39+ player->getRenderPositionComponent ()->renderPos .dist (aabb.lower )));
40+ DrawUtils::addBox (aabb.lower , aabb.upper , lineWidth, 1 , color2);
4741 }
4842 }
4943}
0 commit comments