Commit 70b1c22e8151a7d2b087cc92d465e3a3b9ea8b32

Authored by Mumfrey
1 parent 8e714482

don't pass handled packet events to packet handlers, they should implement the a…

…ppropriate interface instead
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 /**
... ...