@Redirect(method = "processPacket", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/play/INetHandlerPlayClient;handleCustomPayload(Lnet/minecraft/network/play/server/SPacketCustomPayload;)V"))
private void processPacket(INetHandlerPlayClient netHandlerPlayClient, SPacketCustomPayload packet) {
- PacketBuffer data = null;
- try {
- data = packet.getBufferData();
- PayloadReader reader = new PayloadReader(data);
- switch (channel.toString()) {
- case InitializeClient.NAME: {
- EventBus.publish(InitializeClient.getEvent(reader));
- ((NetHandlerPlayClient) netHandlerPlayClient).sendPacket(SubscribeToServer.getPayload().build());
- break;
- }
- case AddBoundingBox.NAME: {
- EventBus.publish(AddBoundingBox.getEvent(reader));
- break;
- }
- case RemoveBoundingBox.NAME: {
- EventBus.publish(RemoveBoundingBox.getEvent(reader));
- break;
- }
- default: {
- netHandlerPlayClient.handleCustomPayload(packet);
- break;
+ String channelName = channel.toString();
+ if (channelName.startsWith("bbor:")) {
+ PacketBuffer data = null;
+ try {
+ data = packet.getBufferData();
+ PayloadReader reader = new PayloadReader(data);
+ switch (channelName) {
+ case InitializeClient.NAME: {
+ EventBus.publish(InitializeClient.getEvent(reader));
+ ((NetHandlerPlayClient) netHandlerPlayClient).sendPacket(SubscribeToServer.getPayload().build());
+ break;
+ }
+ case AddBoundingBox.NAME: {
+ EventBus.publish(AddBoundingBox.getEvent(reader));
+ break;
+ }
+ case RemoveBoundingBox.NAME: {
+ EventBus.publish(RemoveBoundingBox.getEvent(reader));
+ break;
+ }
}
+ } finally {
+ if (data != null)
+ data.release();
}
- } finally {
- if (data != null)
- data.release();
+ } else {
+ netHandlerPlayClient.handleCustomPayload(packet);
}
}
}