mirror of
https://github.com/FabricMC/fabric.git
synced 2025-03-23 21:40:02 -04:00
Fix inconsistent ordering of item attribute modifiers by using a linked hashmap (#2380)
This commit is contained in:
parent
2d30af4b7a
commit
17cbbd436b
1 changed files with 3 additions and 3 deletions
|
@ -18,7 +18,7 @@ package net.fabricmc.fabric.mixin.item;
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.LinkedHashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
|
@ -83,8 +83,8 @@ public abstract class ItemStackMixin {
|
|||
)
|
||||
public Multimap<EntityAttribute, EntityAttributeModifier> hookGetAttributeModifiers(Item item, EquipmentSlot slot) {
|
||||
ItemStack stack = (ItemStack) (Object) this;
|
||||
//we need to ensure it is modifiable for the callback
|
||||
Multimap<EntityAttribute, EntityAttributeModifier> attributeModifiers = HashMultimap.create(item.getAttributeModifiers(stack, slot));
|
||||
//we need to ensure it is modifiable for the callback, use linked map to preserve ordering
|
||||
Multimap<EntityAttribute, EntityAttributeModifier> attributeModifiers = LinkedHashMultimap.create(item.getAttributeModifiers(stack, slot));
|
||||
ModifyItemAttributeModifiersCallback.EVENT.invoker().modifyAttributeModifiers(stack, slot, attributeModifiers);
|
||||
return attributeModifiers;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue