diff --git a/patches/minecraft/net/minecraft/world/item/ItemStack.java.patch b/patches/minecraft/net/minecraft/world/item/ItemStack.java.patch index da3dd85618..2ced7bd6f2 100644 --- a/patches/minecraft/net/minecraft/world/item/ItemStack.java.patch +++ b/patches/minecraft/net/minecraft/world/item/ItemStack.java.patch @@ -18,7 +18,7 @@ this.count = p_332766_; this.components = p_333722_; this.getItem().verifyComponentsAfterLoad(this); -+ gatherCapabilities(() -> this.item.getCapabilityProvider()); ++ gatherCapabilities(() -> this.item.getCapabilityProvider(this)); } private ItemStack(@Nullable Void p_282703_) { diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java b/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java index 2954f7b98c..f411ec8ca0 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java @@ -615,9 +615,18 @@ public interface IForgeItem { /** * @return The Default Capability Provider for this item, if any. + * + * @deprecated Use the itemstack-sensitive version instead: {@link #getCapabilityProvider(ItemStack)} */ @Nullable + @Deprecated(forRemoval = true, since = "1.21.4") default ICapabilityProvider getCapabilityProvider() { return null; } + + /** @return The Default Capability Provider for this item, if any, accounting for the given itemstack. */ + @Nullable + default ICapabilityProvider getCapabilityProvider(ItemStack stack) { + return this.getCapabilityProvider(); + } }