use matchingSlot helper method

This commit is contained in:
granny
2024-06-16 17:30:17 -07:00
parent 25ecbc4237
commit ea406a0e2b

View File

@@ -49,7 +49,7 @@ index 312b57b4ef340935f4335989ce1d6a4b8b61532c..00665c3e81264b440cd27431f7632f3b
return Mth.clamp((Integer) this.getOrDefault(DataComponents.DAMAGE, 0), 0, this.getMaxDamage());
}
diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
index 9635c076703beee96af9f5d0bdee4cf97ccd98ad..76c43565aaffbca63d99134cca49d96328355b49 100644
index 9635c076703beee96af9f5d0bdee4cf97ccd98ad..1abf54eeaad1b062f1465ee1a847bbfcba295665 100644
--- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
+++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
@@ -6,6 +6,7 @@ import it.unimi.dsi.fastutil.objects.Object2IntMap.Entry;
@@ -60,7 +60,7 @@ index 9635c076703beee96af9f5d0bdee4cf97ccd98ad..76c43565aaffbca63d99134cca49d963
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
@@ -569,4 +570,51 @@ public class EnchantmentHelper {
@@ -569,4 +570,48 @@ public class EnchantmentHelper {
return getItemEnchantmentLevel(getEnchantmentHolder(enchantment), stack);
}
// Purpur end - Enchantment convenience methods
@@ -92,16 +92,13 @@ index 9635c076703beee96af9f5d0bdee4cf97ccd98ad..76c43565aaffbca63d99134cca49d963
+ continue;
+ }
+
+ List<EquipmentSlotGroup> slotGroups = enchantment.definition().slots();
+ for (EquipmentSlotGroup slotGroup : slotGroups) {
+ if (slotGroup.test(equipmentSlot)) {
+ maxStack = stack;
+ maxSlot = equipmentSlot;
+ maxPercent = percent;
+ if (enchantment.matchingSlot(equipmentSlot)) {
+ maxStack = stack;
+ maxSlot = equipmentSlot;
+ maxPercent = percent;
+
+ // check another slot now
+ continue equipmentSlotLoop;
+ }
+ // check another slot now
+ continue equipmentSlotLoop;
+ }
+ }
+ }