From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MC_XiaoHei Date: Sat, 17 May 2025 11:38:56 +0000 Subject: [PATCH] Do not reset placed block on exception diff --git a/net/minecraft/world/item/BlockItem.java b/net/minecraft/world/item/BlockItem.java index 5cbd5d04de525c33715bc45826bd2ed446355505..c320cd4b7d994b3a0d23bec1713a8bf910f4ef95 100644 --- a/net/minecraft/world/item/BlockItem.java +++ b/net/minecraft/world/item/BlockItem.java @@ -92,20 +92,22 @@ public class BlockItem extends Item { BlockState blockState = level.getBlockState(clickedPos); if (blockState.is(placementState.getBlock())) { blockState = this.updateBlockStateFromTag(clickedPos, level, itemInHand, blockState); + // Leaves start - we do not need this // Paper start - Reset placed block on exception - try { + // try { this.updateCustomBlockEntityTag(clickedPos, level, player, itemInHand, blockState); updateBlockEntityComponents(level, clickedPos, itemInHand); - } catch (Exception ex) { - ((org.bukkit.craftbukkit.block.CraftBlockState) oldBukkitState).revertPlace(); - if (player instanceof ServerPlayer serverPlayer) { - org.apache.logging.log4j.LogManager.getLogger().error("Player {} tried placing invalid block", player.getScoreboardName(), ex); - serverPlayer.getBukkitEntity().kickPlayer("Packet processing error"); - return InteractionResult.FAIL; - } - throw ex; // Rethrow exception if not placed by a player - } + // } catch (Exception ex) { + // ((org.bukkit.craftbukkit.block.CraftBlockState) oldBukkitState).revertPlace(); + // if (player instanceof ServerPlayer serverPlayer) { + // org.apache.logging.log4j.LogManager.getLogger().error("Player {} tried placing invalid block", player.getScoreboardName(), ex); + // serverPlayer.getBukkitEntity().kickPlayer("Packet processing error"); + // return InteractionResult.FAIL; + // } + // throw ex; // Rethrow exception if not placed by a player + // } // Paper end - Reset placed block on exception + // Leaves end - we dot not need this blockState.getBlock().setPlacedBy(level, clickedPos, blockState, player, itemInHand); // CraftBukkit start if (bukkitState != null) {