diff options
Diffstat (limited to 'patches/server/0447-Add-Destroy-Speed-API.patch')
-rw-r--r-- | patches/server/0447-Add-Destroy-Speed-API.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/patches/server/0447-Add-Destroy-Speed-API.patch b/patches/server/0447-Add-Destroy-Speed-API.patch new file mode 100644 index 0000000000..3d0806c67f --- /dev/null +++ b/patches/server/0447-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 2303525542daa933a8de5978ac43d16223c6e5fd..3fe60f5ee38ecb704194a8c2dd6e40c5bb57d9cc 100644 +--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java ++++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +@@ -721,4 +721,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.EFFICIENCY, nmsItemStack); ++ if (enchantLevel > 0) { ++ speed += enchantLevel * enchantLevel + 1; ++ } ++ } ++ return speed; ++ } ++ // Paper end - destroy speed API + } |