From 390d00ea289763699ca6bffffb4cc6bc62fc2fa7 Mon Sep 17 00:00:00 2001 From: RingLo_ <63995099+lonelyicer@users.noreply.github.com> Date: Tue, 17 Mar 2026 04:57:08 +0800 Subject: [PATCH] fix: modifier id duplicate --- .../component/ArtifactEnhancementComponent.java | 16 ++++++++++++++-- .../altnoir/mia/common/item/abs/IEArtifact.java | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/altnoir/mia/common/component/ArtifactEnhancementComponent.java b/src/main/java/com/altnoir/mia/common/component/ArtifactEnhancementComponent.java index 7344d73b..0ee3eb99 100644 --- a/src/main/java/com/altnoir/mia/common/component/ArtifactEnhancementComponent.java +++ b/src/main/java/com/altnoir/mia/common/component/ArtifactEnhancementComponent.java @@ -49,9 +49,21 @@ public List getArtifactStats() { } public Multimap, AttributeModifier> getAttributeModifiers() { + return getAttributeModifiers(null); + } + + public Multimap, AttributeModifier> getAttributeModifiers(ResourceLocation curiosId) { ImmutableMultimap.Builder, AttributeModifier> builder = ImmutableMultimap.builder(); for (ArtifactStat modifier : modifiers) { - builder.put(modifier.attribute(), modifier.modifier()); + AttributeModifier newModifier = modifier.modifier(); + if (curiosId != null) { + newModifier = new AttributeModifier( + ResourceLocation.fromNamespaceAndPath(curiosId.getNamespace(), curiosId.getPath() + "_" + newModifier.id().getPath()), + newModifier.amount(), + newModifier.operation() + ); + } + builder.put(modifier.attribute(), newModifier); } return builder.build(); } @@ -90,7 +102,7 @@ public static String getModifierKey(Holder attribute, AttributeModifi .map(key -> key.location().getPath()) .orElse("unknown"); String op = operation.name().toLowerCase(); - return String.format("%s.%s", attr, op); + return String.format("artifact_enhancement.%s.%s", attr, op); } @Override diff --git a/src/main/java/com/altnoir/mia/common/item/abs/IEArtifact.java b/src/main/java/com/altnoir/mia/common/item/abs/IEArtifact.java index c4918ce8..94fd3a77 100644 --- a/src/main/java/com/altnoir/mia/common/item/abs/IEArtifact.java +++ b/src/main/java/com/altnoir/mia/common/item/abs/IEArtifact.java @@ -59,6 +59,6 @@ default void appendTooltip(ItemStack stack, List tooltip) { } default Multimap, AttributeModifier> getAttributeModifiers(SlotContext slotContext, ResourceLocation id, ItemStack stack) { - return stack.getOrDefault(MiaComponents.ARTIFACT_ENHANCEMENT, ArtifactEnhancementComponent.EMPTY).getAttributeModifiers(); + return stack.getOrDefault(MiaComponents.ARTIFACT_ENHANCEMENT, ArtifactEnhancementComponent.EMPTY).getAttributeModifiers(id); } }