diff options
Diffstat (limited to 'patches/server')
3 files changed, 15 insertions, 12 deletions
diff --git a/patches/server/0436-Add-Destroy-Speed-API.patch b/patches/server/0436-Add-Destroy-Speed-API.patch index bc04541e7c..6832fd221a 100644 --- a/patches/server/0436-Add-Destroy-Speed-API.patch +++ b/patches/server/0436-Add-Destroy-Speed-API.patch @@ -6,10 +6,10 @@ 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 9953b6b36cbcbfd1756bac478b568ca5700fc898..9fd636424f1300e0b8263bdd26418e6892053f8f 100644 +index 9953b6b36cbcbfd1756bac478b568ca5700fc898..b318b287572ced45cc3e9f0691a98a037635fbce 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,24 @@ public class CraftBlockData implements BlockData { +@@ -721,4 +721,27 @@ public class CraftBlockData implements BlockData { public BlockState createBlockState() { return CraftBlockStates.getBlockState(this.state, null); } @@ -20,15 +20,18 @@ index 9953b6b36cbcbfd1756bac478b568ca5700fc898..9fd636424f1300e0b8263bdd26418e68 + net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.unwrap(itemStack); + float speed = nmsItemStack.getDestroySpeed(this.state); + if (speed > 1.0F && considerEnchants) { -+ final org.apache.commons.lang3.mutable.MutableFloat mutableFloat = new org.apache.commons.lang3.mutable.MutableFloat(0); -+ net.minecraft.world.item.enchantment.EnchantmentHelper.forEachModifier( -+ nmsItemStack, net.minecraft.world.entity.EquipmentSlotGroup.MAINHAND, -+ (attributeHolder, attributeModifier) -> { -+ if (!attributeHolder.is(net.minecraft.world.entity.ai.attributes.Attributes.MINING_EFFICIENCY)) return; ++ final net.minecraft.core.Holder<net.minecraft.world.item.enchantment.Enchantment> efficiencyHolder = net.minecraft.server.MinecraftServer ++ .getServer() ++ .registryAccess() ++ .registryOrThrow(net.minecraft.core.registries.Registries.ENCHANTMENT) ++ .getHolderOrThrow(net.minecraft.world.item.enchantment.Enchantments.EFFICIENCY); + -+ // TODO do we just attempt to calculate the full "modifier" to the mining efficiency? -+ } ++ final int enchantLevel = net.minecraft.world.item.enchantment.EnchantmentHelper.getItemEnchantmentLevel( ++ efficiencyHolder, nmsItemStack + ); ++ if (enchantLevel > 0) { ++ speed += enchantLevel * enchantLevel + 1; ++ } + } + return speed; + } diff --git a/patches/server/0736-Block-Ticking-API.patch b/patches/server/0736-Block-Ticking-API.patch index 341f5a79ac..3da9c64590 100644 --- a/patches/server/0736-Block-Ticking-API.patch +++ b/patches/server/0736-Block-Ticking-API.patch @@ -46,10 +46,10 @@ index 6d10396347b69d9243ab902ecc68ede93fa17b7d..af219df5267589300f0ad1d30fa5c81a // Paper end } 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 9fd636424f1300e0b8263bdd26418e6892053f8f..bfa0ec7bbf18b47546a4c2d3409164e3e53a9fb5 100644 +index b318b287572ced45cc3e9f0691a98a037635fbce..53dddaf1fb608312991739d488b8cd2dadc58e22 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -741,4 +741,11 @@ public class CraftBlockData implements BlockData { +@@ -744,4 +744,11 @@ public class CraftBlockData implements BlockData { return speed; } // Paper end - destroy speed API diff --git a/patches/server/0906-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0906-Add-API-to-get-the-collision-shape-of-a-block-before.patch index 8c1635a676..ea30c04785 100644 --- a/patches/server/0906-Add-API-to-get-the-collision-shape-of-a-block-before.patch +++ b/patches/server/0906-Add-API-to-get-the-collision-shape-of-a-block-before.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add API to get the collision shape of a block before it's 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 bfa0ec7bbf18b47546a4c2d3409164e3e53a9fb5..260285a3b0643e3262e3e7c01db23889755998aa 100644 +index 53dddaf1fb608312991739d488b8cd2dadc58e22..17933c51abf657335fd449635f198c6802adf14c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -679,6 +679,20 @@ public class CraftBlockData implements BlockData { |