From ab1a7c94df1536b83ae61c6ab773b683a8cb6e67 Mon Sep 17 00:00:00 2001 From: Ineusia Date: Sat, 18 Jul 2020 19:29:40 -0500 Subject: [PATCH] Add getDestroySpeed to Block API Co-authored-by: MiniDigger --- .../0237-Add-Destroy-Speed-API.patch | 27 +++++++++++++++++++ .../0603-Add-Destroy-Speed-API.patch | 27 +++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 Spigot-API-Patches/0237-Add-Destroy-Speed-API.patch create mode 100644 Spigot-Server-Patches/0603-Add-Destroy-Speed-API.patch diff --git a/Spigot-API-Patches/0237-Add-Destroy-Speed-API.patch b/Spigot-API-Patches/0237-Add-Destroy-Speed-API.patch new file mode 100644 index 0000000000..cc5250aa0b --- /dev/null +++ b/Spigot-API-Patches/0237-Add-Destroy-Speed-API.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ineusia +Date: Mon, 26 Oct 2020 11:37:48 -0500 +Subject: [PATCH] Add Destroy Speed API + + +diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java +index 7616c5601adee3cbe0e5f722646a2458b535ab77..6933fd6ad353a2d008c4a64c52a64bf36bd8035c 100644 +--- a/src/main/java/org/bukkit/block/Block.java ++++ b/src/main/java/org/bukkit/block/Block.java +@@ -581,5 +581,16 @@ public interface Block extends Metadatable { + */ + @NotNull + String getTranslationKey(); ++ ++ /** ++ * Gets the speed at which this block will be destroyed by a given {@link ItemStack} ++ * ++ *

Default value is 1.0

++ * ++ * @param itemStack {@link ItemStack} used to mine this Block ++ * @return the speed that this Block will be mined by the given {@link ItemStack} ++ */ ++ @NotNull ++ float getDestroySpeed(@NotNull ItemStack itemStack); + // Paper end + } diff --git a/Spigot-Server-Patches/0603-Add-Destroy-Speed-API.patch b/Spigot-Server-Patches/0603-Add-Destroy-Speed-API.patch new file mode 100644 index 0000000000..9fc7e3c7be --- /dev/null +++ b/Spigot-Server-Patches/0603-Add-Destroy-Speed-API.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ineusia +Date: Mon, 26 Oct 2020 11:48:06 -0500 +Subject: [PATCH] Add Destroy Speed API + + +diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +index 3baf7b75c65c9beba40945ba904315251b5b7a64..6fde449aca446001145e49b5859725f840cc317c 100644 +--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java ++++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +@@ -757,5 +757,16 @@ public class CraftBlock implements Block { + public String getTranslationKey() { + return org.bukkit.Bukkit.getUnsafe().getTranslationKey(this); + } ++ ++ @Override ++ public float getDestroySpeed(ItemStack itemStack) { ++ net.minecraft.server.ItemStack nmsItemStack; ++ if (itemStack instanceof CraftItemStack) { ++ nmsItemStack = ((CraftItemStack) itemStack).getHandle(); ++ } else { ++ nmsItemStack = CraftItemStack.asNMSCopy(itemStack); ++ } ++ return nmsItemStack.getItem().getDestroySpeed(nmsItemStack, this.getNMSBlock().getBlockData()); ++ } + // Paper end + }