diff --git a/build.gradle b/build.gradle index 368284ddf..1fb1bddd6 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ plugins { id "eclipse" id "idea" id "maven-publish" - id "fabric-loom" version "0.8.7" apply false + id "fabric-loom" version "0.8.12" apply false id "org.cadixdev.licenser" version "0.5.0" id "org.ajoberstar.grgit" version "3.1.0" id "com.matthewprenger.cursegradle" version "1.4.0" @@ -19,9 +19,9 @@ plugins { def ENV = System.getenv() class Globals { - static def baseVersion = "0.34.7" - static def mcVersion = "21w20a" - static def yarnVersion = "+build.2" + static def baseVersion = "0.34.8" + static def mcVersion = "1.17-pre1" + static def yarnVersion = "+build.1" static def loaderVersion = "0.11.3" static def preRelease = true } diff --git a/fabric-crash-report-info-v1/build.gradle b/fabric-crash-report-info-v1/build.gradle index 25ecde350..c0701e0eb 100644 --- a/fabric-crash-report-info-v1/build.gradle +++ b/fabric-crash-report-info-v1/build.gradle @@ -1,2 +1,2 @@ archivesBaseName = "fabric-crash-report-info-v1" -version = getSubprojectVersion(project, "0.1.3") +version = getSubprojectVersion(project, "0.1.4") diff --git a/fabric-crash-report-info-v1/src/main/java/net/fabricmc/fabric/mixin/crash/report/info/MixinCrashReport.java b/fabric-crash-report-info-v1/src/main/java/net/fabricmc/fabric/mixin/crash/report/info/MixinCrashReport.java index cc6adf6b2..f8691633e 100644 --- a/fabric-crash-report-info-v1/src/main/java/net/fabricmc/fabric/mixin/crash/report/info/MixinCrashReport.java +++ b/fabric-crash-report-info-v1/src/main/java/net/fabricmc/fabric/mixin/crash/report/info/MixinCrashReport.java @@ -18,6 +18,7 @@ package net.fabricmc.fabric.mixin.crash.report.info; import java.util.Map; import java.util.TreeMap; +import java.util.function.Supplier; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -25,20 +26,19 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import net.minecraft.util.crash.CrashReport; -import net.minecraft.util.crash.CrashReportSection; +import net.minecraft.class_6396; import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; -@Mixin(CrashReport.class) +@Mixin(class_6396.class) public abstract class MixinCrashReport { @Shadow - public abstract CrashReportSection getSystemDetailsSection(); + public abstract void method_37123(String string, Supplier<String> supplier); - @Inject(at = @At("RETURN"), method = "fillSystemDetails") + @Inject(at = @At("RETURN"), method = "<init>") private void fillSystemDetails(CallbackInfo info) { - getSystemDetailsSection().add("Fabric Mods", () -> { + method_37123("Fabric Mods", () -> { Map<String, String> mods = new TreeMap<>(); for (ModContainer container : FabricLoader.getInstance().getAllMods()) { diff --git a/fabric-item-groups-v0/build.gradle b/fabric-item-groups-v0/build.gradle index 19e12acb0..b1c9feced 100644 --- a/fabric-item-groups-v0/build.gradle +++ b/fabric-item-groups-v0/build.gradle @@ -1,5 +1,5 @@ archivesBaseName = "fabric-item-groups-v0" -version = getSubprojectVersion(project, "0.2.9") +version = getSubprojectVersion(project, "0.2.10") moduleDependencies(project, [ 'fabric-api-base', diff --git a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/mixin/item/group/client/MixinCreativePlayerInventoryGui.java b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/mixin/item/group/client/MixinCreativePlayerInventoryGui.java index 857efa61e..a12f85371 100644 --- a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/mixin/item/group/client/MixinCreativePlayerInventoryGui.java +++ b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/mixin/item/group/client/MixinCreativePlayerInventoryGui.java @@ -123,8 +123,8 @@ public abstract class MixinCreativePlayerInventoryGui extends AbstractInventoryS int xpos = x + 116; int ypos = y - 10; - method_37063(new FabricCreativeGuiComponents.ItemGroupButtonWidget(xpos + 11, ypos, FabricCreativeGuiComponents.Type.NEXT, this)); - method_37063(new FabricCreativeGuiComponents.ItemGroupButtonWidget(xpos, ypos, FabricCreativeGuiComponents.Type.PREVIOUS, this)); + addDrawableChild(new FabricCreativeGuiComponents.ItemGroupButtonWidget(xpos + 11, ypos, FabricCreativeGuiComponents.Type.NEXT, this)); + addDrawableChild(new FabricCreativeGuiComponents.ItemGroupButtonWidget(xpos, ypos, FabricCreativeGuiComponents.Type.PREVIOUS, this)); } @Inject(method = "setSelectedTab", at = @At("HEAD"), cancellable = true) diff --git a/fabric-networking-api-v1/build.gradle b/fabric-networking-api-v1/build.gradle index f96154c44..91e69db8b 100644 --- a/fabric-networking-api-v1/build.gradle +++ b/fabric-networking-api-v1/build.gradle @@ -1,5 +1,5 @@ archivesBaseName = "fabric-networking-api-v1" -version = getSubprojectVersion(project, "1.0.10") +version = getSubprojectVersion(project, "1.0.11") moduleDependencies(project, [ 'fabric-api-base' diff --git a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/channeltest/ChannelList.java b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/channeltest/ChannelList.java index b9e2fa101..8efec2e96 100644 --- a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/channeltest/ChannelList.java +++ b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/channeltest/ChannelList.java @@ -16,8 +16,8 @@ package net.fabricmc.fabric.test.networking.channeltest; -import net.minecraft.class_6382; import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; import net.minecraft.client.gui.widget.EntryListWidget; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.LiteralText; @@ -39,7 +39,7 @@ final class ChannelList extends EntryListWidget<ChannelList.Entry> { } @Override - public void method_37020(class_6382 arg) { + public void appendNarrations(NarrationMessageBuilder arg) { // TODO seems to be possibly accessibility related } diff --git a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/channeltest/ChannelScreen.java b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/channeltest/ChannelScreen.java index f727e0cd6..fabecb18f 100644 --- a/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/channeltest/ChannelScreen.java +++ b/fabric-networking-api-v1/src/testmod/java/net/fabricmc/fabric/test/networking/channeltest/ChannelScreen.java @@ -40,14 +40,14 @@ final class ChannelScreen extends Screen { @Override protected void init() { - this.s2cButton = this.method_37063(new ButtonWidget(this.width / 2 - 55, 5, 50, 20, new LiteralText("S2C"), this::toS2C, (button, matrices, mouseX, mouseY) -> { + this.s2cButton = this.addDrawableChild(new ButtonWidget(this.width / 2 - 55, 5, 50, 20, new LiteralText("S2C"), this::toS2C, (button, matrices, mouseX, mouseY) -> { this.renderTooltip(matrices, new LiteralText("Packets this client can receive"), mouseX, mouseY); })); - this.c2sButton = this.method_37063(new ButtonWidget(this.width / 2 + 5, 5, 50, 20, new LiteralText("C2S"), this::toC2S, (button, matrices, mouseX, mouseY) -> { + this.c2sButton = this.addDrawableChild(new ButtonWidget(this.width / 2 + 5, 5, 50, 20, new LiteralText("C2S"), this::toC2S, (button, matrices, mouseX, mouseY) -> { this.renderTooltip(matrices, new LiteralText("Packets the server can receive"), mouseX, mouseY); })); - this.closeButton = this.method_37063(new ButtonWidget(this.width / 2 - 60, this.height - 25, 120, 20, new LiteralText("Close"), button -> this.onClose())); - this.channelList = this.addChild(new ChannelList(this.client, this.width, this.height - 60, 30, this.height - 30, this.textRenderer.fontHeight + 2)); + this.closeButton = this.addDrawableChild(new ButtonWidget(this.width / 2 - 60, this.height - 25, 120, 20, new LiteralText("Close"), button -> this.onClose())); + this.channelList = this.addDrawable(new ChannelList(this.client, this.width, this.height - 60, 30, this.height - 30, this.textRenderer.fontHeight + 2)); } @Override diff --git a/fabric-object-builder-api-v1/build.gradle b/fabric-object-builder-api-v1/build.gradle index 5349d31fe..950e4b674 100644 --- a/fabric-object-builder-api-v1/build.gradle +++ b/fabric-object-builder-api-v1/build.gradle @@ -1,5 +1,5 @@ archivesBaseName = "fabric-object-builder-api-v1" -version = getSubprojectVersion(project, "1.10.8") +version = getSubprojectVersion(project, "1.10.9") dependencies { testmodImplementation project(path: ':fabric-command-api-v1', configuration: 'dev') diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/client/model/FabricModelPredicateProviderRegistry.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/client/model/FabricModelPredicateProviderRegistry.java index 877bd3125..290431b8e 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/client/model/FabricModelPredicateProviderRegistry.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/client/model/FabricModelPredicateProviderRegistry.java @@ -18,7 +18,7 @@ package net.fabricmc.fabric.api.object.builder.v1.client.model; import net.minecraft.item.Item; import net.minecraft.util.Identifier; -import net.minecraft.class_6395; +import net.minecraft.client.item.UnclampedModelPredicateProvider; import net.fabricmc.fabric.mixin.object.builder.ModelPredicateProviderRegistryAccessor; import net.fabricmc.fabric.mixin.object.builder.ModelPredicateProviderRegistrySpecificAccessor; @@ -38,7 +38,7 @@ public final class FabricModelPredicateProviderRegistry { * @param id the identifier of the provider * @param provider the provider */ - public static void register(Identifier id, class_6395 provider) { + public static void register(Identifier id, UnclampedModelPredicateProvider provider) { ModelPredicateProviderRegistryAccessor.callRegister(id, provider); } @@ -49,7 +49,7 @@ public final class FabricModelPredicateProviderRegistry { * @param id the identifier of the provider * @param provider the provider */ - public static void register(Item item, Identifier id, class_6395 provider) { + public static void register(Item item, Identifier id, UnclampedModelPredicateProvider provider) { ModelPredicateProviderRegistrySpecificAccessor.callRegister(item, id, provider); } } diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/ModelPredicateProviderRegistryAccessor.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/ModelPredicateProviderRegistryAccessor.java index 1104c55e1..9a695d167 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/ModelPredicateProviderRegistryAccessor.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/ModelPredicateProviderRegistryAccessor.java @@ -19,14 +19,14 @@ package net.fabricmc.fabric.mixin.object.builder; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Invoker; -import net.minecraft.class_6395; +import net.minecraft.client.item.UnclampedModelPredicateProvider; import net.minecraft.client.item.ModelPredicateProviderRegistry; import net.minecraft.util.Identifier; @Mixin(ModelPredicateProviderRegistry.class) public interface ModelPredicateProviderRegistryAccessor { @Invoker - static class_6395 callRegister(Identifier id, class_6395 provider) { + static UnclampedModelPredicateProvider callRegister(Identifier id, UnclampedModelPredicateProvider provider) { throw new AssertionError("mixin dummy"); } } diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/ModelPredicateProviderRegistrySpecificAccessor.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/ModelPredicateProviderRegistrySpecificAccessor.java index e6787c2eb..fbe6cd082 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/ModelPredicateProviderRegistrySpecificAccessor.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/ModelPredicateProviderRegistrySpecificAccessor.java @@ -19,7 +19,7 @@ package net.fabricmc.fabric.mixin.object.builder; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Invoker; -import net.minecraft.class_6395; +import net.minecraft.client.item.UnclampedModelPredicateProvider; import net.minecraft.client.item.ModelPredicateProviderRegistry; import net.minecraft.item.Item; import net.minecraft.util.Identifier; @@ -28,7 +28,7 @@ import net.minecraft.util.Identifier; @Mixin(ModelPredicateProviderRegistry.class) public interface ModelPredicateProviderRegistrySpecificAccessor { @Invoker - static void callRegister(Item item, Identifier id, class_6395 provider) { + static void callRegister(Item item, Identifier id, UnclampedModelPredicateProvider provider) { throw new AssertionError("mixin dummy"); } } diff --git a/fabric-resource-loader-v0/build.gradle b/fabric-resource-loader-v0/build.gradle index 8efdfa3e4..404da87ec 100644 --- a/fabric-resource-loader-v0/build.gradle +++ b/fabric-resource-loader-v0/build.gradle @@ -1,5 +1,5 @@ archivesBaseName = "fabric-resource-loader-v0" -version = getSubprojectVersion(project, "0.4.6") +version = getSubprojectVersion(project, "0.4.7") dependencies { testmodImplementation project(path: ':fabric-lifecycle-events-v1', configuration: 'dev') diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/client/CreateWorldScreenMixin.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/client/CreateWorldScreenMixin.java index e08839d43..408b7b09b 100644 --- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/client/CreateWorldScreenMixin.java +++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/client/CreateWorldScreenMixin.java @@ -44,7 +44,7 @@ public class CreateWorldScreenMixin { @Shadow private ResourcePackManager packManager; - @Inject(method = "method_30296", at = @At(value = "INVOKE", target = "Lnet/minecraft/resource/ResourcePackManager;scanPacks()V", shift = At.Shift.BEFORE)) + @Inject(method = "getScannedPack", at = @At(value = "INVOKE", target = "Lnet/minecraft/resource/ResourcePackManager;scanPacks()V", shift = At.Shift.BEFORE)) private void onScanPacks(CallbackInfoReturnable<Pair<File, ResourcePackManager>> cir) { // Allow to display built-in data packs in the data pack selection screen at world creation. ((ResourcePackManagerAccessor) this.packManager).getProviders().add(new ModResourcePackCreator(ResourceType.SERVER_DATA)); diff --git a/fabric-screen-api-v1/build.gradle b/fabric-screen-api-v1/build.gradle index ec74608f0..a7bd3e776 100644 --- a/fabric-screen-api-v1/build.gradle +++ b/fabric-screen-api-v1/build.gradle @@ -1,5 +1,5 @@ archivesBaseName = "fabric-screen-api-v1" -version = getSubprojectVersion(project, "1.0.2") +version = getSubprojectVersion(project, "1.0.3") moduleDependencies(project, [ 'fabric-api-base' diff --git a/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/impl/client/screen/ButtonList.java b/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/impl/client/screen/ButtonList.java index 2a99c9b0f..334869784 100644 --- a/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/impl/client/screen/ButtonList.java +++ b/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/impl/client/screen/ButtonList.java @@ -21,7 +21,7 @@ import java.util.List; import org.jetbrains.annotations.ApiStatus; -import net.minecraft.class_6379; +import net.minecraft.client.gui.Selectable; import net.minecraft.client.gui.Element; import net.minecraft.client.gui.widget.ClickableWidget; @@ -32,10 +32,10 @@ import net.fabricmc.api.Environment; @ApiStatus.Internal @Environment(EnvType.CLIENT) public final class ButtonList extends AbstractList<ClickableWidget> { - private final List<class_6379> listeners; + private final List<Selectable> listeners; private final List<Element> children; - public ButtonList(List<class_6379> listeners, List<Element> children) { + public ButtonList(List<Selectable> listeners, List<Element> children) { this.listeners = listeners; this.children = children; } @@ -91,7 +91,7 @@ public final class ButtonList extends AbstractList<ClickableWidget> { public int size() { int ret = 0; - for (class_6379 listener : listeners) { + for (Selectable listener : listeners) { if (listener instanceof ClickableWidget) { ret++; } diff --git a/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/mixin/screen/ScreenMixin.java b/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/mixin/screen/ScreenMixin.java index ca4458053..d866e40f7 100644 --- a/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/mixin/screen/ScreenMixin.java +++ b/fabric-screen-api-v1/src/main/java/net/fabricmc/fabric/mixin/screen/ScreenMixin.java @@ -26,7 +26,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import net.minecraft.class_6379; +import net.minecraft.client.gui.Selectable; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Element; import net.minecraft.client.gui.screen.Screen; @@ -44,7 +44,7 @@ import net.fabricmc.fabric.impl.client.screen.ScreenExtensions; abstract class ScreenMixin implements ScreenExtensions { @Shadow @Final - protected List<class_6379> field_33815; + protected List<Selectable> field_33815; @Shadow @Final protected List<Element> children; diff --git a/fabric-screen-api-v1/src/testmod/java/net/fabricmc/fabric/test/screen/SoundButton.java b/fabric-screen-api-v1/src/testmod/java/net/fabricmc/fabric/test/screen/SoundButton.java index fa8d2d4f5..607eb286b 100644 --- a/fabric-screen-api-v1/src/testmod/java/net/fabricmc/fabric/test/screen/SoundButton.java +++ b/fabric-screen-api-v1/src/testmod/java/net/fabricmc/fabric/test/screen/SoundButton.java @@ -21,7 +21,7 @@ import java.util.Random; import org.jetbrains.annotations.Nullable; import net.minecraft.client.MinecraftClient; -import net.minecraft.class_6382; +import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; import net.minecraft.client.gui.widget.PressableWidget; import net.minecraft.client.sound.PositionedSoundInstance; import net.minecraft.sound.SoundEvent; @@ -47,6 +47,6 @@ class SoundButton extends PressableWidget { } @Override - public void method_37020(class_6382 arg) { + public void appendNarrations(NarrationMessageBuilder arg) { } } diff --git a/fabric-screen-api-v1/src/testmod/java/net/fabricmc/fabric/test/screen/StopSoundButton.java b/fabric-screen-api-v1/src/testmod/java/net/fabricmc/fabric/test/screen/StopSoundButton.java index 0e31bf844..91a399bd2 100644 --- a/fabric-screen-api-v1/src/testmod/java/net/fabricmc/fabric/test/screen/StopSoundButton.java +++ b/fabric-screen-api-v1/src/testmod/java/net/fabricmc/fabric/test/screen/StopSoundButton.java @@ -18,11 +18,11 @@ package net.fabricmc.fabric.test.screen; import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.class_6382; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.hud.InGameHud; import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; import net.minecraft.client.gui.widget.PressableWidget; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.LiteralText; @@ -53,6 +53,6 @@ class StopSoundButton extends PressableWidget { } @Override - public void method_37020(class_6382 arg) { + public void appendNarrations(NarrationMessageBuilder arg) { } } diff --git a/fabric-tool-attribute-api-v1/build.gradle b/fabric-tool-attribute-api-v1/build.gradle index 259f0d2ed..01d2675b2 100644 --- a/fabric-tool-attribute-api-v1/build.gradle +++ b/fabric-tool-attribute-api-v1/build.gradle @@ -1,5 +1,5 @@ archivesBaseName = "fabric-tool-attribute-api-v1" -version = getSubprojectVersion(project, "1.2.11") +version = getSubprojectVersion(project, "1.2.12") dependencies { testmodImplementation project(path: ':fabric-object-builder-api-v1', configuration: 'dev') diff --git a/fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/LivingEntityMixin.java b/fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/LivingEntityMixin.java index 8da6b872d..2b7eb954f 100644 --- a/fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/LivingEntityMixin.java +++ b/fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/LivingEntityMixin.java @@ -44,13 +44,13 @@ public class LivingEntityMixin { @Nullable @Unique private EquipmentSlot slotContext = null; - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/attribute/AttributeContainer;removeModifiers(Lcom/google/common/collect/Multimap;)V"), method = "method_30129", locals = LocalCapture.CAPTURE_FAILHARD) + @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/attribute/AttributeContainer;removeModifiers(Lcom/google/common/collect/Multimap;)V"), method = "getEquipment", locals = LocalCapture.CAPTURE_FAILHARD) private void storeRemoveStackContext(CallbackInfoReturnable<Map> cir, Map map, EquipmentSlot[] var2, int var3, int var4, EquipmentSlot equipmentSlot, ItemStack oldStack, ItemStack newStack) { stackContext = oldStack; slotContext = equipmentSlot; } - @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/attribute/AttributeContainer;removeModifiers(Lcom/google/common/collect/Multimap;)V"), method = "method_30129") + @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/attribute/AttributeContainer;removeModifiers(Lcom/google/common/collect/Multimap;)V"), method = "getEquipment") private void setupRemoveModifierContext(AttributeContainer attributeContainer, Multimap<EntityAttribute, EntityAttributeModifier> oldModifiers) { ((ItemStackContext) (Object) stackContext).fabricToolAttributes_setContext((LivingEntity) (Object) this); Multimap<EntityAttribute, EntityAttributeModifier> attributeModifiers = stackContext.getAttributeModifiers(slotContext); @@ -58,13 +58,13 @@ public class LivingEntityMixin { attributeContainer.removeModifiers(attributeModifiers); } - @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/attribute/AttributeContainer;addTemporaryModifiers(Lcom/google/common/collect/Multimap;)V"), method = "method_30129", locals = LocalCapture.CAPTURE_FAILHARD) + @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/attribute/AttributeContainer;addTemporaryModifiers(Lcom/google/common/collect/Multimap;)V"), method = "getEquipment", locals = LocalCapture.CAPTURE_FAILHARD) private void storeAddStackContext(CallbackInfoReturnable<Map> cir, Map map, EquipmentSlot[] var2, int var3, int var4, EquipmentSlot equipmentSlot, ItemStack oldStack, ItemStack newStack) { stackContext = newStack; slotContext = equipmentSlot; } - @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/attribute/AttributeContainer;addTemporaryModifiers(Lcom/google/common/collect/Multimap;)V"), method = "method_30129") + @Redirect(at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/attribute/AttributeContainer;addTemporaryModifiers(Lcom/google/common/collect/Multimap;)V"), method = "getEquipment") private void setupAddModifierContext(AttributeContainer attributeContainer, Multimap<EntityAttribute, EntityAttributeModifier> oldModifiers) { ((ItemStackContext) (Object) stackContext).fabricToolAttributes_setContext((LivingEntity) (Object) this); Multimap<EntityAttribute, EntityAttributeModifier> attributeModifiers = stackContext.getAttributeModifiers(slotContext);