From 69bbfec60cc42f3476c81f55aad37533235ab794 Mon Sep 17 00:00:00 2001 From: MC_XiaoHei Date: Sat, 5 Jul 2025 09:50:47 +0800 Subject: [PATCH] fix: fix block place desync due to update suppression(#506) --- ...ace-desync-due-to-update-suppression.patch | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 leaves-server/minecraft-patches/features/0136-Fix-block-place-desync-due-to-update-suppression.patch diff --git a/leaves-server/minecraft-patches/features/0136-Fix-block-place-desync-due-to-update-suppression.patch b/leaves-server/minecraft-patches/features/0136-Fix-block-place-desync-due-to-update-suppression.patch new file mode 100644 index 00000000..1f3875ec --- /dev/null +++ b/leaves-server/minecraft-patches/features/0136-Fix-block-place-desync-due-to-update-suppression.patch @@ -0,0 +1,31 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MC_XiaoHei +Date: Sat, 5 Jul 2025 09:48:47 +0800 +Subject: [PATCH] Fix block place desync due to update suppression + + +diff --git a/net/minecraft/world/item/ItemStack.java b/net/minecraft/world/item/ItemStack.java +index 1356af3e5dfeb9f3a3bb1bcff9109d49c795729d..c5ced8acc1c1f1a6b1082f3deee990d1a8a8c677 100644 +--- a/net/minecraft/world/item/ItemStack.java ++++ b/net/minecraft/world/item/ItemStack.java +@@ -389,8 +389,12 @@ public final class ItemStack implements DataComponentHolder { + } + } + InteractionResult interactionResult; ++ org.leavesmc.leaves.util.UpdateSuppressionException ue = null; + try { + interactionResult = item.useOn(context); ++ } catch (org.leavesmc.leaves.util.UpdateSuppressionException te) { ++ interactionResult = net.minecraft.world.InteractionResult.SUCCESS.configurePaper(e -> e.placedBlockAt(clickedPos.immutable())); ++ ue = te; + } finally { + serverLevel.captureBlockStates = false; + } +@@ -537,6 +541,7 @@ public final class ItemStack implements DataComponentHolder { + serverLevel.capturedBlockStates.clear(); + // CraftBukkit end + ++ if (ue != null) throw ue; + return interactionResult; + } + }