Fix more compile issues

This commit is contained in:
Nassim Jahnke 2024-06-14 14:11:52 +02:00
parent 3c04f9f668
commit 0d3ce2d704
No known key found for this signature in database
GPG key ID: EF6771C01F6EF02F
595 changed files with 544 additions and 603 deletions

View file

@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I
public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index a62a00e7f60f1fef625131597ca39bd5a10f7331..a72a320b6dd7b4477f5764f5f32334b519ade294 100644
index 9eddc3ac16645e0a01cc5c2decc8e53f08e7e3dc..44529bfbf7ee1b03bc1f35c0f536fa36dd72b5d4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1637,7 +1637,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1637,7 +1637,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
@Override
@ -26,9 +26,10 @@ index a62a00e7f60f1fef625131597ca39bd5a10f7331..a72a320b6dd7b4477f5764f5f32334b5
+ public int applyMending(int amount) {
+ ServerPlayer handle = this.getHandle();
+ // Logic copied from EntityExperienceOrb and remapped to unobfuscated methods/properties
+ final var stackEntry = net.minecraft.world.item.enchantment.EnchantmentHelper
+ .getRandomItemWith(net.minecraft.world.item.enchantment.Enchantments.MENDING, handle, net.minecraft.world.item.ItemStack::isDamaged);
+ final net.minecraft.world.item.ItemStack itemstack = stackEntry != null ? stackEntry.getValue() : net.minecraft.world.item.ItemStack.EMPTY;
+
+ final Optional<net.minecraft.world.item.enchantment.EnchantedItemInUse> stackEntry = net.minecraft.world.item.enchantment.EnchantmentHelper
+ .getRandomItemWith(net.minecraft.world.item.enchantment.EnchantmentEffectComponents.REPAIR_WITH_XP, handle, net.minecraft.world.item.ItemStack::isDamaged);
+ final net.minecraft.world.item.ItemStack itemstack = stackEntry.map(net.minecraft.world.item.enchantment.EnchantedItemInUse::itemStack).orElse(net.minecraft.world.item.ItemStack.EMPTY);
+ if (!itemstack.isEmpty() && itemstack.getItem().components().has(net.minecraft.core.component.DataComponents.MAX_DAMAGE)) {
+ net.minecraft.world.entity.ExperienceOrb orb = net.minecraft.world.entity.EntityType.EXPERIENCE_ORB.create(handle.level());
+ orb.value = amount;