From 11cb1136198712428a3ebaf13dcb5859732c4cd5 Mon Sep 17 00:00:00 2001 From: Unoqwy <65187632+Unoqwy@users.noreply.github.com> Date: Tue, 3 Oct 2023 11:46:02 +0200 Subject: [PATCH] Fix disconnecting error for unknown mobs with metadata (#3443) --- .../viaversion/rewriter/EntityRewriter.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java b/common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java index a0740730f..012b9990a 100644 --- a/common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java +++ b/common/src/main/java/com/viaversion/viaversion/rewriter/EntityRewriter.java @@ -104,11 +104,10 @@ public abstract class EntityRewriter metadataList, final UserConnection connection) { final TrackedEntity entity = tracker(connection).entity(entityId); final EntityType type = entity != null ? entity.entityType() : null; - int i = 0; // Count index for fast removal for (final Metadata metadata : metadataList.toArray(EMPTY_ARRAY)) { // Copy the list to allow mutation // Call handlers implementing the old handleMetadata if (!callOldMetaHandler(entityId, type, metadata, metadataList, connection)) { - metadataList.remove(i--); + metadataList.remove(metadata); continue; } @@ -126,22 +125,22 @@ public abstract class EntityRewriter extraMeta = event != null ? event.extraMeta() : null; + if (extraMeta != null) { // Finally, add newly created meta - metadataList.addAll(event.extraMeta()); + metadataList.addAll(extraMeta); } - i++; } if (entity != null) {