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.
This commit is contained in:
Jake Potrebic 2024-09-27 09:28:04 -07:00 committed by GitHub
parent 01c4820450
commit 9c76642f99
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 18 additions and 13 deletions

View file

@ -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 36e177757624c4fc7835e253d3b2dd773f50f43d..6ada8c036f1a112f11a9fbc3baf1f79b3f1bfc8e 100644
index 36e177757624c4fc7835e253d3b2dd773f50f43d..9b0a3b4a62387d07143341756b858e15e61a9c03 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -230,6 +230,15 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
public static int getBlockKeyZ(long packed) {
return (int) ((packed << 10) >> 37);
@@ -232,6 +232,19 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
}
+
// 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
*