From c854f2c76567d43b9a104f643c0d88b1e23d0033 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 10 Sep 2025 20:06:35 +0100 Subject: [PATCH] ItemSerializer: avoid slow NBT check hasNamedTag() rebuilds the NBT from item properties to decide if there's any NBT. This is a waste of resources when we then fetch the tag to encode anyway. --- src/data/bedrock/item/ItemSerializer.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/bedrock/item/ItemSerializer.php b/src/data/bedrock/item/ItemSerializer.php index 845d5bc5f..c6edcfb8f 100644 --- a/src/data/bedrock/item/ItemSerializer.php +++ b/src/data/bedrock/item/ItemSerializer.php @@ -117,8 +117,8 @@ final class ItemSerializer{ $data = $serializer($item); } - if($item->hasNamedTag()){ - $resultTag = $item->getNamedTag(); + $resultTag = $item->getNamedTag(); + if($resultTag->count() > 0){ $extraTag = $data->getTag(); if($extraTag !== null){ $resultTag = $resultTag->merge($extraTag);