mirror of
https://github.com/FabricMC/fabric.git
synced 2025-04-08 21:14:41 -04:00
Fix FabricItem.getAttributeModifiers (#3809)
This commit is contained in:
parent
6fc22b9905
commit
29e5f1d91b
1 changed files with 26 additions and 0 deletions
|
@ -25,7 +25,10 @@ import org.apache.commons.lang3.mutable.MutableBoolean;
|
|||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
|
||||
import net.minecraft.component.ComponentType;
|
||||
import net.minecraft.component.type.AttributeModifiersComponent;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.item.Item;
|
||||
|
@ -72,4 +75,27 @@ public abstract class ItemStackMixin implements FabricItemStack {
|
|||
|
||||
original.call(instance, amount, serverWorld, serverPlayerEntity, consumer);
|
||||
}
|
||||
|
||||
@Redirect(
|
||||
method = "appendAttributeModifiersTooltip",
|
||||
at = @At(
|
||||
value = "INVOKE",
|
||||
target = "Lnet/minecraft/item/ItemStack;getOrDefault(Lnet/minecraft/component/ComponentType;Ljava/lang/Object;)Ljava/lang/Object;"
|
||||
)
|
||||
)
|
||||
public Object appendAttributeModifiersTooltip(ItemStack stack, ComponentType<AttributeModifiersComponent> type, Object fallback) {
|
||||
return getItem().getAttributeModifiers(stack);
|
||||
}
|
||||
|
||||
@Redirect(
|
||||
method = {"applyAttributeModifier", "applyAttributeModifiers"},
|
||||
at = @At(
|
||||
value = "INVOKE",
|
||||
target = "Lnet/minecraft/item/Item;getAttributeModifiers()Lnet/minecraft/component/type/AttributeModifiersComponent;"
|
||||
)
|
||||
)
|
||||
public AttributeModifiersComponent applyAttributeModifiers(Item item) {
|
||||
ItemStack stack = (ItemStack) (Object) this;
|
||||
return item.getAttributeModifiers(stack);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue