Commit 70b1c22e8151a7d2b087cc92d465e3a3b9ea8b32
1 parent
8e714482
don't pass handled packet events to packet handlers, they should implement the a…
…ppropriate interface instead
Showing
1 changed file
with
16 additions
and
12 deletions
java/common/com/mumfrey/liteloader/core/PacketEvents.java
... | ... | @@ -131,17 +131,17 @@ public abstract class PacketEvents implements InterfaceProvider |
131 | 131 | |
132 | 132 | private void handlePacket(PacketEventInfo<Packet> e, INetHandler netHandler, int packetId) |
133 | 133 | { |
134 | - this.handlePacketEvent(e, netHandler, packetId); | |
135 | - | |
136 | - if (this.packetHandlers[packetId] == null || e.isCancelled()) | |
134 | + if (this.handlePacketEvent(e, netHandler, packetId) || this.packetHandlers[packetId] == null || e.isCancelled()) | |
137 | 135 | { |
138 | 136 | return; |
139 | 137 | } |
140 | 138 | |
141 | - if (!this.packetHandlers[packetId].all().handlePacket(netHandler, e.getSource())) | |
139 | + if (this.packetHandlers[packetId].all().handlePacket(netHandler, e.getSource())) | |
142 | 140 | { |
143 | - e.cancel(); | |
141 | + return; | |
144 | 142 | } |
143 | + | |
144 | + e.cancel(); | |
145 | 145 | } |
146 | 146 | |
147 | 147 | /** |
... | ... | @@ -149,46 +149,50 @@ public abstract class PacketEvents implements InterfaceProvider |
149 | 149 | * @param netHandler |
150 | 150 | * @param packetId |
151 | 151 | * @param packet |
152 | + * | |
153 | + * @return true if the packet was handled by a local handler and shouldn't be forwarded to later handlers | |
152 | 154 | */ |
153 | - protected void handlePacketEvent(PacketEventInfo<Packet> e, INetHandler netHandler, int packetId) | |
155 | + protected boolean handlePacketEvent(PacketEventInfo<Packet> e, INetHandler netHandler, int packetId) | |
154 | 156 | { |
155 | 157 | Packet packet = e.getSource(); |
156 | 158 | |
157 | 159 | if (packetId == this.loginSuccessPacketId) |
158 | 160 | { |
159 | 161 | this.handlePacket(e, netHandler, (S02PacketLoginSuccess)packet); |
160 | - return; | |
162 | + return true; | |
161 | 163 | } |
162 | 164 | |
163 | 165 | if (packetId == this.serverChatPacketId) |
164 | 166 | { |
165 | 167 | this.handlePacket(e, netHandler, (S02PacketChat)packet); |
166 | - return; | |
168 | + return true; | |
167 | 169 | } |
168 | 170 | |
169 | 171 | if (packetId == this.clientChatPacketId) |
170 | 172 | { |
171 | 173 | this.handlePacket(e, netHandler, (C01PacketChatMessage)packet); |
172 | - return; | |
174 | + return true; | |
173 | 175 | } |
174 | 176 | |
175 | 177 | if (packetId == this.joinGamePacketId) |
176 | 178 | { |
177 | 179 | this.handlePacket(e, netHandler, (S01PacketJoinGame)packet); |
178 | - return; | |
180 | + return true; | |
179 | 181 | } |
180 | 182 | |
181 | 183 | if (packetId == this.serverPayloadPacketId) |
182 | 184 | { |
183 | 185 | this.handlePacket(e, netHandler, (S3FPacketCustomPayload)packet); |
184 | - return; | |
186 | + return true; | |
185 | 187 | } |
186 | 188 | |
187 | 189 | if (packetId == this.clientPayloadPacketId) |
188 | 190 | { |
189 | 191 | this.handlePacket(e, netHandler, (C17PacketCustomPayload)packet); |
190 | - return; | |
192 | + return true; | |
191 | 193 | } |
194 | + | |
195 | + return false; | |
192 | 196 | } |
193 | 197 | |
194 | 198 | /** | ... | ... |