diff --git a/patches/server/Print-data-component-type-on-encoding-error.patch b/patches/server/Print-data-component-type-on-encoding-error.patch
new file mode 100644
index 0000000000..0453b1d23d
--- /dev/null
+++ b/patches/server/Print-data-component-type-on-encoding-error.patch
@@ -0,0 +1,24 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Nassim Jahnke <nassim@njahnke.dev>
+Date: Thu, 9 May 2024 15:11:34 +0200
+Subject: [PATCH] Print data component type on encoding error
+
+
+diff --git a/src/main/java/net/minecraft/core/component/DataComponentPatch.java b/src/main/java/net/minecraft/core/component/DataComponentPatch.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/core/component/DataComponentPatch.java
++++ b/src/main/java/net/minecraft/core/component/DataComponentPatch.java
+@@ -0,0 +0,0 @@ public final class DataComponentPatch {
+         }
+ 
+         private static <T> void encodeComponent(RegistryFriendlyByteBuf buf, DataComponentType<T> type, Object value) {
++            // Paper start - codec errors of random anonymous classes are useless
++            try {
+             type.streamCodec().encode(buf, (T) value); // CraftBukkit - decompile error
++            } catch (final Exception e) {
++                throw new RuntimeException("Error encoding component " + type, e);
++            }
++            // Paper end - codec errors of random anonymous classes are useless
+         }
+     };
+     private static final String REMOVED_PREFIX = "!";