From 4537055caa67ed890af5b4d723d027d46ed0e629 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Sun, 8 Dec 2013 17:36:29 +0000 Subject: [PATCH] Fix shooterID/ownerID not getting remapped --- .../main/java/net/md_5/bungee/EntityMap.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/proxy/src/main/java/net/md_5/bungee/EntityMap.java b/proxy/src/main/java/net/md_5/bungee/EntityMap.java index e8bf94dc..0b409faf 100644 --- a/proxy/src/main/java/net/md_5/bungee/EntityMap.java +++ b/proxy/src/main/java/net/md_5/bungee/EntityMap.java @@ -71,8 +71,7 @@ public class EntityMap { packet.setInt( packetIdLength + 4, serverEntityId ); } - } - if ( packetId == 0x13 ) + } else if ( packetId == 0x13 ) { int count = packet.getByte( packetIdLength ); for ( int i = 0; i < count; i++ ) @@ -86,6 +85,24 @@ public class EntityMap packet.setInt( packetIdLength + 1 + i * 4, serverEntityId ); } } + } else if ( packetId == 0x0E ) + { + DefinedPacket.readVarInt( packet ); + int idLength = packet.readerIndex() - readerIndex - packetIdLength; + + int type = packet.getByte( idLength ); + + if ( type == 60 || type == 90 ) + { + int readId = packet.getInt( packetIdLength + idLength + 15 ); + if ( readId == serverEntityId ) + { + packet.setInt( packetIdLength + idLength + 15, clientEntityId ); + } else if ( readId == clientEntityId ) + { + packet.setInt( packetIdLength + idLength + 15, serverEntityId ); + } + } } packet.readerIndex( readerIndex ); }