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 593e65ef3a768d4039047e42e666c8382a5d38eb..cf143589407dc2146c9ce18f509077017fba0b48 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) {