diff options
Diffstat (limited to 'patches/server/0454-Add-Destroy-Speed-API.patch')
-rw-r--r-- | patches/server/0454-Add-Destroy-Speed-API.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/patches/server/0454-Add-Destroy-Speed-API.patch b/patches/server/0454-Add-Destroy-Speed-API.patch new file mode 100644 index 0000000000..3b44bc9efc --- /dev/null +++ b/patches/server/0454-Add-Destroy-Speed-API.patch @@ -0,0 +1,31 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ineusia <[email protected]> +Date: Mon, 26 Oct 2020 11:48:06 -0500 +Subject: [PATCH] Add Destroy Speed API + +Co-authored-by: Jake Potrebic <[email protected]> + +diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +index 01a1479711b7f7bb87db275a1edfab5a95464cca..a4252f9078c3ab7e458504496ebcdeb6875724d1 100644 +--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java ++++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +@@ -720,4 +720,19 @@ public class CraftBlockData implements BlockData { + public BlockState createBlockState() { + return CraftBlockStates.getBlockState(this.state, null); + } ++ ++ // Paper start - destroy speed API ++ @Override ++ public float getDestroySpeed(final ItemStack itemStack, final boolean considerEnchants) { ++ net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.unwrap(itemStack); ++ float speed = nmsItemStack.getDestroySpeed(this.state); ++ if (speed > 1.0F && considerEnchants) { ++ int enchantLevel = net.minecraft.world.item.enchantment.EnchantmentHelper.getItemEnchantmentLevel(net.minecraft.world.item.enchantment.Enchantments.BLOCK_EFFICIENCY, nmsItemStack); ++ if (enchantLevel > 0) { ++ speed += enchantLevel * enchantLevel + 1; ++ } ++ } ++ return speed; ++ } ++ // Paper end - destroy speed API + } |