From ddd068d513f84de8fa4eaa36df715e84b74fb7f8 Mon Sep 17 00:00:00 2001 From: Jake Potrebic <jake.m.potrebic@gmail.com> Date: Fri, 27 Sep 2024 09:28:04 -0700 Subject: [PATCH] Deprecate for removal Block#isValidTool (#11439) The method's implementation uses Block#getDrops which re-computes the drops from the loot table each call leading to isValidTool returning different values with subsequent calls. --- patches/api/Add-Block-isValidTool.patch | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/patches/api/Add-Block-isValidTool.patch b/patches/api/Add-Block-isValidTool.patch index ed3cd1481c..b5f9bf8d11 100644 --- a/patches/api/Add-Block-isValidTool.patch +++ b/patches/api/Add-Block-isValidTool.patch @@ -3,24 +3,29 @@ From: Jake Potrebic <jake.m.potrebic@gmail.com> Date: Mon, 6 Jul 2020 12:44:23 -0700 Subject: [PATCH] Add Block#isValidTool +Deprecated for removal diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java @@ -0,0 +0,0 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr - public static int getBlockKeyZ(long packed) { - return (int) ((packed << 10) >> 37); } -+ + // Paper end + ++ // Paper start - add isValidTool + /** + * Checks if the itemstack is a valid tool to + * break the block with + * + * @param itemStack The (tool) itemstack + * @return whether the block will drop items ++ * @deprecated partially replaced by {@link Block#isPreferredTool(ItemStack)} + */ ++ @Deprecated(since = "1.21", forRemoval = true) // Paper + boolean isValidTool(@NotNull ItemStack itemStack); - // Paper end - ++ // Paper end - add isValidTool ++ /** + * Gets the Location of the block + *