From 947fb2b865fe614aa68c0c42c5322c3e7f789d6a Mon Sep 17 00:00:00 2001 From: "Alex \"mcmonkey\" Goodwin" Date: Fri, 16 Dec 2022 05:44:26 -0800 Subject: [PATCH] 1.19.3: fix metadata packet bug --- .../impl/network/handlers/DenizenNetworkManagerImpl.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/impl/network/handlers/DenizenNetworkManagerImpl.java b/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/impl/network/handlers/DenizenNetworkManagerImpl.java index 421192dc01..f764cbfc08 100644 --- a/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/impl/network/handlers/DenizenNetworkManagerImpl.java +++ b/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/impl/network/handlers/DenizenNetworkManagerImpl.java @@ -212,7 +212,6 @@ public void setListener(PacketListener packetlistener) { public static Field SECTIONPOS_MULTIBLOCKCHANGE = ReflectionHelper.getFields(ClientboundSectionBlocksUpdatePacket.class).get(ReflectionMappingsInfo.ClientboundSectionBlocksUpdatePacket_sectionPos, SectionPos.class); public static Field OFFSETARRAY_MULTIBLOCKCHANGE = ReflectionHelper.getFields(ClientboundSectionBlocksUpdatePacket.class).get(ReflectionMappingsInfo.ClientboundSectionBlocksUpdatePacket_positions, short[].class); public static Field BLOCKARRAY_MULTIBLOCKCHANGE = ReflectionHelper.getFields(ClientboundSectionBlocksUpdatePacket.class).get(ReflectionMappingsInfo.ClientboundSectionBlocksUpdatePacket_states, BlockState[].class); - public static Field ENTITY_METADATA_LIST = ReflectionHelper.getFields(ClientboundSetEntityDataPacket.class).get(ReflectionMappingsInfo.ClientboundSetEntityDataPacket_packedItems, List.class); @Override public void send(Packet packet) { @@ -696,13 +695,12 @@ else if (packet instanceof ClientboundMoveEntityPacket) { for (SynchedEntityData.DataValue item : data) { EntityDataSerializer watcherObject = item.serializer(); if (item.id() == 0) { // Entity flags - ClientboundSetEntityDataPacket altPacket = new ClientboundSetEntityDataPacket(copyPacket(metadataPacket)); data = new ArrayList<>(data); - ENTITY_METADATA_LIST.set(altPacket, data); data.remove(item); byte flags = (byte) item.value(); flags |= 0x20; // Invisible flag data.add(new SynchedEntityData.DataValue(item.id(), watcherObject, flags)); + ClientboundSetEntityDataPacket altPacket = new ClientboundSetEntityDataPacket(metadataPacket.id(), data); ClientboundSetEntityDataPacket updatedPacket = getModifiedMetadataFor(altPacket); oldManager.send(updatedPacket == null ? altPacket : updatedPacket, genericfuturelistener); return true; @@ -825,8 +823,7 @@ else if (item.id() == 3 && nameToApply != null) { // 3: custom name visible meta if (!any) { return null; } - ClientboundSetEntityDataPacket altPacket = new ClientboundSetEntityDataPacket(copyPacket(metadataPacket)); - ENTITY_METADATA_LIST.set(altPacket, data); + ClientboundSetEntityDataPacket altPacket = new ClientboundSetEntityDataPacket(metadataPacket.id(), data); return altPacket; } catch (Throwable ex) {