From e0a682a5dfb78bc7c2dd4c73c9f55dfd4078467d Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Tue, 6 Dec 2022 17:58:58 +0100 Subject: [PATCH] Fix armor missing after dimension change (fixes #791) The respawn packet re-creates the player entity, so we need to re-send its armor (and technically also the riding and sleeping state, though that probably wouldn't ever have caused issues in practice because a respawn will implicitly reset those, unlike your inventory which is preserved). --- .../replaymod/recording/handler/RecordingEventHandler.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/replaymod/recording/handler/RecordingEventHandler.java b/src/main/java/com/replaymod/recording/handler/RecordingEventHandler.java index 822c3944..f71270b2 100644 --- a/src/main/java/com/replaymod/recording/handler/RecordingEventHandler.java +++ b/src/main/java/com/replaymod/recording/handler/RecordingEventHandler.java @@ -108,6 +108,13 @@ public class RecordingEventHandler extends EventRegistrations { packetListener.save(new EntityTrackerUpdateS2CPacket(player.getEntityId(), player.getDataTracker(), true)); //#endif lastX = lastY = lastZ = null; + //#if MC>=11100 + playerItems.clear(); + //#else + //$$ Collections.fill(playerItems, null); + //#endif + lastRiding = -1; + wasSleeping = false; } catch(Exception e) { e.printStackTrace(); }