3131import com .lunarclient .apollo .event .packetenrichment .world .ApolloPlayerUseItemBucketEvent ;
3232import com .lunarclient .apollo .event .packetenrichment .world .ApolloPlayerUseItemEvent ;
3333import com .lunarclient .apollo .network .NetworkTypes ;
34+ import com .lunarclient .apollo .option .Options ;
3435import com .lunarclient .apollo .packetenrichment .v1 .PlayerAttackMessage ;
3536import com .lunarclient .apollo .packetenrichment .v1 .PlayerChatCloseMessage ;
3637import com .lunarclient .apollo .packetenrichment .v1 .PlayerChatOpenMessage ;
@@ -55,77 +56,89 @@ public PacketEnrichmentImpl() {
5556 }
5657
5758 private void onReceivePacket (ApolloReceivePacketEvent event ) {
58- event .unpack (PlayerAttackMessage .class ).ifPresent (packet -> {
59- ApolloPlayerAttackEvent playerAttackEvent = new ApolloPlayerAttackEvent (
60- event .getPlayer (),
61- NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
62- NetworkTypes .fromProtobuf (packet .getTargetInfo ()),
63- NetworkTypes .fromProtobuf (packet .getAttackerInfo ()),
64- packet .getDistance ()
65- );
66-
67- EventBus .EventResult <ApolloPlayerAttackEvent > result = EventBus .getBus ().post (playerAttackEvent );
68-
69- for (Throwable throwable : result .getThrowing ()) {
70- throwable .printStackTrace ();
71- }
72- });
73-
74- event .unpack (PlayerChatOpenMessage .class ).ifPresent (packet -> {
75- ApolloPlayerChatOpenEvent playerChatOpenEvent = new ApolloPlayerChatOpenEvent (
76- event .getPlayer (),
77- NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
78- NetworkTypes .fromProtobuf (packet .getPlayerInfo ()));
79-
80- EventBus .EventResult <ApolloPlayerChatOpenEvent > result = EventBus .getBus ().post (playerChatOpenEvent );
81-
82- for (Throwable throwable : result .getThrowing ()) {
83- throwable .printStackTrace ();
84- }
85- });
86-
87- event .unpack (PlayerChatCloseMessage .class ).ifPresent (packet -> {
88- ApolloPlayerChatCloseEvent playerChatCloseEvent = new ApolloPlayerChatCloseEvent (
89- event .getPlayer (),
90- NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
91- NetworkTypes .fromProtobuf (packet .getPlayerInfo ()));
92-
93- EventBus .EventResult <ApolloPlayerChatCloseEvent > result = EventBus .getBus ().post (playerChatCloseEvent );
94-
95- for (Throwable throwable : result .getThrowing ()) {
96- throwable .printStackTrace ();
97- }
98- });
99-
100- event .unpack (PlayerUseItemMessage .class ).ifPresent (packet -> {
101- ApolloPlayerUseItemEvent playerUseItemEvent = new ApolloPlayerUseItemEvent (
102- event .getPlayer (),
103- NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
104- NetworkTypes .fromProtobuf (packet .getPlayerInfo ()),
105- packet .getMainHand ()
106- );
107-
108- EventBus .EventResult <ApolloPlayerUseItemEvent > result = EventBus .getBus ().post (playerUseItemEvent );
109-
110- for (Throwable throwable : result .getThrowing ()) {
111- throwable .printStackTrace ();
112- }
113- });
114-
115- event .unpack (PlayerUseItemBucketMessage .class ).ifPresent (packet -> {
116- ApolloPlayerUseItemBucketEvent playerUseItemBucketEvent = new ApolloPlayerUseItemBucketEvent (
117- event .getPlayer (),
118- NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
119- NetworkTypes .fromProtobuf (packet .getPlayerInfo ()),
120- NetworkTypes .fromProtobuf (packet .getRayTraceResult ())
121- );
122-
123- EventBus .EventResult <ApolloPlayerUseItemBucketEvent > result = EventBus .getBus ().post (playerUseItemBucketEvent );
124-
125- for (Throwable throwable : result .getThrowing ()) {
126- throwable .printStackTrace ();
127- }
128- });
59+ Options options = this .getOptions ();
60+
61+ if (options .get (PacketEnrichmentModule .PLAYER_CHAT_OPEN_EVENT )) {
62+ event .unpack (PlayerAttackMessage .class ).ifPresent (packet -> {
63+ ApolloPlayerAttackEvent playerAttackEvent = new ApolloPlayerAttackEvent (
64+ event .getPlayer (),
65+ NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
66+ NetworkTypes .fromProtobuf (packet .getTargetInfo ()),
67+ NetworkTypes .fromProtobuf (packet .getAttackerInfo ()),
68+ packet .getDistance ()
69+ );
70+
71+ EventBus .EventResult <ApolloPlayerAttackEvent > result = EventBus .getBus ().post (playerAttackEvent );
72+
73+ for (Throwable throwable : result .getThrowing ()) {
74+ throwable .printStackTrace ();
75+ }
76+ });
77+ }
78+
79+ if (options .get (PacketEnrichmentModule .PLAYER_CHAT_OPEN_EVENT )) {
80+ event .unpack (PlayerChatOpenMessage .class ).ifPresent (packet -> {
81+ ApolloPlayerChatOpenEvent playerChatOpenEvent = new ApolloPlayerChatOpenEvent (
82+ event .getPlayer (),
83+ NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
84+ NetworkTypes .fromProtobuf (packet .getPlayerInfo ()));
85+
86+ EventBus .EventResult <ApolloPlayerChatOpenEvent > result = EventBus .getBus ().post (playerChatOpenEvent );
87+
88+ for (Throwable throwable : result .getThrowing ()) {
89+ throwable .printStackTrace ();
90+ }
91+ });
92+ }
93+
94+ if (options .get (PacketEnrichmentModule .PLAYER_CHAT_CLOSE_EVENT )) {
95+ event .unpack (PlayerChatCloseMessage .class ).ifPresent (packet -> {
96+ ApolloPlayerChatCloseEvent playerChatCloseEvent = new ApolloPlayerChatCloseEvent (
97+ event .getPlayer (),
98+ NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
99+ NetworkTypes .fromProtobuf (packet .getPlayerInfo ()));
100+
101+ EventBus .EventResult <ApolloPlayerChatCloseEvent > result = EventBus .getBus ().post (playerChatCloseEvent );
102+
103+ for (Throwable throwable : result .getThrowing ()) {
104+ throwable .printStackTrace ();
105+ }
106+ });
107+ }
108+
109+ if (options .get (PacketEnrichmentModule .PLAYER_USE_ITEM_EVENT )) {
110+ event .unpack (PlayerUseItemMessage .class ).ifPresent (packet -> {
111+ ApolloPlayerUseItemEvent playerUseItemEvent = new ApolloPlayerUseItemEvent (
112+ event .getPlayer (),
113+ NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
114+ NetworkTypes .fromProtobuf (packet .getPlayerInfo ()),
115+ packet .getMainHand ()
116+ );
117+
118+ EventBus .EventResult <ApolloPlayerUseItemEvent > result = EventBus .getBus ().post (playerUseItemEvent );
119+
120+ for (Throwable throwable : result .getThrowing ()) {
121+ throwable .printStackTrace ();
122+ }
123+ });
124+ }
125+
126+ if (options .get (PacketEnrichmentModule .PLAYER_USE_ITEM_BUCKET_EVENT )) {
127+ event .unpack (PlayerUseItemBucketMessage .class ).ifPresent (packet -> {
128+ ApolloPlayerUseItemBucketEvent playerUseItemBucketEvent = new ApolloPlayerUseItemBucketEvent (
129+ event .getPlayer (),
130+ NetworkTypes .fromProtobuf (packet .getPacketInfo ().getInstantiationTime ()),
131+ NetworkTypes .fromProtobuf (packet .getPlayerInfo ()),
132+ NetworkTypes .fromProtobuf (packet .getRayTraceResult ())
133+ );
134+
135+ EventBus .EventResult <ApolloPlayerUseItemBucketEvent > result = EventBus .getBus ().post (playerUseItemBucketEvent );
136+
137+ for (Throwable throwable : result .getThrowing ()) {
138+ throwable .printStackTrace ();
139+ }
140+ });
141+ }
129142 }
130143
131144}
0 commit comments