From 599aa2cf53f019677be1b72ebc202b581043ea7a Mon Sep 17 00:00:00 2001 From: CrushedPixel Date: Fri, 14 Aug 2015 16:26:25 +0200 Subject: [PATCH] Redirect S19PacketEntityStatus to the Replay Player's entityID in ReplaySender Removed unnecessary Event Listeners in RecordingHandler that injected S19PacketEntityStatus whenever the Player was damaged or died --- .../events/handlers/RecordingHandler.java | 61 ------------------- .../replaymod/replay/ReplaySender.java | 7 +++ src/main/resources/META-INF/replaymod_at.cfg | 1 + 3 files changed, 8 insertions(+), 61 deletions(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java b/src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java index a6a39f30..e33eb55c 100755 --- a/src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java +++ b/src/main/java/eu/crushedpixel/replaymod/events/handlers/RecordingHandler.java @@ -312,67 +312,6 @@ public class RecordingHandler { } } - @SubscribeEvent - public void onHurt(LivingHurtEvent event) { - if(!ConnectionEventHandler.isRecording()) return; - try { - if(event.entity.getEntityId() != mc.thePlayer.getEntityId()) { - return; - } - - S19PacketEntityStatus packet = new S19PacketEntityStatus(); - - ByteBuf buf = Unpooled.buffer(); - PacketBuffer pbuf = new PacketBuffer(buf); - - pbuf.writeInt(entityID); - pbuf.writeByte(2); - - packet.readPacketData(pbuf); - - ConnectionEventHandler.insertPacket(packet); - - //Damage Animation - S0BPacketAnimation pac = new S0BPacketAnimation(); - - ByteBuf bb = Unpooled.buffer(); - PacketBuffer pb = new PacketBuffer(bb); - - pb.writeVarIntToBuffer(entityID); - pb.writeByte(1); - - pac.readPacketData(pb); - - ConnectionEventHandler.insertPacket(pac); - } catch(Exception e) { - e.printStackTrace(); - } - } - - @SubscribeEvent - public void onDeath(LivingDeathEvent event) { - if(!ConnectionEventHandler.isRecording()) return; - try { - if(event.entity.getEntityId() != mc.thePlayer.getEntityId()) { - return; - } - - S19PacketEntityStatus packet = new S19PacketEntityStatus(); - - ByteBuf buf = Unpooled.buffer(); - PacketBuffer pbuf = new PacketBuffer(buf); - - pbuf.writeInt(entityID); - pbuf.writeByte(3); - - packet.readPacketData(pbuf); - - ConnectionEventHandler.insertPacket(packet); - } catch(Exception e) { - e.printStackTrace(); - } - } - @SubscribeEvent public void onStartEating(PlayerUseItemEvent.Start event) { if(!ConnectionEventHandler.isRecording()) return; diff --git a/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java b/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java index abbf4987..173f9971 100755 --- a/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java +++ b/src/main/java/eu/crushedpixel/replaymod/replay/ReplaySender.java @@ -325,6 +325,13 @@ public class ReplaySender extends ChannelInboundHandlerAdapter { } } + if(p instanceof S19PacketEntityStatus) { + S19PacketEntityStatus packet = (S19PacketEntityStatus)p; + if(packet.field_149164_a == actualID) { + packet.field_149164_a = RecordingHandler.entityID; + } + } + if(p instanceof S01PacketJoinGame) { S01PacketJoinGame packet = (S01PacketJoinGame) p; allowMovement = true; diff --git a/src/main/resources/META-INF/replaymod_at.cfg b/src/main/resources/META-INF/replaymod_at.cfg index 0c0ffcf2..1f2cf852 100644 --- a/src/main/resources/META-INF/replaymod_at.cfg +++ b/src/main/resources/META-INF/replaymod_at.cfg @@ -30,6 +30,7 @@ public net.minecraft.network.play.server.S1CPacketEntityMetadata field_149379_a public net.minecraft.network.play.server.S1CPacketEntityMetadata field_149378_b # list public net.minecraft.network.play.server.S0BPacketAnimation field_148981_a # entityId public net.minecraft.network.play.server.S02PacketChat field_179842_b # position +public net.minecraft.network.play.server.S19PacketEntityStatus field_149164_a # entityId # GuiTextField public net.minecraft.client.gui.GuiTextField field_146216_j # text