From be8b9314b44e402a67bb8854f633249b959f7c54 Mon Sep 17 00:00:00 2001 From: Bjarne Koll Date: Fri, 14 Jun 2024 15:16:29 +0200 Subject: [PATCH] Pretend to fix compile errors --- patches/server/Add-Destroy-Speed-API.patch | 13 +++++++++---- .../server/Implement-enchantWithLevels-API.patch | 7 +++++-- ...mplement-extended-PaperServerListPingEvent.patch | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/patches/server/Add-Destroy-Speed-API.patch b/patches/server/Add-Destroy-Speed-API.patch index fca8b7972c..38bd4b365f 100644 --- a/patches/server/Add-Destroy-Speed-API.patch +++ b/patches/server/Add-Destroy-Speed-API.patch @@ -20,10 +20,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + 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; -+ } ++ 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; ++ ++ // TODO do we just attempt to calculate the full "modifier" to the mining efficiency? ++ } ++ ); + } + return speed; + } diff --git a/patches/server/Implement-enchantWithLevels-API.patch b/patches/server/Implement-enchantWithLevels-API.patch index 188b11267f..6407b8e170 100644 --- a/patches/server/Implement-enchantWithLevels-API.patch +++ b/patches/server/Implement-enchantWithLevels-API.patch @@ -24,12 +24,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + if (internalStack.isEnchanted()) { + internalStack.set(net.minecraft.core.component.DataComponents.ENCHANTMENTS, null); + } ++ final net.minecraft.core.RegistryAccess registryAccess = net.minecraft.server.MinecraftServer.getServer().registryAccess(); ++ final net.minecraft.core.Registry enchantments = registryAccess.registryOrThrow(Registries.ENCHANTMENT); + final net.minecraft.world.item.ItemStack enchanted = net.minecraft.world.item.enchantment.EnchantmentHelper.enchantItem( -+ MinecraftServer.getServer().getWorldData().enabledFeatures(), + new org.bukkit.craftbukkit.util.RandomSourceWrapper(random), + internalStack, + levels, -+ allowTreasure ++ enchantments.holders() ++ .>map(r -> r) ++ .filter(r -> allowTreasure || !r.is(EnchantmentTags.TREASURE)) + ); + return CraftItemStack.asCraftMirror(enchanted); + } diff --git a/patches/server/Implement-extended-PaperServerListPingEvent.patch b/patches/server/Implement-extended-PaperServerListPingEvent.patch index d516403348..e2ce5c0497 100644 --- a/patches/server/Implement-extended-PaperServerListPingEvent.patch +++ b/patches/server/Implement-extended-PaperServerListPingEvent.patch @@ -146,7 +146,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + + // Close connection immediately if event is cancelled + if (event.isCancelled()) { -+ networkManager.disconnect(null); ++ networkManager.disconnect((Component) null); + return; + } +