De-deprecate BlockData#getDestroySpeed

This commit is contained in:
Bjarne Koll 2024-06-16 12:44:22 +02:00
parent 1f8e7a7b09
commit 60f3bd8d0c
No known key found for this signature in database
GPG key ID: 27F6CCCF55D2EE62
6 changed files with 205 additions and 27 deletions

View file

@ -42,10 +42,10 @@ index 25db31b2e9a6d75f0c59f75237842f9ad7d1c350..75c2aadb0a2baebe8b2625ad11b16380
+ // Paper end - destroy speed API
}
diff --git a/src/main/java/org/bukkit/block/data/BlockData.java b/src/main/java/org/bukkit/block/data/BlockData.java
index cd3b3e05cc825cfedec07f9a2a1e0b7b2a8866d6..a2dc7376b2a3d386b671c894f73389139e0d97bf 100644
index cd3b3e05cc825cfedec07f9a2a1e0b7b2a8866d6..890a511355dd3f2aa9330fdc72c0fb4b3e44e5cb 100644
--- a/src/main/java/org/bukkit/block/data/BlockData.java
+++ b/src/main/java/org/bukkit/block/data/BlockData.java
@@ -266,4 +266,35 @@ public interface BlockData extends Cloneable {
@@ -266,4 +266,33 @@ public interface BlockData extends Cloneable {
@NotNull
@ApiStatus.Experimental
BlockState createBlockState();
@ -58,10 +58,9 @@ index cd3b3e05cc825cfedec07f9a2a1e0b7b2a8866d6..a2dc7376b2a3d386b671c894f7338913
+ *
+ * @param itemStack {@link ItemStack} used to mine this Block
+ * @return the speed that this Block will be mined by the given {@link ItemStack}
+ * @deprecated the destroy speed of a block was never purely tied to an item stack. Since 1.21 enchantments
+ * also use complex effects that require a consuming player to compute their effects, including mining efficiency.
+ * @apiNote this method assumes default player state and hence, e.g., does not take into account changed
+ * player attributes or potion effects.
+ */
+ @Deprecated(forRemoval = true, since = "1.21")
+ default float getDestroySpeed(final @NotNull ItemStack itemStack) {
+ return this.getDestroySpeed(itemStack, false);
+ }
@ -74,10 +73,9 @@ index cd3b3e05cc825cfedec07f9a2a1e0b7b2a8866d6..a2dc7376b2a3d386b671c894f7338913
+ * @param itemStack {@link ItemStack} used to mine this Block
+ * @param considerEnchants true to look at enchants on the itemstack
+ * @return the speed that this Block will be mined by the given {@link ItemStack}
+ * @deprecated the destroy speed of a block was never purely tied to an item stack. Since 1.21 enchantments
+ * also use complex effects that require a consuming player to compute their effects, including mining efficiency.
+ * @apiNote this method assumes default player state and hence, e.g., does not take into account changed
+ * player attributes or potion effects.
+ */
+ @Deprecated(forRemoval = true, since = "1.21")
+ float getDestroySpeed(@NotNull ItemStack itemStack, boolean considerEnchants);
+ // Paper end - destroy speed API
}