From 28fe5ce95b347482b5c546e7d29d384cad8419a7 Mon Sep 17 00:00:00 2001 From: david Date: Sat, 11 Jan 2025 19:44:30 +0100 Subject: [PATCH 1/2] Fix wrong nullability --- .../net/minecraft/network/syncher/SynchedEntityData.java.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper-server/patches/sources/net/minecraft/network/syncher/SynchedEntityData.java.patch b/paper-server/patches/sources/net/minecraft/network/syncher/SynchedEntityData.java.patch index ac8c137be495..6df21aa0c6f6 100644 --- a/paper-server/patches/sources/net/minecraft/network/syncher/SynchedEntityData.java.patch +++ b/paper-server/patches/sources/net/minecraft/network/syncher/SynchedEntityData.java.patch @@ -31,7 +31,7 @@ + // Paper start + // We need to pack all as we cannot rely on "non default values" or "dirty" ones. + // Because these values can possibly be desynced on the client. -+ @Nullable ++ // @Nullable // Paper - fix wrong nullability + public List> packAll() { + final List> list = new ArrayList<>(); + for (final DataItem dataItem : this.itemsById) { From d4fd1727b135e8d60bfab8539fd324c2acf151e8 Mon Sep 17 00:00:00 2001 From: david Date: Sat, 11 Jan 2025 19:48:59 +0100 Subject: [PATCH 2/2] remove annotation completely set initial array list capacity --- .../minecraft/network/syncher/SynchedEntityData.java.patch | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/paper-server/patches/sources/net/minecraft/network/syncher/SynchedEntityData.java.patch b/paper-server/patches/sources/net/minecraft/network/syncher/SynchedEntityData.java.patch index 6df21aa0c6f6..ea9d95ec4b3e 100644 --- a/paper-server/patches/sources/net/minecraft/network/syncher/SynchedEntityData.java.patch +++ b/paper-server/patches/sources/net/minecraft/network/syncher/SynchedEntityData.java.patch @@ -23,7 +23,7 @@ public boolean isDirty() { return this.isDirty; } -@@ -169,6 +_,20 @@ +@@ -169,6 +_,19 @@ return new SynchedEntityData(this.entity, this.itemsById); } } @@ -31,9 +31,8 @@ + // Paper start + // We need to pack all as we cannot rely on "non default values" or "dirty" ones. + // Because these values can possibly be desynced on the client. -+ // @Nullable // Paper - fix wrong nullability + public List> packAll() { -+ final List> list = new ArrayList<>(); ++ final List> list = new ArrayList<>(this.itemsById.length); + for (final DataItem dataItem : this.itemsById) { + list.add(dataItem.value()); + }