From 05ac5a4ce5948f8c8b399798a23f89862b569173 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 18:18:36 +0000 Subject: [PATCH 01/13] Fix all ambiguous mixin references --- .../fabric/mixin/content/registry/FireBlockMixin.java | 2 +- .../fabric/mixin/event/lifecycle/client/MinecraftMixin.java | 4 ++-- .../fabric/mixin/registry/sync/MappedRegistryMixin.java | 2 +- .../fabric/test/registry/sync/mixin/ByteBufCodecsMixin.java | 2 +- .../renderer/client/block/render/ItemFrameRendererMixin.java | 2 +- .../renderer/client/block/render/SnowGolemHeadLayerMixin.java | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FireBlockMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FireBlockMixin.java index cccffc6cfcb..9f6fe594da2 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FireBlockMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FireBlockMixin.java @@ -53,7 +53,7 @@ private void afterConstruct(Block.Properties properties, CallbackInfo info) { registry = FlammableBlockRegistryImpl.getInstance((Block) (Object) this); } - @Inject(at = @At("HEAD"), method = "getIgniteOdds", cancellable = true) + @Inject(at = @At("HEAD"), method = "getIgniteOdds(Lnet/minecraft/world/level/block/state/BlockState;)I", cancellable = true) private void getFabricBurnChance(BlockState block, CallbackInfoReturnable info) { FlammableBlockRegistry.Entry entry = registry.getFabric(block.getBlock()); diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/MinecraftMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/MinecraftMixin.java index 6b7c7988acd..c418be0cbf3 100644 --- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/MinecraftMixin.java +++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/MinecraftMixin.java @@ -51,8 +51,8 @@ private void onStart(CallbackInfo ci) { ClientLifecycleEvents.CLIENT_STARTED.invoker().onClientStarted((Minecraft) (Object) this); } - @Inject(method = "updateLevelInEngines", at = @At("TAIL")) - private void afterClientLevelChange(ClientLevel level, CallbackInfo ci) { + @Inject(method = "updateLevelInEngines(Lnet/minecraft/client/multiplayer/ClientLevel;Z)V", at = @At("TAIL")) + private void afterClientLevelChange(ClientLevel level, boolean stopSound, CallbackInfo ci) { if (level != null) { Minecraft client = (Minecraft) (Object) this; ClientLevelEvents.AFTER_CLIENT_LEVEL_CHANGE.invoker().afterLevelChange(client, level); diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MappedRegistryMixin.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MappedRegistryMixin.java index cc919f28c34..a4f2b060931 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MappedRegistryMixin.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MappedRegistryMixin.java @@ -456,7 +456,7 @@ public void addAlias(Identifier old, Identifier newId) { method = { "get(Lnet/minecraft/resources/Identifier;)Ljava/util/Optional;", "getValue(Lnet/minecraft/resources/Identifier;)Ljava/lang/Object;", - "containsKey" + "containsKey(Lnet/minecraft/resources/Identifier;)Z" }, at = @At("HEAD"), argsOnly = true diff --git a/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/mixin/ByteBufCodecsMixin.java b/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/mixin/ByteBufCodecsMixin.java index 877a5ce3275..cf7cc4a6151 100644 --- a/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/mixin/ByteBufCodecsMixin.java +++ b/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/mixin/ByteBufCodecsMixin.java @@ -34,7 +34,7 @@ @Mixin(ByteBufCodecs.class) public interface ByteBufCodecsMixin { - @Inject(method = "registry", at = @At("HEAD")) + @Inject(method = "registry(Lnet/minecraft/resources/ResourceKey;Ljava/util/function/Function;)Lnet/minecraft/network/codec/StreamCodec;", at = @At("HEAD")) private static void checkSynced(ResourceKey> registry, Function, IdMap> registryTransformer, CallbackInfoReturnable> cir) { RegistrySyncTest.checkSyncedRegistry(registry); } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java index e943455ddf1..45a4ef703c8 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java @@ -33,7 +33,7 @@ @Mixin(ItemFrameRenderer.class) abstract class ItemFrameRendererMixin { // Provide the BlockState as context. - @Redirect(method = "submit", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) + @Redirect(method = "submit(Lnet/minecraft/client/renderer/entity/state/ItemFrameRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local BlockState blockState) { // The vertex consumer is for a special layer that renders solid, but vanilla has no equivalent // cutout/translucent layers that we can use here without risking compatibility. diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java index cd036fd6c0e..4ea2322ea2e 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java @@ -35,7 +35,7 @@ @Mixin(SnowGolemHeadLayer.class) abstract class SnowGolemHeadLayerMixin { - @Redirect(method = "submit", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) + @Redirect(method = "submit(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/client/renderer/entity/state/SnowGolemRenderState;FF)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local SnowGolemRenderState renderState, @Local BlockState blockState) { // If true, the chunk layer is an outline chunk layer, and we want all geometry to use this chunk layer. if (renderState.appearsGlowing() && renderState.isInvisible) { From 197fd28211a0979d0fe083e5291c7df480ebb1f5 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 18:25:50 +0000 Subject: [PATCH 02/13] Fix all invalid shadow accesses --- .../fabricmc/fabric/mixin/biome/TheEndBiomeSourceMixin.java | 2 +- .../net/fabricmc/fabric/mixin/attachment/LevelChunkMixin.java | 2 +- .../fabric/mixin/event/interaction/client/MinecraftMixin.java | 2 +- .../event/interaction/ServerGamePacketListenerImplMixin.java | 4 +--- .../mixin/client/keymapping/KeyMappingCategoryMixin.java | 2 +- .../mixin/event/lifecycle/client/ClientChunkCacheMixin.java | 2 +- .../fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java | 2 +- .../fabric/mixin/client/model/loading/ModelBakeryMixin.java | 4 ++-- .../fabric/mixin/recipe/ingredient/ShapelessRecipeMixin.java | 2 +- .../mixin/renderer/client/sprite/TextureAtlasMixin.java | 3 --- .../fabric/mixin/resource/client/PackSelectionModelMixin.java | 4 ++-- .../net/fabricmc/fabric/mixin/tag/MappedRegistryMixin.java | 4 ++-- .../mixin/transfer/AbstractFurnaceBlockEntityMixin.java | 4 ++-- .../mixin/transfer/ChiseledBookShelfBlockEntityMixin.java | 2 ++ 14 files changed, 18 insertions(+), 21 deletions(-) diff --git a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/TheEndBiomeSourceMixin.java b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/TheEndBiomeSourceMixin.java index 0cfa5f2411d..8af605916ea 100644 --- a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/TheEndBiomeSourceMixin.java +++ b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/TheEndBiomeSourceMixin.java @@ -49,7 +49,7 @@ public class TheEndBiomeSourceMixin extends BiomeSourceMixin { @Shadow @Mutable @Final - static MapCodec CODEC; + public static MapCodec CODEC; @Unique private Supplier overrides; diff --git a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/LevelChunkMixin.java b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/LevelChunkMixin.java index 6ed0143f962..5c43273dd4e 100644 --- a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/LevelChunkMixin.java +++ b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/LevelChunkMixin.java @@ -47,7 +47,7 @@ abstract class LevelChunkMixin extends AttachmentTargetsMixin implements AttachmentTargetImpl { @Shadow @Final - Level level; + private Level level; @Shadow public abstract Map getBlockEntities(); diff --git a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java index cff74cf82d6..d0f8cfdcedc 100644 --- a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java +++ b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java @@ -49,7 +49,7 @@ public abstract class MinecraftMixin { private boolean attackCancelled; @Shadow - private LocalPlayer player; + public LocalPlayer player; @Shadow public abstract ClientPacketListener getConnection(); diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java index 329e20e34cf..3509dfb9312 100644 --- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java +++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java @@ -19,7 +19,6 @@ import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import com.llamalad7.mixinextras.sugar.Local; -import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -39,8 +38,7 @@ @Mixin(ServerGamePacketListenerImpl.class) public abstract class ServerGamePacketListenerImplMixin { @Shadow - @Final - private ServerPlayer player; + public ServerPlayer player; @Shadow private void tryPickItem(ItemStack stack) { diff --git a/fabric-key-mapping-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/keymapping/KeyMappingCategoryMixin.java b/fabric-key-mapping-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/keymapping/KeyMappingCategoryMixin.java index 6b685f8d589..ac6bbb56b60 100644 --- a/fabric-key-mapping-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/keymapping/KeyMappingCategoryMixin.java +++ b/fabric-key-mapping-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/keymapping/KeyMappingCategoryMixin.java @@ -34,7 +34,7 @@ abstract class KeyMappingCategoryMixin { @Shadow @Final - static List SORT_ORDER; + private static List SORT_ORDER; @Inject(method = "register(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/client/KeyMapping$Category;", at = @At("RETURN")) private static void onReturnRegister(Identifier id, CallbackInfoReturnable cir) { diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java index 192c4c41805..bb33a51d4ad 100644 --- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java +++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java @@ -42,7 +42,7 @@ public abstract class ClientChunkCacheMixin { @Final @Shadow - ClientLevel level; + private ClientLevel level; @Inject(method = "replaceWithPacketData", at = @At("TAIL")) private void onChunkLoad(int x, int z, FriendlyByteBuf friendlyByteBuf, Map highmap, Consumer consumer, CallbackInfoReturnable info) { diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java index 2f92b79b9a5..dcfb556ebfd 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java @@ -38,7 +38,7 @@ public abstract class ChunkMapMixin { @Shadow @Final - ServerLevel level; + private ServerLevel level; /** * Injection is inside of scheduleUnload. diff --git a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java index 3efab53e3d0..4e9b296ec29 100644 --- a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java +++ b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java @@ -53,11 +53,11 @@ abstract class ModelBakeryMixin { @Shadow @Final - static Logger LOGGER; + private static Logger LOGGER; @Shadow @Final - Map resolvedModels; + private Map resolvedModels; @Unique @Nullable diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/ShapelessRecipeMixin.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/ShapelessRecipeMixin.java index 590576875be..eaf88923e51 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/ShapelessRecipeMixin.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/ShapelessRecipeMixin.java @@ -41,7 +41,7 @@ public class ShapelessRecipeMixin { @Final @Shadow - List ingredients; + private List ingredients; @Unique private boolean fabric_requiresTesting = false; diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/sprite/TextureAtlasMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/sprite/TextureAtlasMixin.java index 9548f015b50..0d298da7e6e 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/sprite/TextureAtlasMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/sprite/TextureAtlasMixin.java @@ -19,7 +19,6 @@ import java.util.Map; import org.jspecify.annotations.Nullable; -import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; @@ -40,10 +39,8 @@ @Mixin(TextureAtlas.class) abstract class TextureAtlasMixin implements FabricTextureAtlas { @Shadow - @Final private Map texturesByName; @Shadow - @Final @Nullable private TextureAtlasSprite missingSprite; diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/PackSelectionModelMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/PackSelectionModelMixin.java index 873b77bd186..20b69192d11 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/PackSelectionModelMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/PackSelectionModelMixin.java @@ -37,11 +37,11 @@ public class PackSelectionModelMixin { @Shadow @Final - List selected; + private List selected; @Shadow @Final - List unselected; + private List unselected; /** * Do not list hidden packs in either enabledPacks or disabledPacks. diff --git a/fabric-tag-api-v1/src/main/java/net/fabricmc/fabric/mixin/tag/MappedRegistryMixin.java b/fabric-tag-api-v1/src/main/java/net/fabricmc/fabric/mixin/tag/MappedRegistryMixin.java index 519a5ff9d55..2e30b950095 100644 --- a/fabric-tag-api-v1/src/main/java/net/fabricmc/fabric/mixin/tag/MappedRegistryMixin.java +++ b/fabric-tag-api-v1/src/main/java/net/fabricmc/fabric/mixin/tag/MappedRegistryMixin.java @@ -57,13 +57,13 @@ abstract class MappedRegistryMixin implements MappedRegistryExtension, TagAli private ResourceKey> key; @Shadow - MappedRegistry.TagSet allTags; + private MappedRegistry.TagSet allTags; @Shadow protected abstract HolderSet.Named createTag(TagKey tag); @Shadow - abstract void refreshTagsInHolders(); + protected abstract void refreshTagsInHolders(); @Shadow public abstract ResourceKey> key(); diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/AbstractFurnaceBlockEntityMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/AbstractFurnaceBlockEntityMixin.java index 7b82425cca9..1372d135a21 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/AbstractFurnaceBlockEntityMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/AbstractFurnaceBlockEntityMixin.java @@ -42,9 +42,9 @@ public abstract class AbstractFurnaceBlockEntityMixin extends BaseContainerBlock @Shadow protected NonNullList items; @Shadow - int cookingTimer; + private int cookingTimer; @Shadow - int cookingTotalTime; + private int cookingTotalTime; @Unique private boolean fabric_suppressSpecialLogic = false; diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/ChiseledBookShelfBlockEntityMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/ChiseledBookShelfBlockEntityMixin.java index f2aeb4ed118..ed83990aaff 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/ChiseledBookShelfBlockEntityMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/ChiseledBookShelfBlockEntityMixin.java @@ -16,6 +16,7 @@ package net.fabricmc.fabric.mixin.transfer; +import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; @@ -39,6 +40,7 @@ @Mixin(ChiseledBookShelfBlockEntity.class) public class ChiseledBookShelfBlockEntityMixin implements SpecialLogicContainer { @Shadow + @Final private NonNullList items; @Shadow private int lastInteractedSlot; // last interacted slot From 988dd8f51691da0a74fe0581e23466037c49f7e5 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 18:33:26 +0000 Subject: [PATCH 03/13] Fix all incorrect usages of shift --- .../mixin/event/lifecycle/client/ClientChunkCacheMixin.java | 2 +- .../mixin/loot/SimpleJsonResourceReloadListenerMixin.java | 2 +- .../client/indigo/renderer/BlockRenderDispatcherMixin.java | 2 +- .../mixin/client/indigo/renderer/ItemStackRenderStateMixin.java | 2 +- .../fabricmc/fabric/mixin/resource/DataPackCommandMixin.java | 2 +- .../net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java | 2 +- .../net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java index bb33a51d4ad..49962b93be2 100644 --- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java +++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java @@ -49,7 +49,7 @@ private void onChunkLoad(int x, int z, FriendlyByteBuf friendlyByteBuf, Map highmap, Consumer consumer, CallbackInfoReturnable info, @Local LevelChunk levelChunk) { if (levelChunk != null) { ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, levelChunk); diff --git a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java index cfe73ccd52c..581d6f9c541 100644 --- a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java +++ b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java @@ -38,7 +38,7 @@ @Mixin(SimpleJsonResourceReloadListener.class) public class SimpleJsonResourceReloadListenerMixin { - @Inject(method = "scanDirectory(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/resources/FileToIdConverter;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Codec;Ljava/util/Map;)V", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/resources/FileToIdConverter;fileToId(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/resources/Identifier;", shift = At.Shift.AFTER)) + @Inject(method = "scanDirectory(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/resources/FileToIdConverter;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Codec;Ljava/util/Map;)V", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/resources/FileToIdConverter;fileToId(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/resources/Identifier;")) private static void fillSourceMap(ResourceManager manager, FileToIdConverter fileToIdConverter, DynamicOps ops, Codec codec, Map result, CallbackInfo ci, @Local Map.Entry entry, @Local(ordinal = 1) Identifier id) { final String dirName = ((FileToIdConverterAccessor) fileToIdConverter).getPrefix(); if (!LootDataType.TABLE.registryKey().identifier().getPath().equals(dirName)) return; diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java index 68d8a3a2bad..edd206dcfc2 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java @@ -46,7 +46,7 @@ abstract class BlockRenderDispatcherMixin { @Final private ModelBlockRenderer modelRenderer; - @Inject(method = "renderBreakingTexture(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/BlockAndTintGetter;Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;)V", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getBlockModel(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/block/model/BlockStateModel;", shift = At.Shift.AFTER), cancellable = true) + @Inject(method = "renderBreakingTexture(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/BlockAndTintGetter;Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;)V", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getBlockModel(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/block/model/BlockStateModel;"), cancellable = true) private void afterGetModel(BlockState blockState, BlockPos blockPos, BlockAndTintGetter level, PoseStack poseStack, VertexConsumer vertexConsumer, CallbackInfo ci, @Local BlockStateModel model) { modelRenderer.render(level, model, blockState, blockPos, poseStack, layer -> vertexConsumer, true, blockState.getSeed(blockPos), OverlayTexture.NO_OVERLAY); diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java index 73918ff1e27..6d20f4eac93 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java @@ -42,7 +42,7 @@ private void afterInitVecLoad(Consumer posConsumer, CallbackInfo ci, pipeRef.set(new QuadToPosPipe(posConsumer, vec)); } - @Inject(method = "visitExtents(Ljava/util/function/Consumer;)V", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/vertex/PoseStack$Pose;setIdentity()V", shift = At.Shift.BEFORE)) + @Inject(method = "visitExtents(Ljava/util/function/Consumer;)V", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/vertex/PoseStack$Pose;setIdentity()V")) private void afterLayerLoad(Consumer posConsumer, CallbackInfo ci, @Local(ordinal = 0) Vector3f vec, @Local ItemStackRenderState.LayerRenderState layer, @Local Matrix4f matrix, @Share("pipe") LocalRef pipeRef) { MutableMeshImpl mutableMesh = ((AccessLayerRenderState) layer).fabric_getMutableMesh(); diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java index 0547ebc5be8..f58ea2d3e48 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java @@ -61,7 +61,7 @@ private static Stream filterDisabledPackSuggestions(Stream instance, return original.call(instance, predicate).filter(profile -> !((FabricPack) profile).fabric$isHidden()); } - @Inject(method = "getPack", at = @At(value = "INVOKE", target = "Ljava/util/Collection;contains(Ljava/lang/Object;)Z", shift = At.Shift.BEFORE)) + @Inject(method = "getPack", at = @At(value = "INVOKE", target = "Ljava/util/Collection;contains(Ljava/lang/Object;)Z")) private static void errorOnInternalPack(CommandContext context, String name, boolean enable, CallbackInfoReturnable cir, @Local Pack profile) throws CommandSyntaxException { if (((FabricPack) profile).fabric$isHidden()) throw INTERNAL_PACK_EXCEPTION.create(profile.getId()); } diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java index ffc6d08bdb8..e9f50299ecb 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java @@ -83,7 +83,7 @@ public void construct(RepositorySource[] resourcePackProviders, CallbackInfo inf } } - @Inject(method = "rebuildSelected", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableList;copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;", shift = At.Shift.BEFORE)) + @Inject(method = "rebuildSelected", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableList;copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;")) private void handleAutoEnableDisable(Collection enabledNames, CallbackInfoReturnable> cir, @Local List enabledAfterFirstRun) { ModPackResourcesUtil.refreshAutoEnabledPacks(enabledAfterFirstRun, this.available); } diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java index 50b6bee4027..1db6032aae5 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java @@ -41,7 +41,7 @@ @Mixin(CrafterBlock.class) public class CrafterBlockMixin { // Inject after vanilla's attempts to insert the stack into an inventory. - @Inject(method = "dispenseItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;isEmpty()Z", shift = At.Shift.BEFORE)) + @Inject(method = "dispenseItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;isEmpty()Z")) private void transferOrSpawnStack(ServerLevel level, BlockPos pos, CrafterBlockEntity blockEntity, ItemStack inputStack, BlockState state, RecipeHolder recipe, CallbackInfo ci, @Local Direction direction, @Local Container inventory, @Local(ordinal = 1) ItemStack itemStack) { if (inventory != null) { // Vanilla already found and tested an inventory, nothing else to do even if it failed to insert. From 3e018c30c77d83964433b1be2cebaab19389906d Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 18:43:05 +0000 Subject: [PATCH 04/13] Replace all usages of INVOKE_ASSIGN with expressions --- .../fabric/mixin/block/LivingEntityMixin.java | 6 +++++- .../resources/fabric-block-api-v1.mixins.json | 3 +++ .../registry/PathfindingContextMixin.java | 6 +++++- .../fabric-content-registries-v0.mixins.json | 3 +++ .../mixin/entity/event/LivingEntityMixin.java | 6 +++++- .../fabric-entity-events-v1.mixins.json | 3 +++ .../fabric/mixin/gametest/server/MainMixin.java | 6 +++++- .../resources/fabric-gametest-api-v1.mixins.json | 3 +++ .../SimpleJsonResourceReloadListenerMixin.java | 6 +++++- .../resources/fabric-loot-api-v3.mixins.json | 3 +++ .../renderer/BlockRenderDispatcherMixin.java | 6 +++++- .../resources/fabric-renderer-indigo.mixins.json | 3 +++ .../mixin/transfer/HopperBlockEntityMixin.java | 16 ++++++++-------- .../resources/fabric-transfer-api-v1.mixins.json | 3 +++ 14 files changed, 59 insertions(+), 14 deletions(-) diff --git a/fabric-block-api-v1/src/main/java/net/fabricmc/fabric/mixin/block/LivingEntityMixin.java b/fabric-block-api-v1/src/main/java/net/fabricmc/fabric/mixin/block/LivingEntityMixin.java index 542a6f2f499..8a72a20fa0c 100644 --- a/fabric-block-api-v1/src/main/java/net/fabricmc/fabric/mixin/block/LivingEntityMixin.java +++ b/fabric-block-api-v1/src/main/java/net/fabricmc/fabric/mixin/block/LivingEntityMixin.java @@ -16,6 +16,8 @@ package net.fabricmc.fabric.mixin.block; +import com.llamalad7.mixinextras.expression.Definition; +import com.llamalad7.mixinextras.expression.Expression; import com.llamalad7.mixinextras.sugar.Local; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -32,9 +34,11 @@ @Mixin(LivingEntity.class) abstract class LivingEntityMixin { + @Definition(id = "getBlockState", method = "Lnet/minecraft/world/level/Level;getBlockState(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;") + @Expression("? = ?.getBlockState(?)") @Inject( method = "trapdoorUsableAsLadder", - at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/world/level/Level;getBlockState(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;"), + at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER), allow = 1, cancellable = true ) diff --git a/fabric-block-api-v1/src/main/resources/fabric-block-api-v1.mixins.json b/fabric-block-api-v1/src/main/resources/fabric-block-api-v1.mixins.json index 87d6bba5ab7..faf9c6b7894 100644 --- a/fabric-block-api-v1/src/main/resources/fabric-block-api-v1.mixins.json +++ b/fabric-block-api-v1/src/main/resources/fabric-block-api-v1.mixins.json @@ -14,5 +14,8 @@ }, "overwrites": { "requireAnnotations": true + }, + "mixinextras": { + "minVersion": "0.5.0" } } diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java index 0f8d84dabf7..53afa1b7f11 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java @@ -16,6 +16,8 @@ package net.fabricmc.fabric.mixin.content.registry; +import com.llamalad7.mixinextras.expression.Definition; +import com.llamalad7.mixinextras.expression.Expression; import com.llamalad7.mixinextras.sugar.Local; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -42,7 +44,9 @@ public abstract class PathfindingContextMixin { /** * Overrides the node type for the specified position, if the position is found as neighbor block in a path. */ - @Inject(method = "getPathTypeFromState", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/core/BlockPos$MutableBlockPos;set(III)Lnet/minecraft/core/BlockPos$MutableBlockPos;"), cancellable = true) + @Definition(id = "set", method = "Lnet/minecraft/core/BlockPos$MutableBlockPos;set(III)Lnet/minecraft/core/BlockPos$MutableBlockPos;") + @Expression("? = ?.set(?, ?, ?)") + @Inject(method = "getPathTypeFromState", at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER), cancellable = true) private void onGetNodeType(int x, int y, int z, CallbackInfoReturnable cir, @Local BlockPos pos) { final PathType neighborPathType = LandPathTypeRegistry.getPathType(getBlockState(pos), level(), pos, true); diff --git a/fabric-content-registries-v0/src/main/resources/fabric-content-registries-v0.mixins.json b/fabric-content-registries-v0/src/main/resources/fabric-content-registries-v0.mixins.json index 1c12e053527..7e5d409b7dd 100644 --- a/fabric-content-registries-v0/src/main/resources/fabric-content-registries-v0.mixins.json +++ b/fabric-content-registries-v0/src/main/resources/fabric-content-registries-v0.mixins.json @@ -27,5 +27,8 @@ }, "overwrites": { "requireAnnotations": true + }, + "mixinextras": { + "minVersion": "0.5.0" } } diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java index 61f297b18b4..1fa27a12dbe 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java @@ -18,6 +18,8 @@ import java.util.Optional; +import com.llamalad7.mixinextras.expression.Definition; +import com.llamalad7.mixinextras.expression.Expression; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import com.llamalad7.mixinextras.sugar.Local; @@ -125,8 +127,10 @@ private Direction onGetSleepingDirection(BlockGetter level, BlockPos sleepingPos // This is needed 1) so that the vanilla logic in wakeUp runs for modded beds and 2) for the injector below. // The injector is shared because lambda$stopSleeping$23 and sleep share much of the structure here. + @Definition(id = "getBlockState", method = "Lnet/minecraft/world/level/Level;getBlockState(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;") + @Expression("? = ?.getBlockState(?)") @Dynamic("lambda$stopSleeping$0: Synthetic lambda body for Optional.ifPresent in stopSleeping") - @ModifyVariable(method = {"lambda$stopSleeping$0", "startSleeping"}, at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/world/level/Level;getBlockState(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;")) + @ModifyVariable(method = {"lambda$stopSleeping$0", "startSleeping"}, at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER)) private BlockState modifyBedForOccupiedState(BlockState state, BlockPos sleepingPos) { InteractionResult result = EntitySleepEvents.ALLOW_BED.invoker().allowBed((LivingEntity) (Object) this, sleepingPos, state, state.getBlock() instanceof BedBlock); diff --git a/fabric-entity-events-v1/src/main/resources/fabric-entity-events-v1.mixins.json b/fabric-entity-events-v1/src/main/resources/fabric-entity-events-v1.mixins.json index cdaf25957a6..720ee739a91 100644 --- a/fabric-entity-events-v1/src/main/resources/fabric-entity-events-v1.mixins.json +++ b/fabric-entity-events-v1/src/main/resources/fabric-entity-events-v1.mixins.json @@ -14,5 +14,8 @@ "injectors": { "defaultRequire": 1, "maxShiftBy": 3 + }, + "mixinextras": { + "minVersion": "0.5.0" } } diff --git a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java index e95da801d8b..a4b922cc22d 100644 --- a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java +++ b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java @@ -16,6 +16,8 @@ package net.fabricmc.fabric.mixin.gametest.server; +import com.llamalad7.mixinextras.expression.Definition; +import com.llamalad7.mixinextras.expression.Expression; import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.sugar.Local; import org.spongepowered.asm.mixin.Mixin; @@ -37,7 +39,9 @@ private static boolean isEulaAgreedTo(boolean isEulaAgreedTo) { } // Inject after packRepository is stored - @Inject(method = "main", cancellable = true, at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/server/packs/repository/ServerPacksSource;createPackRepository(Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;)Lnet/minecraft/server/packs/repository/PackRepository;")) + @Definition(id = "createPackRepository", method = "Lnet/minecraft/server/packs/repository/ServerPacksSource;createPackRepository(Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;)Lnet/minecraft/server/packs/repository/PackRepository;") + @Expression("? = createPackRepository(?)") + @Inject(method = "main", cancellable = true, at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER)) private static void main(String[] args, CallbackInfo info, @Local LevelStorageSource.LevelStorageAccess storageAccess, @Local PackRepository packRepository) { if (FabricGameTestRunner.ENABLED) { FabricGameTestRunner.runHeadlessServer(storageAccess, packRepository); diff --git a/fabric-gametest-api-v1/src/main/resources/fabric-gametest-api-v1.mixins.json b/fabric-gametest-api-v1/src/main/resources/fabric-gametest-api-v1.mixins.json index a4a3f0cd991..f0318f3f067 100644 --- a/fabric-gametest-api-v1/src/main/resources/fabric-gametest-api-v1.mixins.json +++ b/fabric-gametest-api-v1/src/main/resources/fabric-gametest-api-v1.mixins.json @@ -13,5 +13,8 @@ "injectors": { "defaultRequire": 1, "maxShiftBy": 2 + }, + "mixinextras": { + "minVersion": "0.5.0" } } diff --git a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java index 581d6f9c541..ab93c3bbafc 100644 --- a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java +++ b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java @@ -19,6 +19,8 @@ import java.util.Map; import com.google.gson.JsonElement; +import com.llamalad7.mixinextras.expression.Definition; +import com.llamalad7.mixinextras.expression.Expression; import com.llamalad7.mixinextras.sugar.Local; import com.mojang.serialization.Codec; import com.mojang.serialization.DynamicOps; @@ -38,7 +40,9 @@ @Mixin(SimpleJsonResourceReloadListener.class) public class SimpleJsonResourceReloadListenerMixin { - @Inject(method = "scanDirectory(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/resources/FileToIdConverter;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Codec;Ljava/util/Map;)V", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/resources/FileToIdConverter;fileToId(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/resources/Identifier;")) + @Definition(id = "fileToId", method = "Lnet/minecraft/resources/FileToIdConverter;fileToId(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/resources/Identifier;") + @Expression("? = ?.fileToId(?)") + @Inject(method = "scanDirectory(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/resources/FileToIdConverter;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Codec;Ljava/util/Map;)V", at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER)) private static void fillSourceMap(ResourceManager manager, FileToIdConverter fileToIdConverter, DynamicOps ops, Codec codec, Map result, CallbackInfo ci, @Local Map.Entry entry, @Local(ordinal = 1) Identifier id) { final String dirName = ((FileToIdConverterAccessor) fileToIdConverter).getPrefix(); if (!LootDataType.TABLE.registryKey().identifier().getPath().equals(dirName)) return; diff --git a/fabric-loot-api-v3/src/main/resources/fabric-loot-api-v3.mixins.json b/fabric-loot-api-v3/src/main/resources/fabric-loot-api-v3.mixins.json index 3dd7c5f13bd..68933ae23e3 100644 --- a/fabric-loot-api-v3/src/main/resources/fabric-loot-api-v3.mixins.json +++ b/fabric-loot-api-v3/src/main/resources/fabric-loot-api-v3.mixins.json @@ -17,5 +17,8 @@ }, "overwrites": { "requireAnnotations": true + }, + "mixinextras": { + "minVersion": "0.5.0" } } diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java index edd206dcfc2..493eb5d66b7 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java @@ -16,6 +16,8 @@ package net.fabricmc.fabric.mixin.client.indigo.renderer; +import com.llamalad7.mixinextras.expression.Definition; +import com.llamalad7.mixinextras.expression.Expression; import com.llamalad7.mixinextras.sugar.Local; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; @@ -46,7 +48,9 @@ abstract class BlockRenderDispatcherMixin { @Final private ModelBlockRenderer modelRenderer; - @Inject(method = "renderBreakingTexture(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/BlockAndTintGetter;Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;)V", at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getBlockModel(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/block/model/BlockStateModel;"), cancellable = true) + @Definition(id = "getBlockModel", method = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getBlockModel(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/block/model/BlockStateModel;") + @Expression("? = ?.getBlockModel(?)") + @Inject(method = "renderBreakingTexture(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/BlockAndTintGetter;Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;)V", at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER), cancellable = true) private void afterGetModel(BlockState blockState, BlockPos blockPos, BlockAndTintGetter level, PoseStack poseStack, VertexConsumer vertexConsumer, CallbackInfo ci, @Local BlockStateModel model) { modelRenderer.render(level, model, blockState, blockPos, poseStack, layer -> vertexConsumer, true, blockState.getSeed(blockPos), OverlayTexture.NO_OVERLAY); diff --git a/fabric-renderer-indigo/src/client/resources/fabric-renderer-indigo.mixins.json b/fabric-renderer-indigo/src/client/resources/fabric-renderer-indigo.mixins.json index 9c8485c1b8d..57269de23ec 100644 --- a/fabric-renderer-indigo/src/client/resources/fabric-renderer-indigo.mixins.json +++ b/fabric-renderer-indigo/src/client/resources/fabric-renderer-indigo.mixins.json @@ -21,5 +21,8 @@ }, "overwrites": { "requireAnnotations": true + }, + "mixinextras": { + "minVersion": "0.5.0" } } diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java index 9bf046de84c..72e9e80c82b 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java @@ -16,6 +16,8 @@ package net.fabricmc.fabric.mixin.transfer; +import com.llamalad7.mixinextras.expression.Definition; +import com.llamalad7.mixinextras.expression.Expression; import com.llamalad7.mixinextras.sugar.Local; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -44,11 +46,10 @@ public class HopperBlockEntityMixin { @Shadow private Direction facing; + @Definition(id = "getAttachedContainer", method = "Lnet/minecraft/world/level/block/entity/HopperBlockEntity;getAttachedContainer(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/entity/HopperBlockEntity;)Lnet/minecraft/world/Container;") + @Expression("? = getAttachedContainer(?, ?, ?)") @Inject( - at = @At( - value = "INVOKE_ASSIGN", - target = "Lnet/minecraft/world/level/block/entity/HopperBlockEntity;getAttachedContainer(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/entity/HopperBlockEntity;)Lnet/minecraft/world/Container;" - ), + at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER), method = "ejectItems", cancellable = true ) @@ -73,11 +74,10 @@ private static void hookInsert(Level level, BlockPos pos, HopperBlockEntity bloc } } + @Definition(id = "getSourceContainer", method = "Lnet/minecraft/world/level/block/entity/HopperBlockEntity;getSourceContainer(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/level/block/entity/Hopper;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/Container;") + @Expression("? = getSourceContainer(?, ?, ?, ?)") @Inject( - at = @At( - value = "INVOKE_ASSIGN", - target = "Lnet/minecraft/world/level/block/entity/HopperBlockEntity;getSourceContainer(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/level/block/entity/Hopper;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/Container;" - ), + at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER), method = "suckInItems(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/level/block/entity/Hopper;)Z", cancellable = true ) diff --git a/fabric-transfer-api-v1/src/main/resources/fabric-transfer-api-v1.mixins.json b/fabric-transfer-api-v1/src/main/resources/fabric-transfer-api-v1.mixins.json index 14e1bef6dba..2115fd7957b 100644 --- a/fabric-transfer-api-v1/src/main/resources/fabric-transfer-api-v1.mixins.json +++ b/fabric-transfer-api-v1/src/main/resources/fabric-transfer-api-v1.mixins.json @@ -26,5 +26,8 @@ }, "overwrites": { "requireAnnotations": true + }, + "mixinextras": { + "minVersion": "0.5.0" } } From 09440ab485a8d2ce38bb0554c7dae8c22d8f899b Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 18:44:55 +0000 Subject: [PATCH 05/13] Add argsOnly = true to all @Locals where possible --- .../fabric/mixin/client/model/loading/ModelBakeryMixin.java | 4 ++-- .../client/block/render/MushroomCowMushroomLayerMixin.java | 2 +- .../renderer/client/block/render/SnowGolemHeadLayerMixin.java | 2 +- .../mixin/resource/client/GameOptionsWriteVisitorMixin.java | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java index 4e9b296ec29..410e4734615 100644 --- a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java +++ b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java @@ -83,7 +83,7 @@ private BiFunction hoo } @ModifyReturnValue(method = "bakeModels", at = @At("RETURN")) - private CompletableFuture withExtraModels(CompletableFuture models, @Local Executor executor, @Local ModelBakery.ModelBakerImpl baker) { + private CompletableFuture withExtraModels(CompletableFuture models, @Local(argsOnly = true) Executor executor, @Local ModelBakery.ModelBakerImpl baker) { if (fabric_eventDispatcher == null) return models; CompletableFuture, Object>> extraModels = ParallelMapTransform.schedule(fabric_eventDispatcher.getExtraModels(), (key, model) -> { @@ -112,7 +112,7 @@ private static BlockStateModel wrapBlockModelBake(BlockStateModel.UnbakedRoot un } @WrapOperation(method = "lambda$bakeModels$1", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/item/ItemModel$Unbaked;bake(Lnet/minecraft/client/renderer/item/ItemModel$BakingContext;)Lnet/minecraft/client/renderer/item/ItemModel;")) - private ItemModel wrapItemModelBake(ItemModel.Unbaked unbakedModel, ItemModel.BakingContext bakeContext, Operation operation, @Local Identifier itemId) { + private ItemModel wrapItemModelBake(ItemModel.Unbaked unbakedModel, ItemModel.BakingContext bakeContext, Operation operation, @Local(argsOnly = true) Identifier itemId) { if (fabric_eventDispatcher == null) { return operation.call(unbakedModel, bakeContext); } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java index c8a7ae3e68d..15990d9878d 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java @@ -34,7 +34,7 @@ abstract class MushroomCowMushroomLayerMixin { // Fix tinted quads being rendered completely black and provide the BlockState as context. @Redirect(method = "submitMushroomBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) - private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local BlockState blockState) { + private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true) BlockState blockState) { submitNodeCollector.submitBlockStateModel(poseStack, _ -> renderType, model, 1, 1, 1, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, blockState); } } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java index 4ea2322ea2e..b455ce599d3 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java @@ -36,7 +36,7 @@ @Mixin(SnowGolemHeadLayer.class) abstract class SnowGolemHeadLayerMixin { @Redirect(method = "submit(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/client/renderer/entity/state/SnowGolemRenderState;FF)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) - private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local SnowGolemRenderState renderState, @Local BlockState blockState) { + private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true) SnowGolemRenderState renderState, @Local BlockState blockState) { // If true, the chunk layer is an outline chunk layer, and we want all geometry to use this chunk layer. if (renderState.appearsGlowing() && renderState.isInvisible) { // Fix tinted quads being rendered completely black and provide the BlockState as context. diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java index 9f45d427342..17f2267fd2b 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java @@ -53,7 +53,7 @@ private static List toPackListString(List packs) { @SuppressWarnings("unchecked") @ModifyArg(method = "process(Ljava/lang/String;Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/lang/Object;", at = @At(value = "INVOKE", target = "Ljava/util/function/Function;apply(Ljava/lang/Object;)Ljava/lang/Object;")) - private T skipHiddenPacks(T value, @Local String key) { + private T skipHiddenPacks(T value, @Local(argsOnly = true) String key) { if ("resourcePacks".equals(key) && value instanceof List) { return (T) toPackListString((List) value); } From 889d6c57bce18d73eac19581dffc307271bc8a8b Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 18:52:31 +0000 Subject: [PATCH 06/13] Add all missing field opcodes --- .../mixin/attachment/client/ClientPacketListenerMixin.java | 4 +++- .../fabric/mixin/entity/event/elytra/LivingEntityMixin.java | 3 ++- .../fabric/mixin/event/lifecycle/client/MinecraftMixin.java | 3 ++- .../net/fabricmc/fabric/mixin/networking/ConnectionMixin.java | 3 ++- .../fabric/mixin/client/particle/TerrainParticleMixin.java | 3 ++- .../client/rendering/fluid/LiquidBlockRendererMixin.java | 3 ++- .../fabric/mixin/client/rendering/LevelRendererMixin.java | 3 ++- 7 files changed, 15 insertions(+), 7 deletions(-) diff --git a/fabric-data-attachment-api-v1/src/client/java/net/fabricmc/fabric/mixin/attachment/client/ClientPacketListenerMixin.java b/fabric-data-attachment-api-v1/src/client/java/net/fabricmc/fabric/mixin/attachment/client/ClientPacketListenerMixin.java index 6bcb427e91f..bc6e4333477 100644 --- a/fabric-data-attachment-api-v1/src/client/java/net/fabricmc/fabric/mixin/attachment/client/ClientPacketListenerMixin.java +++ b/fabric-data-attachment-api-v1/src/client/java/net/fabricmc/fabric/mixin/attachment/client/ClientPacketListenerMixin.java @@ -19,6 +19,7 @@ import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import com.llamalad7.mixinextras.sugar.Local; +import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Slice; @@ -36,7 +37,8 @@ abstract class ClientPacketListenerMixin { method = "handleRespawn", at = @At( value = "FIELD", - target = "Lnet/minecraft/client/Minecraft;player:Lnet/minecraft/client/player/LocalPlayer;" + target = "Lnet/minecraft/client/Minecraft;player:Lnet/minecraft/client/player/LocalPlayer;", + opcode = Opcodes.PUTFIELD ), slice = @Slice( from = @At(value = "INVOKE", target = "Lnet/minecraft/client/multiplayer/ClientPacketListener;startWaitingForNewLevel(Lnet/minecraft/client/player/LocalPlayer;Lnet/minecraft/client/multiplayer/ClientLevel;Lnet/minecraft/client/gui/screens/LevelLoadingScreen$Reason;)V") diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/elytra/LivingEntityMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/elytra/LivingEntityMixin.java index b45997f48a1..b8931438f6a 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/elytra/LivingEntityMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/elytra/LivingEntityMixin.java @@ -16,6 +16,7 @@ package net.fabricmc.fabric.mixin.entity.event.elytra; +import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -61,7 +62,7 @@ void injectElytraTick(CallbackInfo info) { } @SuppressWarnings("ConstantConditions") - @Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/world/entity/EquipmentSlot;VALUES:Ljava/util/List;"), method = "canGlide", allow = 1, cancellable = true) + @Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/world/entity/EquipmentSlot;VALUES:Ljava/util/List;", opcode = Opcodes.GETSTATIC), method = "canGlide", allow = 1, cancellable = true) void injectElytraCheck(CallbackInfoReturnable cir) { LivingEntity self = (LivingEntity) (Object) this; diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/MinecraftMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/MinecraftMixin.java index c418be0cbf3..5f5c36c2cd9 100644 --- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/MinecraftMixin.java +++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/MinecraftMixin.java @@ -16,6 +16,7 @@ package net.fabricmc.fabric.mixin.event.lifecycle.client; +import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; @@ -46,7 +47,7 @@ private void onStopping(CallbackInfo ci) { } // We inject after the thread field is set so `BlockableEventLoop#getRunningThread` will work - @Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/client/Minecraft;gameThread:Ljava/lang/Thread;", shift = At.Shift.AFTER, ordinal = 0), method = "run") + @Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/client/Minecraft;gameThread:Ljava/lang/Thread;", shift = At.Shift.AFTER, ordinal = 0, opcode = Opcodes.PUTFIELD), method = "run") private void onStart(CallbackInfo ci) { ClientLifecycleEvents.CLIENT_STARTED.invoker().onClientStarted((Minecraft) (Object) this); } diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java index 9b656d0ecf9..9549e05ebe7 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java @@ -24,6 +24,7 @@ import com.llamalad7.mixinextras.sugar.Local; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelHandlerContext; +import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; @@ -64,7 +65,7 @@ private void initAddedFields(PacketFlow flow, CallbackInfo ci) { this.playChannels = new ConcurrentHashMap<>(); } - @Inject(method = "sendPacket", at = @At(value = "FIELD", target = "Lnet/minecraft/network/Connection;sentPackets:I")) + @Inject(method = "sendPacket", at = @At(value = "FIELD", target = "Lnet/minecraft/network/Connection;sentPackets:I", opcode = Opcodes.GETFIELD)) private void checkPacket(Packet packet, ChannelFutureListener callback, boolean flush, CallbackInfo ci) { if (this.packetListener instanceof PacketCallbackListener) { ((PacketCallbackListener) this.packetListener).sent(packet); diff --git a/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java b/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java index 4633dc23cf6..1e502a4c618 100644 --- a/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java +++ b/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java @@ -17,6 +17,7 @@ package net.fabricmc.fabric.mixin.client.particle; import com.llamalad7.mixinextras.sugar.Local; +import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -51,7 +52,7 @@ private TerrainParticleMixin() { at = @At("LOAD"), argsOnly = true, slice = @Slice( - from = @At(value = "FIELD", target = "Lnet/minecraft/client/particle/TerrainParticle;bCol:F", ordinal = 0), + from = @At(value = "FIELD", target = "Lnet/minecraft/client/particle/TerrainParticle;bCol:F", ordinal = 0, opcode = Opcodes.PUTFIELD), to = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockState;is(Ljava/lang/Object;)Z") ), allow = 1 diff --git a/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java b/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java index f6d97332da2..652f097474c 100644 --- a/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java +++ b/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java @@ -23,6 +23,7 @@ import com.llamalad7.mixinextras.sugar.Share; import com.llamalad7.mixinextras.sugar.ref.LocalBooleanRef; import com.mojang.blaze3d.vertex.VertexConsumer; +import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -140,7 +141,7 @@ public int modTintColor(int original, BlockAndTintGetter level, BlockPos pos, Ve @ModifyVariable( method = "tesselate", at = @At(value = "MIXINEXTRAS:EXPRESSION", ordinal = 0), - slice = @Slice(from = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/block/LiquidBlockRenderer;waterOverlay:Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;")), + slice = @Slice(from = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/block/LiquidBlockRenderer;waterOverlay:Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;", opcode = Opcodes.GETFIELD)), ordinal = 2 ) private TextureAtlasSprite modifyOverlaySprite( diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LevelRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LevelRendererMixin.java index 93d8e0348e4..1cd031f1210 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LevelRendererMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LevelRendererMixin.java @@ -25,6 +25,7 @@ import org.joml.Matrix4f; import org.joml.Vector4f; import org.jspecify.annotations.Nullable; +import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -146,7 +147,7 @@ private void beforeTranslucentRender(CallbackInfo ci) { LevelRenderEvents.BEFORE_TRANSLUCENT.invoker().beforeTranslucent(renderContext); } - @Inject(method = "renderBlockOutline", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/state/CameraRenderState;pos:Lnet/minecraft/world/phys/Vec3;"), cancellable = true) + @Inject(method = "renderBlockOutline", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/state/CameraRenderState;pos:Lnet/minecraft/world/phys/Vec3;", opcode = Opcodes.GETFIELD), cancellable = true) private void beforeDrawBlockOutline(MultiBufferSource.BufferSource consumers, PoseStack poseStack, boolean bl, LevelRenderState worldRenderState, CallbackInfo ci) { if (!LevelRenderEvents.BEFORE_BLOCK_OUTLINE.invoker().beforeBlockOutline(renderContext, renderContext.levelState().blockOutlineRenderState)) { consumers.endLastBatch(); From 9643030d01e419c45f17aa4317013435936535be Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 18:53:34 +0000 Subject: [PATCH 07/13] Remove unused cancellable = true --- .../fabric/mixin/recipe/ingredient/IngredientMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/IngredientMixin.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/IngredientMixin.java index 2f6718053dd..c95c68bf7b5 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/IngredientMixin.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/IngredientMixin.java @@ -78,7 +78,7 @@ private static StreamCodec> useOpt return new OptionalCustomIngredientStreamCodec(original); } - @Inject(method = "", at = @At("TAIL"), cancellable = true) + @Inject(method = "", at = @At("TAIL")) private static void injectCodec(CallbackInfo ci) { Codec customIngredientCodec = CustomIngredientImpl.CODEC.dispatch( CustomIngredientImpl.TYPE_KEY, From c734a4c9d6cbb16c1373fa4a31b1818c4edbdc08 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 19:05:28 +0000 Subject: [PATCH 08/13] Update Fabric loader to 0.18.4 --- .../src/main/resources/fabric.mod.json | 2 +- fabric-api-base/src/main/resources/fabric.mod.json | 2 +- fabric-api-lookup-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-biome-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-block-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-block-view-api-v2/src/main/resources/fabric.mod.json | 2 +- .../src/client/resources/fabric.mod.json | 2 +- fabric-command-api-v2/src/main/resources/fabric.mod.json | 2 +- fabric-content-registries-v0/src/main/resources/fabric.mod.json | 2 +- fabric-convention-tags-v2/src/datagen/resources/fabric.mod.json | 2 +- fabric-convention-tags-v2/src/main/resources/fabric.mod.json | 2 +- fabric-crash-report-info-v1/src/main/resources/fabric.mod.json | 2 +- fabric-creative-tab-api-v1/src/main/resources/fabric.mod.json | 2 +- .../src/main/resources/fabric.mod.json | 2 +- .../src/main/resources/fabric.mod.json | 2 +- fabric-dimensions-v1/src/main/resources/fabric.mod.json | 2 +- fabric-entity-events-v1/src/main/resources/fabric.mod.json | 2 +- fabric-events-interaction-v0/src/main/resources/fabric.mod.json | 2 +- fabric-game-rule-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-gametest-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-item-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-key-mapping-api-v1/src/client/resources/fabric.mod.json | 2 +- fabric-lifecycle-events-v1/src/main/resources/fabric.mod.json | 2 +- fabric-loot-api-v3/src/main/resources/fabric.mod.json | 2 +- fabric-menu-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-message-api-v1/src/main/resources/fabric.mod.json | 2 +- .../src/client/resources/fabric.mod.json | 2 +- fabric-networking-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-object-builder-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-particles-v1/src/main/resources/fabric.mod.json | 2 +- fabric-recipe-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-registry-sync-v0/src/main/resources/fabric.mod.json | 2 +- fabric-renderer-api-v1/src/client/resources/fabric.mod.json | 2 +- fabric-renderer-indigo/src/client/resources/fabric.mod.json | 2 +- fabric-rendering-fluids-v1/src/main/resources/fabric.mod.json | 2 +- fabric-rendering-v1/src/client/resources/fabric.mod.json | 2 +- .../src/main/resources/fabric.mod.json | 2 +- fabric-resource-loader-v1/src/main/resources/fabric.mod.json | 2 +- fabric-screen-api-v1/src/client/resources/fabric.mod.json | 2 +- fabric-serialization-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-sound-api-v1/src/client/resources/fabric.mod.json | 2 +- fabric-tag-api-v1/src/main/resources/fabric.mod.json | 2 +- fabric-transfer-api-v1/src/main/resources/fabric.mod.json | 2 +- .../src/main/resources/fabric.mod.json | 2 +- gradle.properties | 2 +- src/main/resources/fabric.mod.json | 2 +- 46 files changed, 46 insertions(+), 46 deletions(-) diff --git a/deprecated/fabric-resource-loader-v0/src/main/resources/fabric.mod.json b/deprecated/fabric-resource-loader-v0/src/main/resources/fabric.mod.json index bcdf6ddabdc..4b07bc4a9d3 100644 --- a/deprecated/fabric-resource-loader-v0/src/main/resources/fabric.mod.json +++ b/deprecated/fabric-resource-loader-v0/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-resource-loader-v1": "*" }, "description": "Asset and data resource loading.", diff --git a/fabric-api-base/src/main/resources/fabric.mod.json b/fabric-api-base/src/main/resources/fabric.mod.json index f6e9ccc3abd..af4ceacda91 100644 --- a/fabric-api-base/src/main/resources/fabric.mod.json +++ b/fabric-api-base/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Contains the essentials for Fabric API modules.", "custom": { diff --git a/fabric-api-lookup-api-v1/src/main/resources/fabric.mod.json b/fabric-api-lookup-api-v1/src/main/resources/fabric.mod.json index 2353276a4cf..c5df817a177 100644 --- a/fabric-api-lookup-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-api-lookup-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-lifecycle-events-v1": "*" }, diff --git a/fabric-biome-api-v1/src/main/resources/fabric.mod.json b/fabric-biome-api-v1/src/main/resources/fabric.mod.json index 5fa116675fd..d410e84cbbb 100644 --- a/fabric-biome-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-biome-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "minecraft": ">=1.16.2" }, "description": "Hooks for adding biomes to the default world generator.", diff --git a/fabric-block-api-v1/src/main/resources/fabric.mod.json b/fabric-block-api-v1/src/main/resources/fabric.mod.json index b2983d6120d..2d0aaf1008d 100644 --- a/fabric-block-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-block-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "entrypoints": { }, diff --git a/fabric-block-view-api-v2/src/main/resources/fabric.mod.json b/fabric-block-view-api-v2/src/main/resources/fabric.mod.json index 2c1fd3f4b96..70bf30ddc3c 100644 --- a/fabric-block-view-api-v2/src/main/resources/fabric.mod.json +++ b/fabric-block-view-api-v2/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Hooks for block views", "mixins": [ diff --git a/fabric-client-gametest-api-v1/src/client/resources/fabric.mod.json b/fabric-client-gametest-api-v1/src/client/resources/fabric.mod.json index c157c4d68ac..78cf55efb8d 100644 --- a/fabric-client-gametest-api-v1/src/client/resources/fabric.mod.json +++ b/fabric-client-gametest-api-v1/src/client/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-resource-loader-v1": "*" }, "description": "Allows registration of client game tests.", diff --git a/fabric-command-api-v2/src/main/resources/fabric.mod.json b/fabric-command-api-v2/src/main/resources/fabric.mod.json index bc90a273500..83f7612c8f1 100644 --- a/fabric-command-api-v2/src/main/resources/fabric.mod.json +++ b/fabric-command-api-v2/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "minecraft": ">1.19-alpha.22.11.a" }, diff --git a/fabric-content-registries-v0/src/main/resources/fabric.mod.json b/fabric-content-registries-v0/src/main/resources/fabric.mod.json index 65899d31e88..527833d0f53 100644 --- a/fabric-content-registries-v0/src/main/resources/fabric.mod.json +++ b/fabric-content-registries-v0/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-lifecycle-events-v1": "*", "fabric-resource-loader-v1": "*" diff --git a/fabric-convention-tags-v2/src/datagen/resources/fabric.mod.json b/fabric-convention-tags-v2/src/datagen/resources/fabric.mod.json index 79928b5e9b5..0c9f7546824 100644 --- a/fabric-convention-tags-v2/src/datagen/resources/fabric.mod.json +++ b/fabric-convention-tags-v2/src/datagen/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "minecraft": ">=1.18.2" }, "description": "Contains common tags used by mods for vanilla things.", diff --git a/fabric-convention-tags-v2/src/main/resources/fabric.mod.json b/fabric-convention-tags-v2/src/main/resources/fabric.mod.json index 361137c03cc..1d83f012f6e 100644 --- a/fabric-convention-tags-v2/src/main/resources/fabric.mod.json +++ b/fabric-convention-tags-v2/src/main/resources/fabric.mod.json @@ -21,7 +21,7 @@ ] }, "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "minecraft": ">=1.20.5-beta.1", "fabric-lifecycle-events-v1": "*" }, diff --git a/fabric-crash-report-info-v1/src/main/resources/fabric.mod.json b/fabric-crash-report-info-v1/src/main/resources/fabric.mod.json index bf8420fe7eb..e3db50e15d7 100644 --- a/fabric-crash-report-info-v1/src/main/resources/fabric.mod.json +++ b/fabric-crash-report-info-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Adds Fabric-related debug info to crash reports.", "mixins": [ diff --git a/fabric-creative-tab-api-v1/src/main/resources/fabric.mod.json b/fabric-creative-tab-api-v1/src/main/resources/fabric.mod.json index 1a2e08f7708..eea2299178b 100644 --- a/fabric-creative-tab-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-creative-tab-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-resource-loader-v1": "*" }, diff --git a/fabric-data-attachment-api-v1/src/main/resources/fabric.mod.json b/fabric-data-attachment-api-v1/src/main/resources/fabric.mod.json index 694aa3a871d..4838a9d4b98 100644 --- a/fabric-data-attachment-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-data-attachment-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-entity-events-v1": "*", "fabric-object-builder-api-v1": "*", "fabric-networking-api-v1": "*" diff --git a/fabric-data-generation-api-v1/src/main/resources/fabric.mod.json b/fabric-data-generation-api-v1/src/main/resources/fabric.mod.json index 439fdbcd837..024b7272fdd 100644 --- a/fabric-data-generation-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-data-generation-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-convention-tags-v2": "*", "fabric-recipe-api-v1": "*", "fabric-registry-sync-v0": "*", diff --git a/fabric-dimensions-v1/src/main/resources/fabric.mod.json b/fabric-dimensions-v1/src/main/resources/fabric.mod.json index b11ab2021a9..dbeb6e8faa3 100644 --- a/fabric-dimensions-v1/src/main/resources/fabric.mod.json +++ b/fabric-dimensions-v1/src/main/resources/fabric.mod.json @@ -15,7 +15,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "minecraft": ">=1.16-rc.3", "fabric-api-base": "*" }, diff --git a/fabric-entity-events-v1/src/main/resources/fabric.mod.json b/fabric-entity-events-v1/src/main/resources/fabric.mod.json index 474cfde44a9..20790fa4727 100644 --- a/fabric-entity-events-v1/src/main/resources/fabric.mod.json +++ b/fabric-entity-events-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Events to hook into entities.", "mixins": [ diff --git a/fabric-events-interaction-v0/src/main/resources/fabric.mod.json b/fabric-events-interaction-v0/src/main/resources/fabric.mod.json index 2c8976fcc25..b194b3c6d12 100644 --- a/fabric-events-interaction-v0/src/main/resources/fabric.mod.json +++ b/fabric-events-interaction-v0/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-networking-api-v1": "*", "minecraft": ">=1.15-alpha.19.37.a" diff --git a/fabric-game-rule-api-v1/src/main/resources/fabric.mod.json b/fabric-game-rule-api-v1/src/main/resources/fabric.mod.json index ce0a1fe0366..0079bc3a038 100644 --- a/fabric-game-rule-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-game-rule-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Allows registration of custom game rules.", "mixins": [ diff --git a/fabric-gametest-api-v1/src/main/resources/fabric.mod.json b/fabric-gametest-api-v1/src/main/resources/fabric.mod.json index 05819626d19..e3928e05bc7 100644 --- a/fabric-gametest-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-gametest-api-v1/src/main/resources/fabric.mod.json @@ -21,7 +21,7 @@ ] }, "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-resource-loader-v1": "*" }, "description": "Allows registration of custom game tests.", diff --git a/fabric-item-api-v1/src/main/resources/fabric.mod.json b/fabric-item-api-v1/src/main/resources/fabric.mod.json index e87957cad5d..00e1a4ceeda 100644 --- a/fabric-item-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-item-api-v1/src/main/resources/fabric.mod.json @@ -23,7 +23,7 @@ } ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-resource-loader-v1": "*" }, diff --git a/fabric-key-mapping-api-v1/src/client/resources/fabric.mod.json b/fabric-key-mapping-api-v1/src/client/resources/fabric.mod.json index ad5ea4e09f0..ac56dc3a75c 100644 --- a/fabric-key-mapping-api-v1/src/client/resources/fabric.mod.json +++ b/fabric-key-mapping-api-v1/src/client/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Key Mapping registry API.", "mixins": [ diff --git a/fabric-lifecycle-events-v1/src/main/resources/fabric.mod.json b/fabric-lifecycle-events-v1/src/main/resources/fabric.mod.json index ca9b69fa409..8b593334d65 100644 --- a/fabric-lifecycle-events-v1/src/main/resources/fabric.mod.json +++ b/fabric-lifecycle-events-v1/src/main/resources/fabric.mod.json @@ -31,7 +31,7 @@ } ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*" }, "description": "Events for the game's lifecycle.", diff --git a/fabric-loot-api-v3/src/main/resources/fabric.mod.json b/fabric-loot-api-v3/src/main/resources/fabric.mod.json index f782daff4af..daf0e80f856 100644 --- a/fabric-loot-api-v3/src/main/resources/fabric.mod.json +++ b/fabric-loot-api-v3/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-resource-loader-v1": "*" }, diff --git a/fabric-menu-api-v1/src/main/resources/fabric.mod.json b/fabric-menu-api-v1/src/main/resources/fabric.mod.json index 4d3d18ab437..043fe5044a9 100644 --- a/fabric-menu-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-menu-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-networking-api-v1": "*" }, diff --git a/fabric-message-api-v1/src/main/resources/fabric.mod.json b/fabric-message-api-v1/src/main/resources/fabric.mod.json index 86608282779..cf402a6d6b6 100644 --- a/fabric-message-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-message-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*" }, "description": "Adds message-related hooks.", diff --git a/fabric-model-loading-api-v1/src/client/resources/fabric.mod.json b/fabric-model-loading-api-v1/src/client/resources/fabric.mod.json index 7dd0701a6dd..69a81c1004f 100644 --- a/fabric-model-loading-api-v1/src/client/resources/fabric.mod.json +++ b/fabric-model-loading-api-v1/src/client/resources/fabric.mod.json @@ -21,7 +21,7 @@ ] }, "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-renderer-api-v1": "*" }, diff --git a/fabric-networking-api-v1/src/main/resources/fabric.mod.json b/fabric-networking-api-v1/src/main/resources/fabric.mod.json index b489bf723f9..4589af6865d 100644 --- a/fabric-networking-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-networking-api-v1/src/main/resources/fabric.mod.json @@ -26,7 +26,7 @@ }, "accessWidener": "fabric-networking-api-v1.accesswidener", "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*" }, "description": "Low-level, vanilla protocol oriented networking hooks.", diff --git a/fabric-object-builder-api-v1/src/main/resources/fabric.mod.json b/fabric-object-builder-api-v1/src/main/resources/fabric.mod.json index b35eb18652a..d7da8b86d4c 100644 --- a/fabric-object-builder-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-object-builder-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-registry-sync-v0": "*" }, diff --git a/fabric-particles-v1/src/main/resources/fabric.mod.json b/fabric-particles-v1/src/main/resources/fabric.mod.json index 6efffbdb32b..b49a4acf74c 100644 --- a/fabric-particles-v1/src/main/resources/fabric.mod.json +++ b/fabric-particles-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-networking-api-v1": "*" }, "entrypoints": { diff --git a/fabric-recipe-api-v1/src/main/resources/fabric.mod.json b/fabric-recipe-api-v1/src/main/resources/fabric.mod.json index db780b5377a..8f9c5efb6aa 100644 --- a/fabric-recipe-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-recipe-api-v1/src/main/resources/fabric.mod.json @@ -24,7 +24,7 @@ ], "accessWidener": "fabric-recipe-api-v1.accesswidener", "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-networking-api-v1": "*", "fabric-lifecycle-events-v1": "*" }, diff --git a/fabric-registry-sync-v0/src/main/resources/fabric.mod.json b/fabric-registry-sync-v0/src/main/resources/fabric.mod.json index 97396071024..4c3a1fdd4d5 100644 --- a/fabric-registry-sync-v0/src/main/resources/fabric.mod.json +++ b/fabric-registry-sync-v0/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-networking-api-v1": "*" }, diff --git a/fabric-renderer-api-v1/src/client/resources/fabric.mod.json b/fabric-renderer-api-v1/src/client/resources/fabric.mod.json index de7abb4d0ad..c039ec23504 100644 --- a/fabric-renderer-api-v1/src/client/resources/fabric.mod.json +++ b/fabric-renderer-api-v1/src/client/resources/fabric.mod.json @@ -21,7 +21,7 @@ ] }, "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "minecraft": ">=1.21.5-beta.1", "fabric-api-base": "*", "fabric-rendering-v1": "*", diff --git a/fabric-renderer-indigo/src/client/resources/fabric.mod.json b/fabric-renderer-indigo/src/client/resources/fabric.mod.json index fc6a97f12e1..85fe5e75391 100644 --- a/fabric-renderer-indigo/src/client/resources/fabric.mod.json +++ b/fabric-renderer-indigo/src/client/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "minecraft": ">=1.21.5-beta.1", "fabric-api-base": "*", "fabric-renderer-api-v1": "*" diff --git a/fabric-rendering-fluids-v1/src/main/resources/fabric.mod.json b/fabric-rendering-fluids-v1/src/main/resources/fabric.mod.json index ab10651c646..9460c009d31 100644 --- a/fabric-rendering-fluids-v1/src/main/resources/fabric.mod.json +++ b/fabric-rendering-fluids-v1/src/main/resources/fabric.mod.json @@ -15,7 +15,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*" }, "description": "Hooks for registering fluid renders.", diff --git a/fabric-rendering-v1/src/client/resources/fabric.mod.json b/fabric-rendering-v1/src/client/resources/fabric.mod.json index 83a5ababb67..d11b399ce46 100644 --- a/fabric-rendering-v1/src/client/resources/fabric.mod.json +++ b/fabric-rendering-v1/src/client/resources/fabric.mod.json @@ -21,7 +21,7 @@ ] }, "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-lifecycle-events-v1": "*" }, diff --git a/fabric-resource-conditions-api-v1/src/main/resources/fabric.mod.json b/fabric-resource-conditions-api-v1/src/main/resources/fabric.mod.json index 37e3145d6fa..5051cd9218d 100644 --- a/fabric-resource-conditions-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-resource-conditions-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Allows conditionally loading resources.", "entrypoints": { diff --git a/fabric-resource-loader-v1/src/main/resources/fabric.mod.json b/fabric-resource-loader-v1/src/main/resources/fabric.mod.json index aadd36a7413..abc80a035f9 100644 --- a/fabric-resource-loader-v1/src/main/resources/fabric.mod.json +++ b/fabric-resource-loader-v1/src/main/resources/fabric.mod.json @@ -17,7 +17,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Asset and data resource loading.", "accessWidener": "fabric-resource-loader-v1.accesswidener", diff --git a/fabric-screen-api-v1/src/client/resources/fabric.mod.json b/fabric-screen-api-v1/src/client/resources/fabric.mod.json index 7253b3e2363..ff543e3862a 100644 --- a/fabric-screen-api-v1/src/client/resources/fabric.mod.json +++ b/fabric-screen-api-v1/src/client/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*" }, "description": "Adds screen related hooks.", diff --git a/fabric-serialization-api-v1/src/main/resources/fabric.mod.json b/fabric-serialization-api-v1/src/main/resources/fabric.mod.json index 9741dc092c7..a9a052aa15e 100644 --- a/fabric-serialization-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-serialization-api-v1/src/main/resources/fabric.mod.json @@ -19,7 +19,7 @@ "fabric-serialization-api-v1.mixins.json" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Extensions for improved serialization.", "custom": { diff --git a/fabric-sound-api-v1/src/client/resources/fabric.mod.json b/fabric-sound-api-v1/src/client/resources/fabric.mod.json index 35a93589fa8..d90ece09894 100644 --- a/fabric-sound-api-v1/src/client/resources/fabric.mod.json +++ b/fabric-sound-api-v1/src/client/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "minecraft": ">=1.19.2" }, "description": "Hooks for modifying Minecraft's sound system.", diff --git a/fabric-tag-api-v1/src/main/resources/fabric.mod.json b/fabric-tag-api-v1/src/main/resources/fabric.mod.json index 4552a0e1a9e..3e3e67bca2a 100644 --- a/fabric-tag-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-tag-api-v1/src/main/resources/fabric.mod.json @@ -19,7 +19,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-base": "*", "fabric-resource-loader-v1": "*" }, diff --git a/fabric-transfer-api-v1/src/main/resources/fabric.mod.json b/fabric-transfer-api-v1/src/main/resources/fabric.mod.json index bb951cd1c10..f6e05b0a09c 100644 --- a/fabric-transfer-api-v1/src/main/resources/fabric.mod.json +++ b/fabric-transfer-api-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "fabric-api-lookup-api-v1": "*", "fabric-rendering-fluids-v1": "*" }, diff --git a/fabric-transitive-access-wideners-v1/src/main/resources/fabric.mod.json b/fabric-transitive-access-wideners-v1/src/main/resources/fabric.mod.json index 91154d14092..4e3e2bb39f8 100644 --- a/fabric-transitive-access-wideners-v1/src/main/resources/fabric.mod.json +++ b/fabric-transitive-access-wideners-v1/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3" + "fabricloader": ">=0.18.4" }, "description": "Contains transitive access wideners that provide access to otherwise inaccessible Minecraft code.", "accessWidener": "fabric-transitive-access-wideners-v1.accesswidener", diff --git a/gradle.properties b/gradle.properties index 08ebf5c359c..79f85d459ae 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ org.gradle.configuration-cache=false version=0.140.3 minecraft_version=26.1-snapshot-1 -loader_version=0.18.3 +loader_version=0.18.4 installer_version=1.0.1 prerelease=true diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 7c13bf63d83..2e91de0da31 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -16,7 +16,7 @@ "FabricMC" ], "depends": { - "fabricloader": ">=0.18.3", + "fabricloader": ">=0.18.4", "java": ">=25", "minecraft": "~26.1-" }, From 1759b3e525f27846b5f00470c1b64dd22f14023f Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 19:08:45 +0000 Subject: [PATCH 09/13] Remove all uses of maxShiftBy (it's unused), and add missing overwrites require annotations in these modules --- .../src/main/resources/fabric-entity-events-v1.mixins.json | 6 ++++-- .../src/main/resources/fabric-gametest-api-v1.mixins.json | 6 ++++-- .../resources/fabric-lifecycle-events-v1.client.mixins.json | 6 ++++-- .../main/resources/fabric-lifecycle-events-v1.mixins.json | 6 ++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/fabric-entity-events-v1/src/main/resources/fabric-entity-events-v1.mixins.json b/fabric-entity-events-v1/src/main/resources/fabric-entity-events-v1.mixins.json index 720ee739a91..6ab3f37be88 100644 --- a/fabric-entity-events-v1/src/main/resources/fabric-entity-events-v1.mixins.json +++ b/fabric-entity-events-v1/src/main/resources/fabric-entity-events-v1.mixins.json @@ -12,8 +12,10 @@ "elytra.LivingEntityMixin" ], "injectors": { - "defaultRequire": 1, - "maxShiftBy": 3 + "defaultRequire": 1 + }, + "overwrites": { + "requireAnnotations": true }, "mixinextras": { "minVersion": "0.5.0" diff --git a/fabric-gametest-api-v1/src/main/resources/fabric-gametest-api-v1.mixins.json b/fabric-gametest-api-v1/src/main/resources/fabric-gametest-api-v1.mixins.json index f0318f3f067..889181fd0ae 100644 --- a/fabric-gametest-api-v1/src/main/resources/fabric-gametest-api-v1.mixins.json +++ b/fabric-gametest-api-v1/src/main/resources/fabric-gametest-api-v1.mixins.json @@ -11,8 +11,10 @@ "server.MainMixin" ], "injectors": { - "defaultRequire": 1, - "maxShiftBy": 2 + "defaultRequire": 1 + }, + "overwrites": { + "requireAnnotations": true }, "mixinextras": { "minVersion": "0.5.0" diff --git a/fabric-lifecycle-events-v1/src/client/resources/fabric-lifecycle-events-v1.client.mixins.json b/fabric-lifecycle-events-v1/src/client/resources/fabric-lifecycle-events-v1.client.mixins.json index c7e179e5926..8bf5715dbd2 100644 --- a/fabric-lifecycle-events-v1/src/client/resources/fabric-lifecycle-events-v1.client.mixins.json +++ b/fabric-lifecycle-events-v1/src/client/resources/fabric-lifecycle-events-v1.client.mixins.json @@ -12,7 +12,9 @@ "LevelChunkMixin" ], "injectors": { - "defaultRequire": 1, - "maxShiftBy": 3 + "defaultRequire": 1 + }, + "overwrites": { + "requireAnnotations": true } } diff --git a/fabric-lifecycle-events-v1/src/main/resources/fabric-lifecycle-events-v1.mixins.json b/fabric-lifecycle-events-v1/src/main/resources/fabric-lifecycle-events-v1.mixins.json index dbbe06d803f..e0aa2179d4d 100644 --- a/fabric-lifecycle-events-v1/src/main/resources/fabric-lifecycle-events-v1.mixins.json +++ b/fabric-lifecycle-events-v1/src/main/resources/fabric-lifecycle-events-v1.mixins.json @@ -18,7 +18,9 @@ "server.LevelChunkMixin" ], "injectors": { - "defaultRequire": 1, - "maxShiftBy": 3 + "defaultRequire": 1 + }, + "overwrites": { + "requireAnnotations": true } } From 33028f094be92dbbc6440807ba9d5d78915e3617 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 20:29:35 +0000 Subject: [PATCH 10/13] Use local variable names for all mixin locals --- .../fabric/mixin/block/LivingEntityMixin.java | 2 +- .../client/RenderRegionCacheMixin.java | 2 +- .../gametest/input/GlCommandEncoderMixin.java | 2 +- .../gametest/world/CreateWorldScreenMixin.java | 2 +- .../mixin/content/registry/AxeItemMixin.java | 2 +- .../content/registry/FuelValuesMixin.java | 2 +- .../registry/PathfindingContextMixin.java | 2 +- .../registry/WalkNodeEvaluatorMixin.java | 2 +- .../client/ClientPacketListenerMixin.java | 2 +- .../datagen/client/ModelProviderMixin.java | 4 ++-- .../mixin/datagen/TagsProviderMixin.java | 4 ++-- .../AllCraftingRecipeJsonBuildersMixin.java | 2 +- .../SmithingTransformRecipeBuilderMixin.java | 2 +- .../recipe/SmithingTrimRecipeBuilderMixin.java | 2 +- .../recipe/SpecialRecipeBuilderMixin.java | 2 +- .../mixin/entity/event/LivingEntityMixin.java | 2 +- .../fabric/mixin/entity/event/MobMixin.java | 2 +- .../interaction/client/MinecraftMixin.java | 2 +- .../client/MultiPlayerGameModeMixin.java | 2 +- .../ServerGamePacketListenerImplMixin.java | 4 ++-- .../interaction/ServerPlayerGameModeMixin.java | 4 ++-- .../StructureTemplateManagerMixin.java | 2 +- .../mixin/gametest/server/MainMixin.java | 2 +- .../item/AbstractFurnaceBlockEntityMixin.java | 2 +- .../fabric/mixin/item/AnvilMenuMixin.java | 2 +- .../item/BrewingStandBlockEntityMixin.java | 2 +- .../fabric/mixin/item/ItemStackMixin.java | 18 +++++++++--------- ...erResourceManagerRegistryLoadTaskMixin.java | 2 +- .../client/ClientChunkCacheMixin.java | 6 +++--- .../lifecycle/client/LevelChunkMixin.java | 4 ++-- .../mixin/event/lifecycle/ChunkMapMixin.java | 2 +- .../event/lifecycle/LivingEntityMixin.java | 2 +- .../event/lifecycle/MinecraftServerMixin.java | 2 +- .../lifecycle/server/LevelChunkMixin.java | 4 ++-- .../loot/ReloadableServerRegistriesMixin.java | 4 ++-- .../SimpleJsonResourceReloadListenerMixin.java | 2 +- .../fabric/mixin/menu/ServerPlayerMixin.java | 2 +- .../client/message/ChatListenerMixin.java | 2 +- .../message/ClientPacketListenerMixin.java | 4 ++-- .../client/model/loading/ModelBakeryMixin.java | 4 ++-- .../model/loading/ModelManagerMixin.java | 6 +++--- .../mixin/networking/BundlePacketMixin.java | 2 +- .../mixin/networking/ConnectionMixin.java | 4 ++-- .../mixin/networking/IdDispatchCodecMixin.java | 2 +- .../object/builder/EntityTypeBuilderMixin.java | 2 +- .../client/particle/TerrainParticleMixin.java | 5 +++-- .../fabric/mixin/particle/EntityMixin.java | 2 +- .../mixin/recipe/sync/RecipeMapMixin.java | 2 +- .../mixin/registry/sync/RegistriesMixin.java | 4 ++-- .../block/model/SimpleModelWrapperMixin.java | 2 +- .../particle/ScreenEffectRendererMixin.java | 4 ++-- .../block/render/ItemFrameRendererMixin.java | 2 +- .../render/MushroomCowMushroomLayerMixin.java | 2 +- .../block/render/SnowGolemHeadLayerMixin.java | 2 +- .../client/item/BlockModelWrapperMixin.java | 2 +- .../renderer/BlockRenderDispatcherMixin.java | 2 +- .../renderer/ItemStackRenderStateMixin.java | 4 ++-- .../indigo/renderer/SectionCompilerMixin.java | 8 ++++---- .../fluid/LiquidBlockRendererMixin.java | 10 +++++----- .../mixin/client/rendering/CapeLayerMixin.java | 2 +- .../DebugOptionsScreenOptionListMixin.java | 2 +- .../rendering/EntityRenderDispatcherMixin.java | 2 +- .../mixin/client/rendering/GuiMixin.java | 12 ++++++------ .../client/rendering/GuiRendererMixin.java | 2 +- .../rendering/LayerDefinitionsMixin.java | 2 +- .../rendering/LivingEntityRendererMixin.java | 2 +- .../mixin/resource/conditions/PackMixin.java | 4 ++-- ...stryDataLoaderPendingRegistrationMixin.java | 2 +- .../SimpleJsonResourceReloadListenerMixin.java | 4 ++-- .../client/CreateWorldScreenMixin.java | 3 ++- .../client/GameOptionsWriteVisitorMixin.java | 2 +- .../mixin/resource/DataPackCommandMixin.java | 2 +- .../mixin/resource/PackRepositoryMixin.java | 6 +++--- .../ReloadableServerResourcesMixin.java | 6 +++--- .../resource/SimpleReloadInstanceMixin.java | 7 ++++--- .../fabric/mixin/tag/TagLoaderMixin.java | 2 +- .../fabric/mixin/transfer/BucketItemMixin.java | 2 +- .../mixin/transfer/CrafterBlockMixin.java | 2 +- .../mixin/transfer/HopperBlockEntityMixin.java | 4 ++-- 79 files changed, 129 insertions(+), 126 deletions(-) diff --git a/fabric-block-api-v1/src/main/java/net/fabricmc/fabric/mixin/block/LivingEntityMixin.java b/fabric-block-api-v1/src/main/java/net/fabricmc/fabric/mixin/block/LivingEntityMixin.java index 8a72a20fa0c..d53d94e2ee8 100644 --- a/fabric-block-api-v1/src/main/java/net/fabricmc/fabric/mixin/block/LivingEntityMixin.java +++ b/fabric-block-api-v1/src/main/java/net/fabricmc/fabric/mixin/block/LivingEntityMixin.java @@ -42,7 +42,7 @@ abstract class LivingEntityMixin { allow = 1, cancellable = true ) - private void allowTaggedBlocksForTrapdoorClimbing(BlockPos pos, BlockState state, CallbackInfoReturnable info, @Local(ordinal = 1) BlockState belowState) { + private void allowTaggedBlocksForTrapdoorClimbing(BlockPos pos, BlockState state, CallbackInfoReturnable info, @Local(name = "belowState") BlockState belowState) { if (belowState.is(BlockFunctionalityTags.CAN_CLIMB_TRAPDOOR_ABOVE)) { if (belowState.getBlock() instanceof LadderBlock) { // Check that the ladder and trapdoor are placed in the same direction. diff --git a/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/RenderRegionCacheMixin.java b/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/RenderRegionCacheMixin.java index 694f7342e8a..d6ca16ba8bb 100644 --- a/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/RenderRegionCacheMixin.java +++ b/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/RenderRegionCacheMixin.java @@ -50,7 +50,7 @@ public abstract class RenderRegionCacheMixin { private static final Logger LOGGER = LoggerFactory.getLogger(RenderRegionCacheMixin.class); @Inject(method = "createRegion", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/chunk/RenderRegionCache;getSectionDataCopy(Lnet/minecraft/world/level/Level;III)Lnet/minecraft/client/renderer/chunk/SectionCopy;")) - private void copyDataForChunk(Level level, long packedChunkPos, CallbackInfoReturnable cir, @Share("dataMap") LocalRef> mapRef, @Local(ordinal = 11) int x, @Local(ordinal = 10) int y, @Local(ordinal = 9) int z) { + private void copyDataForChunk(Level level, long packedChunkPos, CallbackInfoReturnable cir, @Share("dataMap") LocalRef> mapRef, @Local(name = "regionSectionX") int x, @Local(name = "regionSectionY") int y, @Local(name = "regionSectionZ") int z) { // Hash maps in chunks should generally not be modified outside of client thread // but does happen in practice, due to mods or inconsistent vanilla behaviors, causing // CMEs when we iterate the map. (Vanilla does not iterate these maps when it builds diff --git a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/GlCommandEncoderMixin.java b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/GlCommandEncoderMixin.java index 5ba1cb78874..7e04f52f28e 100644 --- a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/GlCommandEncoderMixin.java +++ b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/GlCommandEncoderMixin.java @@ -32,7 +32,7 @@ @Mixin(GlCommandEncoder.class) public class GlCommandEncoderMixin { @WrapOperation(method = "presentTexture", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/opengl/DirectStateAccess;blitFrameBuffers(IIIIIIIIIIII)V")) - private void blitFrameBuffer(DirectStateAccess manager, int readFramebuffer, int drawFramebuffer, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter, Operation original, @Local(argsOnly = true) GpuTextureView gpuTextureView) { + private void blitFrameBuffer(DirectStateAccess manager, int readFramebuffer, int drawFramebuffer, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter, Operation original, @Local(argsOnly = true, name = "textureView") GpuTextureView gpuTextureView) { if (gpuTextureView.texture() == Minecraft.getInstance().getMainRenderTarget().getColorTexture()) { WindowHooks window = ((WindowHooks) (Object) Minecraft.getInstance().getWindow()); dstX1 = window.fabric_getRealFramebufferWidth(); diff --git a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/world/CreateWorldScreenMixin.java b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/world/CreateWorldScreenMixin.java index 0e1c43b5b83..0e050ee9dae 100644 --- a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/world/CreateWorldScreenMixin.java +++ b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/world/CreateWorldScreenMixin.java @@ -38,7 +38,7 @@ @Mixin(CreateWorldScreen.class) public class CreateWorldScreenMixin { @Inject(method = "onCreate", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/WorldOpenFlows;confirmWorldCreation(Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/gui/screens/worldselection/CreateWorldScreen;Lcom/mojang/serialization/Lifecycle;Ljava/lang/Runnable;Z)V"), cancellable = true) - private void createLevelDataForServers(CallbackInfo ci, @Local LayeredRegistryAccess registries, @Local PrimaryLevelData levelData) { + private void createLevelDataForServers(CallbackInfo ci, @Local(name = "finalLayers") LayeredRegistryAccess registries, @Local(name = "worldData") PrimaryLevelData levelData) { if (DedicatedServerImplUtil.saveLevelDataTo != null) { CompoundTag levelDatInner = levelData.createTag(registries.compositeAccess(), null); CompoundTag levelDat = new CompoundTag(); diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/AxeItemMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/AxeItemMixin.java index 9d609e637de..e785e87d105 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/AxeItemMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/AxeItemMixin.java @@ -33,7 +33,7 @@ @Mixin(AxeItem.class) public class AxeItemMixin { @ModifyArg(method = "getStripped", at = @At(value = "INVOKE", target = "Ljava/util/Optional;map(Ljava/util/function/Function;)Ljava/util/Optional;")) - private Function handleCustomStrippingBehavior(Function mapper, @Local(argsOnly = true) BlockState state) { + private Function handleCustomStrippingBehavior(Function mapper, @Local(argsOnly = true, name = "state") BlockState state) { StrippableBlockRegistry.StrippingTransformer transformer = StrippableBlockRegistryImpl.getTransformer(state.getBlock()); if (transformer != null) { diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FuelValuesMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FuelValuesMixin.java index 57da5804d33..904cf93a831 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FuelValuesMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FuelValuesMixin.java @@ -49,7 +49,7 @@ public abstract class FuelValuesMixin { ), allow = 1 ) - private static FuelValues.Builder build(FuelValues.Builder builder, TagKey tag, Operation operation, @Local(argsOnly = true) HolderLookup.Provider registries, @Local(argsOnly = true) FeatureFlagSet features, @Local(argsOnly = true) int baseSmeltTime) { + private static FuelValues.Builder build(FuelValues.Builder builder, TagKey tag, Operation operation, @Local(argsOnly = true, name = "registries") HolderLookup.Provider registries, @Local(argsOnly = true, name = "enabledFeatures") FeatureFlagSet features, @Local(argsOnly = true, name = "baseUnit") int baseSmeltTime) { final var context = new FuelRegistryEventsContextImpl(registries, features, baseSmeltTime); FuelValueEvents.BUILD.invoker().build(builder, context); diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java index 53afa1b7f11..bcc24cfe36c 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java @@ -47,7 +47,7 @@ public abstract class PathfindingContextMixin { @Definition(id = "set", method = "Lnet/minecraft/core/BlockPos$MutableBlockPos;set(III)Lnet/minecraft/core/BlockPos$MutableBlockPos;") @Expression("? = ?.set(?, ?, ?)") @Inject(method = "getPathTypeFromState", at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER), cancellable = true) - private void onGetNodeType(int x, int y, int z, CallbackInfoReturnable cir, @Local BlockPos pos) { + private void onGetNodeType(int x, int y, int z, CallbackInfoReturnable cir, @Local(name = "pos") BlockPos pos) { final PathType neighborPathType = LandPathTypeRegistry.getPathType(getBlockState(pos), level(), pos, true); if (neighborPathType != null) { diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/WalkNodeEvaluatorMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/WalkNodeEvaluatorMixin.java index 110592cf721..d2a2ea79b55 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/WalkNodeEvaluatorMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/WalkNodeEvaluatorMixin.java @@ -37,7 +37,7 @@ public class WalkNodeEvaluatorMixin { * Overrides the node type for the specified position, if the position is a direct target in a path. */ @Inject(method = "getPathTypeFromState", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockState;getBlock()Lnet/minecraft/world/level/block/Block;"), cancellable = true) - private static void getCommonNodeType(BlockGetter level, BlockPos pos, CallbackInfoReturnable cir, @Local BlockState state) { + private static void getCommonNodeType(BlockGetter level, BlockPos pos, CallbackInfoReturnable cir, @Local(name = "blockState") BlockState state) { PathType pathType = LandPathTypeRegistry.getPathType(state, level, pos, false); if (pathType != null) { diff --git a/fabric-data-attachment-api-v1/src/client/java/net/fabricmc/fabric/mixin/attachment/client/ClientPacketListenerMixin.java b/fabric-data-attachment-api-v1/src/client/java/net/fabricmc/fabric/mixin/attachment/client/ClientPacketListenerMixin.java index bc6e4333477..e3024244ac2 100644 --- a/fabric-data-attachment-api-v1/src/client/java/net/fabricmc/fabric/mixin/attachment/client/ClientPacketListenerMixin.java +++ b/fabric-data-attachment-api-v1/src/client/java/net/fabricmc/fabric/mixin/attachment/client/ClientPacketListenerMixin.java @@ -44,7 +44,7 @@ abstract class ClientPacketListenerMixin { from = @At(value = "INVOKE", target = "Lnet/minecraft/client/multiplayer/ClientPacketListener;startWaitingForNewLevel(Lnet/minecraft/client/player/LocalPlayer;Lnet/minecraft/client/multiplayer/ClientLevel;Lnet/minecraft/client/gui/screens/LevelLoadingScreen$Reason;)V") ) ) - private void copyAttachmentsOnClientRespawn(Minecraft client, LocalPlayer newPlayer, Operation init, ClientboundRespawnPacket packet, @Local(ordinal = 0) LocalPlayer oldPlayer) { + private void copyAttachmentsOnClientRespawn(Minecraft client, LocalPlayer newPlayer, Operation init, ClientboundRespawnPacket packet, @Local(name = "oldPlayer") LocalPlayer oldPlayer) { /* * The KEEP_ATTRIBUTES flag is not set on a death respawn, and set in all other cases */ diff --git a/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java b/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java index 8fcfaa41925..d2183c5966c 100644 --- a/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java +++ b/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java @@ -73,8 +73,8 @@ private void registerItemModels(ItemModelGenerators instance, Operation or @Inject(method = "run", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/data/models/BlockModelGenerators;run()V")) private void setFabricPackOutput(CachedOutput output, CallbackInfoReturnable> cir, - @Local ModelProvider.BlockStateGeneratorCollector blockStateGeneratorCollector, - @Local ModelProvider.ItemInfoCollector itemInfoCollectors) { + @Local(name = "blockStateGenerators") ModelProvider.BlockStateGeneratorCollector blockStateGeneratorCollector, + @Local(name = "itemModels") ModelProvider.ItemInfoCollector itemInfoCollectors) { ((FabricModelProviderDefinitions) blockStateGeneratorCollector).setFabricPackOutput(fabricPackOutput); ((FabricModelProviderDefinitions) itemInfoCollectors).setFabricPackOutput(fabricPackOutput); ((FabricItemAssetDefinitions) itemInfoCollectors).fabric_setProcessedBlocks(blockStateGeneratorCollector.generators.keySet()); diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/TagsProviderMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/TagsProviderMixin.java index 7c918e92817..47e9ae0e7c8 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/TagsProviderMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/TagsProviderMixin.java @@ -58,7 +58,7 @@ private void initPathResolver(PackOutput output, ResourceKey(Ljava/util/List;Z)V"), index = 1) - private boolean addReplaced(boolean replaced, @Local TagBuilder tagBuilder) { + private boolean addReplaced(boolean replaced, @Local(name = "builder") TagBuilder tagBuilder) { if (tagBuilder instanceof FabricTagBuilder fabricTagBuilder) { return fabricTagBuilder.fabric_isReplaced(); } @@ -68,7 +68,7 @@ private boolean addReplaced(boolean replaced, @Local TagBuilder tagBuilder) { @SuppressWarnings("unchecked") @WrapOperation(method = "lambda$run$2", at = @At(value = "INVOKE", target = "Ljava/util/concurrent/CompletableFuture;allOf([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;")) - private CompletableFuture addTagAliasGroupBuilders(CompletableFuture[] futures, Operation> original, @Local(argsOnly = true) CachedOutput writer) { + private CompletableFuture addTagAliasGroupBuilders(CompletableFuture[] futures, Operation> original, @Local(argsOnly = true, name = "cache") CachedOutput writer) { if ((Object) this instanceof FabricTagsProvider) { // Note: no pattern matching instanceof so that we can cast directly to FabricTagsProvider instead of a wildcard Map.AliasGroupBuilder> builders = ((FabricTagsProvider) (Object) this).getAliasGroupBuilders(); diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/AllCraftingRecipeJsonBuildersMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/AllCraftingRecipeJsonBuildersMixin.java index 070402b2078..e1e03e49ba0 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/AllCraftingRecipeJsonBuildersMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/AllCraftingRecipeJsonBuildersMixin.java @@ -37,7 +37,7 @@ TransmuteRecipeBuilder.class, }) abstract class AllCraftingRecipeJsonBuildersMixin { - @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true) + @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true, name = "id") private ResourceKey> modifyRecipeKey(ResourceKey> recipeKey, RecipeOutput output) { return ResourceKey.create(recipeKey.registryKey(), output.getRecipeIdentifier(recipeKey.identifier())); } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTransformRecipeBuilderMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTransformRecipeBuilderMixin.java index 9762f432cc5..6b858ea8b90 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTransformRecipeBuilderMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTransformRecipeBuilderMixin.java @@ -27,7 +27,7 @@ @Mixin(SmithingTransformRecipeBuilder.class) abstract class SmithingTransformRecipeBuilderMixin { - @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true) + @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true, name = "id") private ResourceKey> modifyRecipeKey(ResourceKey> recipeKey, RecipeOutput output) { return ResourceKey.create(recipeKey.registryKey(), output.getRecipeIdentifier(recipeKey.identifier())); } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTrimRecipeBuilderMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTrimRecipeBuilderMixin.java index 5e678576926..78f66ae356a 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTrimRecipeBuilderMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTrimRecipeBuilderMixin.java @@ -27,7 +27,7 @@ @Mixin(SmithingTrimRecipeBuilder.class) abstract class SmithingTrimRecipeBuilderMixin { - @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true) + @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true, name = "id") private ResourceKey> modifyRecipeKey(ResourceKey> recipeKey, RecipeOutput output) { return ResourceKey.create(recipeKey.registryKey(), output.getRecipeIdentifier(recipeKey.identifier())); } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SpecialRecipeBuilderMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SpecialRecipeBuilderMixin.java index d7e5279db9c..c1976711aa2 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SpecialRecipeBuilderMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SpecialRecipeBuilderMixin.java @@ -27,7 +27,7 @@ @Mixin(SpecialRecipeBuilder.class) abstract class SpecialRecipeBuilderMixin { - @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true) + @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true, name = "id") private ResourceKey> modifyRecipeKey(ResourceKey> recipeKey, RecipeOutput output) { return ResourceKey.create(recipeKey.registryKey(), output.getRecipeIdentifier(recipeKey.identifier())); } diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java index 1fa27a12dbe..15332620cac 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java @@ -87,7 +87,7 @@ private void beforeDamage(ServerLevel level, DamageSource source, float amount, } @Inject(method = "hurtServer", at = @At("TAIL")) - private void afterDamage(ServerLevel level, DamageSource source, float amount, CallbackInfoReturnable cir, @Local(ordinal = 1) float dealt, @Local(ordinal = 0) boolean blocked) { + private void afterDamage(ServerLevel level, DamageSource source, float amount, CallbackInfoReturnable cir, @Local(name = "originalDamage") float dealt, @Local(name = "blocked") boolean blocked) { if (!isDeadOrDying()) { ServerLivingEntityEvents.AFTER_DAMAGE.invoker().afterDamage((LivingEntity) (Object) this, source, dealt, amount, blocked); } diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/MobMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/MobMixin.java index 3e40abd1c43..976afe76ab2 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/MobMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/MobMixin.java @@ -30,7 +30,7 @@ @Mixin(Mob.class) public class MobMixin { @ModifyArg(method = "convertTo(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/entity/ConversionParams;Lnet/minecraft/world/entity/EntitySpawnReason;Lnet/minecraft/world/entity/ConversionParams$AfterConversion;)Lnet/minecraft/world/entity/Mob;", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ServerLevel;addFreshEntity(Lnet/minecraft/world/entity/Entity;)Z")) - private Entity afterEntityConverted(Entity converted, @Local(argsOnly = true) ConversionParams conversionContext) { + private Entity afterEntityConverted(Entity converted, @Local(argsOnly = true, name = "params") ConversionParams conversionContext) { ServerLivingEntityEvents.MOB_CONVERSION.invoker().onConversion((Mob) (Object) this, (Mob) converted, conversionContext); return converted; } diff --git a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java index d0f8cfdcedc..c32ad873450 100644 --- a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java +++ b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java @@ -74,7 +74,7 @@ public abstract class MinecraftMixin { method = "startUseItem", cancellable = true ) - private void injectUseEntityCallback(CallbackInfo ci, @Local InteractionHand hand, @Local EntityHitResult hitResult, @Local Entity entity) { + private void injectUseEntityCallback(CallbackInfo ci, @Local(name = "hand") InteractionHand hand, @Local(name = "entityHit") EntityHitResult hitResult, @Local(name = "entity") Entity entity) { InteractionResult result = UseEntityCallback.EVENT.invoker().interact(player, player.level(), hand, entity, hitResult); if (result != InteractionResult.PASS) { diff --git a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MultiPlayerGameModeMixin.java b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MultiPlayerGameModeMixin.java index beae01095a6..f521fd3bf6d 100644 --- a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MultiPlayerGameModeMixin.java +++ b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MultiPlayerGameModeMixin.java @@ -91,7 +91,7 @@ private void fabric_fireAttackBlockCallback(BlockPos pos, Direction direction, C } @Inject(method = "destroyBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/Block;destroy(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V")) - private void fabric$onBlockBroken(BlockPos pos, CallbackInfoReturnable cir, @Local BlockState blockState) { + private void fabric$onBlockBroken(BlockPos pos, CallbackInfoReturnable cir, @Local(name = "oldState") BlockState blockState) { ClientPlayerBlockBreakEvents.AFTER.invoker().afterBlockBreak(minecraft.level, minecraft.player, pos, blockState); } diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java index 3509dfb9312..04c22660de4 100644 --- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java +++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java @@ -46,7 +46,7 @@ private void tryPickItem(ItemStack stack) { } @WrapOperation(method = "handlePickItemFromBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockState;getCloneItemStack(Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;Z)Lnet/minecraft/world/item/ItemStack;")) - public ItemStack onPickItemFromBlock(BlockState state, LevelReader level, BlockPos pos, boolean includeData, Operation operation, @Local(argsOnly = true) ServerboundPickItemFromBlockPacket packet) { + public ItemStack onPickItemFromBlock(BlockState state, LevelReader level, BlockPos pos, boolean includeData, Operation operation, @Local(argsOnly = true, name = "packet") ServerboundPickItemFromBlockPacket packet) { ItemStack stack = PlayerPickItemEvents.BLOCK.invoker().onPickItemFromBlock(player, pos, state, packet.includeData()); if (stack == null) { @@ -60,7 +60,7 @@ public ItemStack onPickItemFromBlock(BlockState state, LevelReader level, BlockP } @WrapOperation(method = "handlePickItemFromEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/Entity;getPickResult()Lnet/minecraft/world/item/ItemStack;")) - public ItemStack onPickItemFromEntity(Entity entity, Operation operation, @Local(argsOnly = true) ServerboundPickItemFromEntityPacket packet) { + public ItemStack onPickItemFromEntity(Entity entity, Operation operation, @Local(argsOnly = true, name = "packet") ServerboundPickItemFromEntityPacket packet) { ItemStack stack = PlayerPickItemEvents.ENTITY.invoker().onPickItemFromEntity(player, entity, packet.includeData()); if (stack == null) { diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerGameModeMixin.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerGameModeMixin.java index 8bec43d30fd..d74eb4251ea 100644 --- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerGameModeMixin.java +++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerGameModeMixin.java @@ -104,7 +104,7 @@ public void interactItem(ServerPlayer player, Level level, ItemStack stack, Inte } @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/Block;playerWillDestroy(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/entity/player/Player;)Lnet/minecraft/world/level/block/state/BlockState;"), method = "destroyBlock", cancellable = true) - private void breakBlock(BlockPos pos, CallbackInfoReturnable cir, @Local BlockEntity entity, @Local BlockState state) { + private void breakBlock(BlockPos pos, CallbackInfoReturnable cir, @Local(name = "blockEntity") BlockEntity entity, @Local(name = "state") BlockState state) { boolean result = PlayerBlockBreakEvents.BEFORE.invoker().beforeBlockBreak(this.level, this.player, pos, state, entity); if (!result) { @@ -115,7 +115,7 @@ private void breakBlock(BlockPos pos, CallbackInfoReturnable cir, @Loca } @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/Block;destroy(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V"), method = "destroyBlock") - private void onBlockBroken(BlockPos pos, CallbackInfoReturnable cir, @Local BlockEntity entity, @Local BlockState state) { + private void onBlockBroken(BlockPos pos, CallbackInfoReturnable cir, @Local(name = "blockEntity") BlockEntity entity, @Local(name = "adjustedState") BlockState state) { PlayerBlockBreakEvents.AFTER.invoker().afterBlockBreak(this.level, this.player, pos, state, entity); } } diff --git a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTemplateManagerMixin.java b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTemplateManagerMixin.java index 81c4bfee101..ba7b95a4450 100644 --- a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTemplateManagerMixin.java +++ b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTemplateManagerMixin.java @@ -79,7 +79,7 @@ private Stream streamTemplatesFromResource() { } @Inject(method = "", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableList$Builder;add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;", ordinal = 2, shift = At.Shift.AFTER)) - private void addFabricTemplateProvider(ResourceManager resourceManager, LevelStorageSource.LevelStorageAccess storageAccess, DataFixer dataFixer, HolderGetter blockLookup, CallbackInfo ci, @Local ImmutableList.Builder builder) { + private void addFabricTemplateProvider(ResourceManager resourceManager, LevelStorageSource.LevelStorageAccess storageAccess, DataFixer dataFixer, HolderGetter blockLookup, CallbackInfo ci, @Local(name = "builder") ImmutableList.Builder builder) { builder.add(new StructureTemplateManager.Source(this::fabric_loadSnbtFromResource, this::streamTemplatesFromResource)); } } diff --git a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java index a4b922cc22d..ddc772a64ac 100644 --- a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java +++ b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java @@ -42,7 +42,7 @@ private static boolean isEulaAgreedTo(boolean isEulaAgreedTo) { @Definition(id = "createPackRepository", method = "Lnet/minecraft/server/packs/repository/ServerPacksSource;createPackRepository(Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;)Lnet/minecraft/server/packs/repository/PackRepository;") @Expression("? = createPackRepository(?)") @Inject(method = "main", cancellable = true, at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER)) - private static void main(String[] args, CallbackInfo info, @Local LevelStorageSource.LevelStorageAccess storageAccess, @Local PackRepository packRepository) { + private static void main(String[] args, CallbackInfo info, @Local(name = "access") LevelStorageSource.LevelStorageAccess storageAccess, @Local(name = "packRepository") PackRepository packRepository) { if (FabricGameTestRunner.ENABLED) { FabricGameTestRunner.runHeadlessServer(storageAccess, packRepository); info.cancel(); // Do not progress in starting the normal dedicated server diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AbstractFurnaceBlockEntityMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AbstractFurnaceBlockEntityMixin.java index 992fa9065ef..b76b2b63688 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AbstractFurnaceBlockEntityMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AbstractFurnaceBlockEntityMixin.java @@ -36,7 +36,7 @@ public abstract class AbstractFurnaceBlockEntityMixin { private static final ThreadLocal REMAINDER_STACK = new ThreadLocal<>(); @Inject(method = "serverTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;getItem()Lnet/minecraft/world/item/Item;"), allow = 1) - private static void getStackRemainder(ServerLevel level, BlockPos pos, BlockState state, AbstractFurnaceBlockEntity blockEntity, CallbackInfo ci, @Local(ordinal = 0) ItemStack itemStack) { + private static void getStackRemainder(ServerLevel level, BlockPos pos, BlockState state, AbstractFurnaceBlockEntity blockEntity, CallbackInfo ci, @Local(name = "fuel") ItemStack itemStack) { REMAINDER_STACK.set(itemStack.getCraftingRemainder()); } diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AnvilMenuMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AnvilMenuMixin.java index f339a4a2032..c34200de53f 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AnvilMenuMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AnvilMenuMixin.java @@ -47,7 +47,7 @@ abstract class AnvilMenuMixin extends ItemCombinerMenu { target = "Lnet/minecraft/world/item/enchantment/Enchantment;canEnchant(Lnet/minecraft/world/item/ItemStack;)Z" ) ) - private boolean callAllowEnchantingEvent(Enchantment instance, ItemStack stack, @Local Holder holder) { + private boolean callAllowEnchantingEvent(Enchantment instance, ItemStack stack, @Local(name = "enchantmentHolder") Holder holder) { return stack.canBeEnchantedWith(holder, EnchantingContext.ACCEPTABLE); } } diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/BrewingStandBlockEntityMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/BrewingStandBlockEntityMixin.java index e75ca0f8c6e..24e0489a62b 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/BrewingStandBlockEntityMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/BrewingStandBlockEntityMixin.java @@ -37,7 +37,7 @@ public class BrewingStandBlockEntityMixin { private static final ThreadLocal REMAINDER_STACK = new ThreadLocal<>(); @Inject(method = "doBrew", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;shrink(I)V", shift = At.Shift.AFTER)) - private static void captureItemStack(Level level, BlockPos pos, NonNullList slots, CallbackInfo ci, @Local ItemStack itemStack) { + private static void captureItemStack(Level level, BlockPos pos, NonNullList slots, CallbackInfo ci, @Local(name = "ingredient") ItemStack itemStack) { REMAINDER_STACK.set(itemStack.getCraftingRemainder()); } diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/ItemStackMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/ItemStackMixin.java index 87173471625..d67b2de3be4 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/ItemStackMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/ItemStackMixin.java @@ -64,7 +64,7 @@ public abstract class ItemStackMixin implements FabricItemStack { public abstract void shrink(int i); @WrapOperation(method = "hurtAndBreak(ILnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/EquipmentSlot;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;hurtAndBreak(ILnet/minecraft/server/level/ServerLevel;Lnet/minecraft/server/level/ServerPlayer;Ljava/util/function/Consumer;)V")) - private void hookDamage(ItemStack instance, int amount, ServerLevel serverLevel, ServerPlayer serverPlayer, Consumer consumer, Operation original, @Local(argsOnly = true) LivingEntity entity, @Local(argsOnly = true) EquipmentSlot slot) { + private void hookDamage(ItemStack instance, int amount, ServerLevel serverLevel, ServerPlayer serverPlayer, Consumer consumer, Operation original, @Local(argsOnly = true, name = "owner") LivingEntity entity, @Local(argsOnly = true, name = "slot") EquipmentSlot slot) { CustomDamageHandler handler = ((ItemExtensions) getItem()).fabric_getCustomDamageHandler(); /* @@ -94,10 +94,10 @@ The other damage method (which original.call discards) handles the creative mode @ModifyArg(method = "addDetailsToTooltip", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;addToTooltip(Lnet/minecraft/core/component/DataComponentType;Lnet/minecraft/world/item/Item$TooltipContext;Lnet/minecraft/world/item/component/TooltipDisplay;Ljava/util/function/Consumer;Lnet/minecraft/world/item/TooltipFlag;)V")) private DataComponentType preAppendComponentTooltip( DataComponentType componentType, - @Local(argsOnly = true) Item.TooltipContext context, - @Local(argsOnly = true) TooltipDisplay displayComponent, - @Local(argsOnly = true) TooltipFlag type, - @Local(argsOnly = true) Consumer componentConsumer, + @Local(argsOnly = true, name = "context") Item.TooltipContext context, + @Local(argsOnly = true, name = "display") TooltipDisplay displayComponent, + @Local(argsOnly = true, name = "tooltipFlag") TooltipFlag type, + @Local(argsOnly = true, name = "builder") Consumer componentConsumer, @Share("index") LocalIntRef index ) { preAppendTooltip(componentType, context, displayComponent, componentConsumer, type, index); @@ -107,10 +107,10 @@ private DataComponentType preAppendComponentTooltip( @ModifyArg(method = "addDetailsToTooltip", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/component/TooltipDisplay;shows(Lnet/minecraft/core/component/DataComponentType;)Z")) private DataComponentType preShouldDisplay( DataComponentType componentType, - @Local(argsOnly = true) Item.TooltipContext context, - @Local(argsOnly = true) TooltipDisplay displayComponent, - @Local(argsOnly = true) TooltipFlag type, - @Local(argsOnly = true) Consumer componentConsumer, + @Local(argsOnly = true, name = "context") Item.TooltipContext context, + @Local(argsOnly = true, name = "display") TooltipDisplay displayComponent, + @Local(argsOnly = true, name = "tooltipFlag") TooltipFlag type, + @Local(argsOnly = true, name = "builder") Consumer componentConsumer, @Share("index") LocalIntRef index ) { preAppendTooltip(componentType, context, displayComponent, componentConsumer, type, index); diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/RegistryDataLoaderResourceManagerRegistryLoadTaskMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/RegistryDataLoaderResourceManagerRegistryLoadTaskMixin.java index 7f541994517..1c164230cb1 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/RegistryDataLoaderResourceManagerRegistryLoadTaskMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/RegistryDataLoaderResourceManagerRegistryLoadTaskMixin.java @@ -36,7 +36,7 @@ @Mixin(RegistryDataLoader.ResourceManagerRegistryLoadTask.class) public class RegistryDataLoaderResourceManagerRegistryLoadTaskMixin { @WrapOperation(method = "lambda$load$2", at = @At(value = "NEW", target = "net/minecraft/resources/RegistryDataLoader$PendingRegistration")) - private RegistryDataLoader.PendingRegistration modify(ResourceKey key, Either value, RegistrationInfo registrationInfo, Operation> original, @Local(argsOnly = true) Resource resource) { + private RegistryDataLoader.PendingRegistration modify(ResourceKey key, Either value, RegistrationInfo registrationInfo, Operation> original, @Local(argsOnly = true, name = "thunk") Resource resource) { if (value.left().isPresent()) { if (value.left().get() instanceof Enchantment enchantment) { Enchantment modified = EnchantmentUtil.modify((ResourceKey) key, enchantment, EnchantmentUtil.determineSource(resource)); diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java index 49962b93be2..1845356f87b 100644 --- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java +++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java @@ -50,14 +50,14 @@ private void onChunkLoad(int x, int z, FriendlyByteBuf friendlyByteBuf, Map highmap, Consumer consumer, CallbackInfoReturnable info, @Local LevelChunk levelChunk) { + private void onChunkUnload(int x, int z, FriendlyByteBuf buf, Map highmap, Consumer consumer, CallbackInfoReturnable info, @Local(name = "chunk") LevelChunk levelChunk) { if (levelChunk != null) { ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, levelChunk); } } @Inject(method = "drop", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/multiplayer/ClientChunkCache$Storage;drop(ILnet/minecraft/world/level/chunk/LevelChunk;)V")) - private void onChunkUnload(ChunkPos pos, CallbackInfo ci, @Local LevelChunk chunk) { + private void onChunkUnload(ChunkPos pos, CallbackInfo ci, @Local(name = "currentChunk") LevelChunk chunk) { ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, chunk); } @@ -68,7 +68,7 @@ private void onChunkUnload(ChunkPos pos, CallbackInfo ci, @Local LevelChunk chun target = "Lnet/minecraft/client/multiplayer/ClientChunkCache$Storage;inRange(II)Z" ) ) - private void onUpdateLoadDistance(int loadDistance, CallbackInfo ci, @Local ClientChunkCache.Storage clientChunkCacheStorage, @Local LevelChunk oldChunk, @Local ChunkPos chunkPos) { + private void onUpdateLoadDistance(int loadDistance, CallbackInfo ci, @Local(name = "newStorage") ClientChunkCache.Storage clientChunkCacheStorage, @Local(name = "chunk") LevelChunk oldChunk, @Local(name = "pos") ChunkPos chunkPos) { if (!clientChunkCacheStorage.inRange(chunkPos.x, chunkPos.z)) { ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, oldChunk); } diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/LevelChunkMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/LevelChunkMixin.java index 68a621a2302..c33d8bb8d45 100644 --- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/LevelChunkMixin.java +++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/LevelChunkMixin.java @@ -62,7 +62,7 @@ private V onLoadBlockEntity(V removedBlockEntity, BlockEntity blockEntity) { } @Inject(method = "setBlockEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/entity/BlockEntity;setRemoved()V", shift = At.Shift.AFTER)) - private void onRemoveBlockEntity(BlockEntity blockEntity, CallbackInfo info, @Local(ordinal = 1) BlockEntity removedBlockEntity) { + private void onRemoveBlockEntity(BlockEntity blockEntity, CallbackInfo info, @Local(name = "previousEntry") BlockEntity removedBlockEntity) { if (removedBlockEntity != null) { if (this.getLevel() instanceof ServerLevel) { ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removedBlockEntity, (ServerLevel) this.getLevel()); @@ -90,7 +90,7 @@ private Object onRemoveBlockEntity(Map map, K key) { } @Inject(method = "removeBlockEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/entity/BlockEntity;setRemoved()V")) - private void onRemoveBlockEntity(BlockPos pos, CallbackInfo ci, @Local @Nullable BlockEntity removed) { + private void onRemoveBlockEntity(BlockPos pos, CallbackInfo ci, @Local(name = "removeThis") @Nullable BlockEntity removed) { if (removed != null) { if (this.getLevel() instanceof ServerLevel) { ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removed, (ServerLevel) this.getLevel()); diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java index dcfb556ebfd..02abade4e78 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java @@ -45,7 +45,7 @@ public abstract class ChunkMapMixin { * We inject just after "setLoaded" is made false, since here the LevelChunk is guaranteed to be unloaded. */ @Inject(method = "lambda$scheduleUnload$0", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ChunkMap;save(Lnet/minecraft/world/level/chunk/ChunkAccess;)Z")) - private void onChunkUnload(ChunkHolder chunkHolder, CompletableFuture completableFuture, long l, CallbackInfo ci, @Local ChunkAccess chunk) { + private void onChunkUnload(ChunkHolder chunkHolder, CompletableFuture completableFuture, long l, CallbackInfo ci, @Local(name = "chunk") ChunkAccess chunk) { if (chunk instanceof LevelChunk levelChunk) { ServerChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, levelChunk); } diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/LivingEntityMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/LivingEntityMixin.java index 87671ffc3b2..64f9fdcb77a 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/LivingEntityMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/LivingEntityMixin.java @@ -34,7 +34,7 @@ @Mixin(LivingEntity.class) public abstract class LivingEntityMixin { @Inject(method = "collectEquipmentChanges", at = @At(value = "INVOKE", target = "Ljava/util/Map;put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;")) - private void getEquipmentChanges(CallbackInfoReturnable<@Nullable Map> cir, @Local EquipmentSlot equipmentSlot, @Local(ordinal = 0) ItemStack previousStack, @Local(ordinal = 1) ItemStack currentStack) { + private void getEquipmentChanges(CallbackInfoReturnable<@Nullable Map> cir, @Local(name = "slot") EquipmentSlot equipmentSlot, @Local(name = "previous") ItemStack previousStack, @Local(name = "current") ItemStack currentStack) { ServerEntityEvents.EQUIPMENT_CHANGE.invoker().onChange((LivingEntity) (Object) this, equipmentSlot, previousStack, currentStack); } } diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MinecraftServerMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MinecraftServerMixin.java index 37c2042c919..297f3983192 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MinecraftServerMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MinecraftServerMixin.java @@ -82,7 +82,7 @@ private V onLoadWorld(Map levels, K dimension, V level, Operation V onLoadBlockEntity(V removedBlockEntity, BlockEntity blockEntity) { } @Inject(method = "setBlockEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/entity/BlockEntity;setRemoved()V", shift = At.Shift.AFTER)) - private void onRemoveBlockEntity(BlockEntity blockEntity, CallbackInfo info, @Local(ordinal = 1) BlockEntity removedBlockEntity) { + private void onRemoveBlockEntity(BlockEntity blockEntity, CallbackInfo info, @Local(name = "previousEntry") BlockEntity removedBlockEntity) { if (this.getLevel() instanceof ServerLevel) { ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removedBlockEntity, (ServerLevel) this.getLevel()); } @@ -83,7 +83,7 @@ private Object onRemoveBlockEntity(Map map, K key) { } @Inject(method = "removeBlockEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/entity/BlockEntity;setRemoved()V")) - private void onRemoveBlockEntity(BlockPos pos, CallbackInfo ci, @Local @Nullable BlockEntity removed) { + private void onRemoveBlockEntity(BlockPos pos, CallbackInfo ci, @Local(name = "removeThis") @Nullable BlockEntity removed) { if (removed != null && this.getLevel() instanceof ServerLevel) { ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removed, (ServerLevel) this.getLevel()); } diff --git a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/ReloadableServerRegistriesMixin.java b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/ReloadableServerRegistriesMixin.java index d6f9a68bb73..cf3ed1d39fb 100644 --- a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/ReloadableServerRegistriesMixin.java +++ b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/ReloadableServerRegistriesMixin.java @@ -74,7 +74,7 @@ private static RegistryOps storeOps(HolderLookup.Provider holder, D } @WrapOperation(method = "reload", at = @At(value = "INVOKE", target = "Ljava/util/concurrent/CompletableFuture;thenApplyAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;")) - private static CompletableFuture> removeOps(CompletableFuture>> future, Function>, ? extends LayeredRegistryAccess> fn, Executor executor, Operation>> original, @Local RegistryOps ops) { + private static CompletableFuture> removeOps(CompletableFuture>> future, Function>, ? extends LayeredRegistryAccess> fn, Executor executor, Operation>> original, @Local(name = "ops") RegistryOps ops) { return original.call(future.thenApply(v -> { WRAPPERS.remove(ops); return v; @@ -82,7 +82,7 @@ private static CompletableFuture> removeOps } @Inject(method = "lambda$scheduleRegistryLoad$0", at = @At(value = "INVOKE", target = "Ljava/util/Map;forEach(Ljava/util/function/BiConsumer;)V")) - private static void modifyLootTable(LootDataType lootDataType, ResourceManager resourceManager, RegistryOps registryOps, CallbackInfoReturnable> cir, @Local Map map) { + private static void modifyLootTable(LootDataType lootDataType, ResourceManager resourceManager, RegistryOps registryOps, CallbackInfoReturnable> cir, @Local(name = "elements") Map map) { map.replaceAll((identifier, t) -> modifyLootTable(t, identifier, registryOps)); } diff --git a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java index ab93c3bbafc..3cdd364425e 100644 --- a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java +++ b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java @@ -43,7 +43,7 @@ public class SimpleJsonResourceReloadListenerMixin { @Definition(id = "fileToId", method = "Lnet/minecraft/resources/FileToIdConverter;fileToId(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/resources/Identifier;") @Expression("? = ?.fileToId(?)") @Inject(method = "scanDirectory(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/resources/FileToIdConverter;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Codec;Ljava/util/Map;)V", at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER)) - private static void fillSourceMap(ResourceManager manager, FileToIdConverter fileToIdConverter, DynamicOps ops, Codec codec, Map result, CallbackInfo ci, @Local Map.Entry entry, @Local(ordinal = 1) Identifier id) { + private static void fillSourceMap(ResourceManager manager, FileToIdConverter fileToIdConverter, DynamicOps ops, Codec codec, Map result, CallbackInfo ci, @Local(name = "entry") Map.Entry entry, @Local(name = "id") Identifier id) { final String dirName = ((FileToIdConverterAccessor) fileToIdConverter).getPrefix(); if (!LootDataType.TABLE.registryKey().identifier().getPath().equals(dirName)) return; diff --git a/fabric-menu-api-v1/src/main/java/net/fabricmc/fabric/mixin/menu/ServerPlayerMixin.java b/fabric-menu-api-v1/src/main/java/net/fabricmc/fabric/mixin/menu/ServerPlayerMixin.java index 93dc8908ed3..6d7c0069382 100644 --- a/fabric-menu-api-v1/src/main/java/net/fabricmc/fabric/mixin/menu/ServerPlayerMixin.java +++ b/fabric-menu-api-v1/src/main/java/net/fabricmc/fabric/mixin/menu/ServerPlayerMixin.java @@ -66,7 +66,7 @@ private void fabric_closeContainerScreenIfAllowed(ServerPlayer player, MenuProvi } @Inject(method = "openMenu(Lnet/minecraft/world/MenuProvider;)Ljava/util/OptionalInt;", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerGamePacketListenerImpl;send(Lnet/minecraft/network/protocol/Packet;)V")) - private void fabric_storeOpenedMenu(MenuProvider factory, CallbackInfoReturnable info, @Local AbstractContainerMenu menu) { + private void fabric_storeOpenedMenu(MenuProvider factory, CallbackInfoReturnable info, @Local(name = "menu") AbstractContainerMenu menu) { if (factory instanceof ExtendedMenuProvider || (factory instanceof SimpleMenuProvider simpleFactory && simpleFactory.menuConstructor instanceof ExtendedMenuProvider)) { // Set the menu, so the factory method can access it through the player. containerMenu = menu; diff --git a/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ChatListenerMixin.java b/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ChatListenerMixin.java index 458ea6c4932..ab16607a9c0 100644 --- a/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ChatListenerMixin.java +++ b/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ChatListenerMixin.java @@ -68,7 +68,7 @@ private void fabric_onChatMessage(Component message, @Nullable PlayerChatMessage } @Inject(method = "handleSystemMessage", at = @At("HEAD"), cancellable = true) - private void fabric_allowGameMessage(Component _message, boolean overlay, CallbackInfo ci, @Local(argsOnly = true) LocalRef message) { + private void fabric_allowGameMessage(Component _message, boolean overlay, CallbackInfo ci, @Local(argsOnly = true, name = "message") LocalRef message) { if (ClientReceiveMessageEvents.ALLOW_GAME.invoker().allowReceiveGameMessage(message.get(), overlay)) { message.set(ClientReceiveMessageEvents.MODIFY_GAME.invoker().modifyReceivedGameMessage(message.get(), overlay)); ClientReceiveMessageEvents.GAME.invoker().onReceiveGameMessage(message.get(), overlay); diff --git a/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ClientPacketListenerMixin.java b/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ClientPacketListenerMixin.java index 4a24de184e5..69b56f0766b 100644 --- a/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ClientPacketListenerMixin.java +++ b/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ClientPacketListenerMixin.java @@ -34,7 +34,7 @@ @Mixin(value = ClientPacketListener.class, priority = 800) public abstract class ClientPacketListenerMixin { @Inject(method = "sendChat", at = @At("HEAD"), cancellable = true) - private void fabric_allowSendChatMessage(String _content, CallbackInfo ci, @Local(argsOnly = true) LocalRef content) { + private void fabric_allowSendChatMessage(String _content, CallbackInfo ci, @Local(argsOnly = true, name = "content") LocalRef content) { if (ClientSendMessageEvents.ALLOW_CHAT.invoker().allowSendChatMessage(content.get())) { content.set(ClientSendMessageEvents.MODIFY_CHAT.invoker().modifySendChatMessage(content.get())); ClientSendMessageEvents.CHAT.invoker().onSendChatMessage(content.get()); @@ -45,7 +45,7 @@ private void fabric_allowSendChatMessage(String _content, CallbackInfo ci, @Loca } @Inject(method = "sendCommand", at = @At("HEAD"), cancellable = true) - private void fabric_allowSendCommandMessage(String _command, CallbackInfo ci, @Local(argsOnly = true) LocalRef command) { + private void fabric_allowSendCommandMessage(String _command, CallbackInfo ci, @Local(argsOnly = true, name = "command") LocalRef command) { if (ClientSendMessageEvents.ALLOW_COMMAND.invoker().allowSendCommandMessage(command.get())) { command.set(ClientSendMessageEvents.MODIFY_COMMAND.invoker().modifySendCommandMessage(command.get())); ClientSendMessageEvents.COMMAND.invoker().onSendCommandMessage(command.get()); diff --git a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java index 410e4734615..3810b7949c5 100644 --- a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java +++ b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java @@ -83,7 +83,7 @@ private BiFunction hoo } @ModifyReturnValue(method = "bakeModels", at = @At("RETURN")) - private CompletableFuture withExtraModels(CompletableFuture models, @Local(argsOnly = true) Executor executor, @Local ModelBakery.ModelBakerImpl baker) { + private CompletableFuture withExtraModels(CompletableFuture models, @Local(argsOnly = true, name = "taskExecutor") Executor executor, @Local(name = "baker") ModelBakery.ModelBakerImpl baker) { if (fabric_eventDispatcher == null) return models; CompletableFuture, Object>> extraModels = ParallelMapTransform.schedule(fabric_eventDispatcher.getExtraModels(), (key, model) -> { @@ -112,7 +112,7 @@ private static BlockStateModel wrapBlockModelBake(BlockStateModel.UnbakedRoot un } @WrapOperation(method = "lambda$bakeModels$1", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/item/ItemModel$Unbaked;bake(Lnet/minecraft/client/renderer/item/ItemModel$BakingContext;)Lnet/minecraft/client/renderer/item/ItemModel;")) - private ItemModel wrapItemModelBake(ItemModel.Unbaked unbakedModel, ItemModel.BakingContext bakeContext, Operation operation, @Local(argsOnly = true) Identifier itemId) { + private ItemModel wrapItemModelBake(ItemModel.Unbaked unbakedModel, ItemModel.BakingContext bakeContext, Operation operation, @Local(argsOnly = true, name = "location") Identifier itemId) { if (fabric_eventDispatcher == null) { return operation.call(unbakedModel, bakeContext); } diff --git a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelManagerMixin.java b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelManagerMixin.java index a005305214f..a5cc8766a99 100644 --- a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelManagerMixin.java +++ b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelManagerMixin.java @@ -119,7 +119,7 @@ private Function withModelDispatcher(Function function) { @Inject(method = "discoverModelDependencies", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/resources/model/ModelDiscovery;resolve()Ljava/util/Map;")) private static void resolveExtraModels( Map modelMap, BlockStateModelLoader.LoadedModels stateDefinition, ClientItemInfoLoader.LoadedClientInfos result, CallbackInfoReturnable cir, - @Local ModelDiscovery collector + @Local(name = "result") ModelDiscovery collector ) { // We know eventDispatcherFuture is available, as it is required by the item and block models (hookModels). ModelLoadingEventDispatcher eventDispatcher = ModelLoadingEventDispatcher.CURRENT.get(); @@ -127,7 +127,7 @@ private static void resolveExtraModels( } @Inject(method = "apply", at = @At(value = "RETURN")) - private void onReturnUpload(CallbackInfo ci, @Local ModelBakery.BakingResult bakedModels) { + private void onReturnUpload(CallbackInfo ci, @Local(name = "bakedModels") ModelBakery.BakingResult bakedModels) { extraModels = ((BakedModelsHooks) (Object) bakedModels).fabric_getExtraModels(); } @@ -144,7 +144,7 @@ private static BlockModel cancelVanillaDeserialize(Reader reader) { // code doesn't explicitly cast the model to BlockModel, and the enclosing method returns UnbakedModels per // its return type, it's safe to return an UnbakedModel here. @ModifyArg(method = "lambda$loadBlockModels$2(Ljava/util/Map$Entry;)Lcom/mojang/datafixers/util/Pair;", at = @At(value = "INVOKE", target = "Lcom/mojang/datafixers/util/Pair;of(Ljava/lang/Object;Ljava/lang/Object;)Lcom/mojang/datafixers/util/Pair;"), index = 1) - private static Object actuallyDeserializeModel(Object originalModel, @Local Reader reader) { + private static Object actuallyDeserializeModel(Object originalModel, @Local(name = "reader") Reader reader) { return UnbakedModelDeserializer.deserialize(reader); } } diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/BundlePacketMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/BundlePacketMixin.java index 6f32e9f870d..9427181b67f 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/BundlePacketMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/BundlePacketMixin.java @@ -29,7 +29,7 @@ @Mixin(BundlePacket.class) public class BundlePacketMixin { - @ModifyVariable(method = "", at = @At("HEAD"), argsOnly = true) + @ModifyVariable(method = "", at = @At("HEAD"), argsOnly = true, name = "packets") private static Iterable> flattenBundlePackets(Iterable> value) { var packets = new ArrayList>(); iterateBundle(value, packets); diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java index 9549e05ebe7..4a6a09d2dfe 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java @@ -94,7 +94,7 @@ private void disconnectAddon(CallbackInfo ci) { } @ModifyArg(method = "setupInboundProtocol", at = @At(value = "INVOKE", target = "Lio/netty/channel/Channel;writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;")) - private Object injectFabricPacketSlitterHandlerInbound(Object transitioner, @Local(argsOnly = true) ProtocolInfo protocolInfo) { + private Object injectFabricPacketSlitterHandlerInbound(Object transitioner, @Local(argsOnly = true, name = "protocol") ProtocolInfo protocolInfo) { PayloadTypeRegistryImpl payloadTypeRegistry = PayloadTypeRegistryImpl.get(protocolInfo); if (payloadTypeRegistry == null) { @@ -108,7 +108,7 @@ private Object injectFabricPacketSlitterHandlerInbound(Object transitioner, @Loc } @ModifyArg(method = "setupOutboundProtocol", at = @At(value = "INVOKE", target = "Lio/netty/channel/Channel;writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;")) - private Object injectFabricPacketSlitterHandlerOutbound(Object transitioner, @Local(argsOnly = true) ProtocolInfo protocolInfo) { + private Object injectFabricPacketSlitterHandlerOutbound(Object transitioner, @Local(argsOnly = true, name = "protocol") ProtocolInfo protocolInfo) { PayloadTypeRegistryImpl payloadTypeRegistry = PayloadTypeRegistryImpl.get(protocolInfo); if (payloadTypeRegistry == null) { diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/IdDispatchCodecMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/IdDispatchCodecMixin.java index df152cb818a..67cf556330a 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/IdDispatchCodecMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/IdDispatchCodecMixin.java @@ -34,7 +34,7 @@ public abstract class IdDispatchCodecMixin implements StreamCodec { // Add the custom payload id to the error message @Inject(method = "encode(Lio/netty/buffer/ByteBuf;Ljava/lang/Object;)V", at = @At(value = "NEW", target = "(Ljava/lang/String;Ljava/lang/Throwable;)Lio/netty/handler/codec/EncoderException;")) - public void encode(B byteBuf, V packet, CallbackInfo ci, @Local(ordinal = 1) T packetType, @Local Exception e) { + public void encode(B byteBuf, V packet, CallbackInfo ci, @Local(name = "type") T packetType, @Local(name = "e") Exception e) { CustomPacketPayload payload = null; if (packet instanceof ServerboundCustomPayloadPacket customPayloadPacket) { diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityTypeBuilderMixin.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityTypeBuilderMixin.java index ffd4da2c2fc..97fdf7e7799 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityTypeBuilderMixin.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityTypeBuilderMixin.java @@ -100,7 +100,7 @@ private static EntityType castMob( } @WrapOperation(method = "build", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Util;fetchChoiceType(Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;")) - private @Nullable Type allowNoModdedDatafixers(DSL.TypeReference typeReference, String id, Operation> original, @Local(argsOnly = true) ResourceKey> resourceKey) { + private @Nullable Type allowNoModdedDatafixers(DSL.TypeReference typeReference, String id, Operation> original, @Local(argsOnly = true, name = "name") ResourceKey> resourceKey) { if (!resourceKey.identifier().getNamespace().equals(Identifier.DEFAULT_NAMESPACE)) { // Don't try to resolve the choice type for modded entities. return null; diff --git a/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java b/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java index 1e502a4c618..b84780c700b 100644 --- a/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java +++ b/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java @@ -55,9 +55,10 @@ private TerrainParticleMixin() { from = @At(value = "FIELD", target = "Lnet/minecraft/client/particle/TerrainParticle;bCol:F", ordinal = 0, opcode = Opcodes.PUTFIELD), to = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockState;is(Ljava/lang/Object;)Z") ), - allow = 1 + allow = 1, + name = "blockState" ) - private BlockState removeUntintableParticles(BlockState state, @Local(argsOnly = true) ClientLevel level, @Local(argsOnly = true) BlockPos blockPos) { + private BlockState removeUntintableParticles(BlockState state, @Local(argsOnly = true, name = "level") ClientLevel level, @Local(argsOnly = true, name = "pos") BlockPos blockPos) { if (!ParticleRenderEvents.ALLOW_TERRAIN_PARTICLE_TINT.invoker().allowTerrainParticleTint(state, level, blockPos)) { // As of 1.20.1, vanilla hardcodes grass block particles to not get tinted. return Blocks.GRASS_BLOCK.defaultBlockState(); diff --git a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/EntityMixin.java b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/EntityMixin.java index e87e624e56a..b026366ebce 100644 --- a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/EntityMixin.java +++ b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/EntityMixin.java @@ -30,7 +30,7 @@ @Mixin(Entity.class) abstract class EntityMixin { @ModifyExpressionValue(method = "spawnSprintParticle", at = @At(value = "NEW", target = "(Lnet/minecraft/core/particles/ParticleType;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/core/particles/BlockParticleOption;")) - private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, @Local(ordinal = 0) BlockPos blockPos) { + private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, @Local(name = "pos") BlockPos blockPos) { ((BlockParticleOptionExtension) original).fabric_setBlockPos(blockPos); return original; } diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/sync/RecipeMapMixin.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/sync/RecipeMapMixin.java index 18f771123ca..651d34af5c6 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/sync/RecipeMapMixin.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/sync/RecipeMapMixin.java @@ -57,7 +57,7 @@ private static void provideSerializerMap(Iterable> recipes, Call } @Inject(method = "create", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableMap$Builder;put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;")) - private static void fillSerializerMap(Iterable> recipes, CallbackInfoReturnable cir, @Local RecipeHolder entry, + private static void fillSerializerMap(Iterable> recipes, CallbackInfoReturnable cir, @Local(name = "recipe") RecipeHolder entry, @Share("bySerializer") LocalRef, List>>> bySerializer) { List> list = bySerializer.get().get(entry.value().getSerializer()); diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistriesMixin.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistriesMixin.java index 9bc5bf5c407..65ecfac7df1 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistriesMixin.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistriesMixin.java @@ -31,7 +31,7 @@ @Mixin(Registries.class) public class RegistriesMixin { @ModifyReturnValue(method = "elementsDirPath", at = @At("RETURN")) - private static String prependDirectoryWithNamespace(String original, @Local(argsOnly = true) ResourceKey> registryRef) { + private static String prependDirectoryWithNamespace(String original, @Local(argsOnly = true, name = "registryKey") ResourceKey> registryRef) { Identifier id = registryRef.identifier(); if (!id.getNamespace().equals(Identifier.DEFAULT_NAMESPACE)) { @@ -42,7 +42,7 @@ private static String prependDirectoryWithNamespace(String original, @Local(args } @ModifyReturnValue(method = "tagsDirPath", at = @At("RETURN")) - private static String prependTagDirectoryWithNamespace(String original, @Local(argsOnly = true) ResourceKey> registryRef) { + private static String prependTagDirectoryWithNamespace(String original, @Local(argsOnly = true, name = "registryKey") ResourceKey> registryRef) { Identifier id = registryRef.identifier(); if (!id.getNamespace().equals(Identifier.DEFAULT_NAMESPACE)) { diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/model/SimpleModelWrapperMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/model/SimpleModelWrapperMixin.java index 5181d20dbf1..293526b7bdc 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/model/SimpleModelWrapperMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/model/SimpleModelWrapperMixin.java @@ -54,7 +54,7 @@ abstract class SimpleModelWrapperMixin implements BlockModelPart { private boolean useAmbientOcclusion; @Inject(method = "bake(Lnet/minecraft/client/resources/model/ModelBaker;Lnet/minecraft/resources/Identifier;Lnet/minecraft/client/resources/model/ModelState;)Lnet/minecraft/client/renderer/block/model/BlockModelPart;", at = @At(value = "INVOKE", target = "net/minecraft/client/resources/model/QuadCollection.getAll()Ljava/util/List;")) - private static void validateMeshAtlas(final ModelBaker modelBakery, final Identifier location, final ModelState state, CallbackInfoReturnable cir, @Local QuadCollection geometry, @Local LocalRef> forbiddenSpritesRef) { + private static void validateMeshAtlas(final ModelBaker modelBakery, final Identifier location, final ModelState state, CallbackInfoReturnable cir, @Local(name = "geometry") QuadCollection geometry, @Local(name = "forbiddenSprites") LocalRef> forbiddenSpritesRef) { if (geometry instanceof MeshQuadCollection meshGeometry) { meshGeometry.getMesh().forEach(quad -> { if (quad.atlas() != QuadAtlas.BLOCK) { diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/ScreenEffectRendererMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/ScreenEffectRendererMixin.java index a279f9b5757..9344c8234b3 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/ScreenEffectRendererMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/ScreenEffectRendererMixin.java @@ -39,7 +39,7 @@ abstract class ScreenEffectRendererMixin { private static BlockPos pos; @Redirect(method = "renderScreenEffect", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getParticleIcon(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;")) - private static TextureAtlasSprite getParticleIconProxy(BlockModelShaper models, BlockState state, @Local Player player) { + private static TextureAtlasSprite getParticleIconProxy(BlockModelShaper models, BlockState state, @Local(name = "player") Player player) { if (pos != null) { TextureAtlasSprite sprite = models.getParticleIcon(state, player.level(), pos); pos = null; @@ -50,7 +50,7 @@ private static TextureAtlasSprite getParticleIconProxy(BlockModelShaper models, } @Inject(method = "getViewBlockingState", at = @At("RETURN")) - private static void onReturnGetInWallBlockState(CallbackInfoReturnable<@Nullable BlockState> cir, @Local BlockPos.MutableBlockPos mutable) { + private static void onReturnGetInWallBlockState(CallbackInfoReturnable<@Nullable BlockState> cir, @Local(name = "testPos") BlockPos.MutableBlockPos mutable) { if (cir.getReturnValue() != null) { pos = mutable.immutable(); } else { diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java index 45a4ef703c8..89c14596c44 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java @@ -34,7 +34,7 @@ abstract class ItemFrameRendererMixin { // Provide the BlockState as context. @Redirect(method = "submit(Lnet/minecraft/client/renderer/entity/state/ItemFrameRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) - private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local BlockState blockState) { + private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(name = "fakeBlockState") BlockState blockState) { // The vertex consumer is for a special layer that renders solid, but vanilla has no equivalent // cutout/translucent layers that we can use here without risking compatibility. submitNodeCollector.submitBlockStateModel(poseStack, blockLayer -> renderType, model, r, g, b, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, blockState); diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java index 15990d9878d..6ded4a989e2 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java @@ -34,7 +34,7 @@ abstract class MushroomCowMushroomLayerMixin { // Fix tinted quads being rendered completely black and provide the BlockState as context. @Redirect(method = "submitMushroomBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) - private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true) BlockState blockState) { + private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true, name = "mushroomBlockState") BlockState blockState) { submitNodeCollector.submitBlockStateModel(poseStack, _ -> renderType, model, 1, 1, 1, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, blockState); } } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java index b455ce599d3..8cb36b1152e 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java @@ -36,7 +36,7 @@ @Mixin(SnowGolemHeadLayer.class) abstract class SnowGolemHeadLayerMixin { @Redirect(method = "submit(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/client/renderer/entity/state/SnowGolemRenderState;FF)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) - private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true) SnowGolemRenderState renderState, @Local BlockState blockState) { + private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true, name = "state") SnowGolemRenderState renderState, @Local(name = "pumpkinBlockState") BlockState blockState) { // If true, the chunk layer is an outline chunk layer, and we want all geometry to use this chunk layer. if (renderState.appearsGlowing() && renderState.isInvisible) { // Fix tinted quads being rendered completely black and provide the BlockState as context. diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/item/BlockModelWrapperMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/item/BlockModelWrapperMixin.java index 1f6fd00b345..f673e5234b9 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/item/BlockModelWrapperMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/item/BlockModelWrapperMixin.java @@ -56,7 +56,7 @@ abstract class BlockModelWrapperMixin implements ItemModel, BlockModelWrapperExt private Mesh mesh; @Inject(method = "update", at = @At("RETURN")) - private void onReturnUpdate(final ItemStackRenderState output, final ItemStack item, final ItemModelResolver resolver, final ItemDisplayContext displayContext, final @Nullable ClientLevel level, final @Nullable ItemOwner owner, final int seed, CallbackInfo ci, @Local ItemStackRenderState.LayerRenderState layer) { + private void onReturnUpdate(final ItemStackRenderState output, final ItemStack item, final ItemModelResolver resolver, final ItemDisplayContext displayContext, final @Nullable ClientLevel level, final @Nullable ItemOwner owner, final int seed, CallbackInfo ci, @Local(name = "layer") ItemStackRenderState.LayerRenderState layer) { if (mesh != null) { // This logic matches that of ITEM_RENDER_TYPE_GETTER and BLOCK_RENDER_TYPE_GETTER ChunkSectionLayer defaultSectionLayer; diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java index 493eb5d66b7..72e2ced4b3c 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java @@ -51,7 +51,7 @@ abstract class BlockRenderDispatcherMixin { @Definition(id = "getBlockModel", method = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getBlockModel(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/block/model/BlockStateModel;") @Expression("? = ?.getBlockModel(?)") @Inject(method = "renderBreakingTexture(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/BlockAndTintGetter;Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;)V", at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER), cancellable = true) - private void afterGetModel(BlockState blockState, BlockPos blockPos, BlockAndTintGetter level, PoseStack poseStack, VertexConsumer vertexConsumer, CallbackInfo ci, @Local BlockStateModel model) { + private void afterGetModel(BlockState blockState, BlockPos blockPos, BlockAndTintGetter level, PoseStack poseStack, VertexConsumer vertexConsumer, CallbackInfo ci, @Local(name = "model") BlockStateModel model) { modelRenderer.render(level, model, blockState, blockPos, poseStack, layer -> vertexConsumer, true, blockState.getSeed(blockPos), OverlayTexture.NO_OVERLAY); ci.cancel(); diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java index 6d20f4eac93..4cea9d9f990 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java @@ -38,12 +38,12 @@ @Mixin(ItemStackRenderState.class) abstract class ItemStackRenderStateMixin { @Inject(method = "visitExtents(Ljava/util/function/Consumer;)V", at = @At(value = "NEW", target = "com/mojang/blaze3d/vertex/PoseStack$Pose")) - private void afterInitVecLoad(Consumer posConsumer, CallbackInfo ci, @Local Vector3f vec, @Share("pipe") LocalRef pipeRef) { + private void afterInitVecLoad(Consumer posConsumer, CallbackInfo ci, @Local(name = "scratch") Vector3f vec, @Share("pipe") LocalRef pipeRef) { pipeRef.set(new QuadToPosPipe(posConsumer, vec)); } @Inject(method = "visitExtents(Ljava/util/function/Consumer;)V", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/vertex/PoseStack$Pose;setIdentity()V")) - private void afterLayerLoad(Consumer posConsumer, CallbackInfo ci, @Local(ordinal = 0) Vector3f vec, @Local ItemStackRenderState.LayerRenderState layer, @Local Matrix4f matrix, @Share("pipe") LocalRef pipeRef) { + private void afterLayerLoad(Consumer posConsumer, CallbackInfo ci, @Local(name = "scratch") Vector3f vec, @Local(name = "layer") ItemStackRenderState.LayerRenderState layer, @Local(name = "poseTransform") Matrix4f matrix, @Share("pipe") LocalRef pipeRef) { MutableMeshImpl mutableMesh = ((AccessLayerRenderState) layer).fabric_getMutableMesh(); if (mutableMesh.size() > 0) { diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/SectionCompilerMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/SectionCompilerMixin.java index 21f78f82730..01c0686fc88 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/SectionCompilerMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/SectionCompilerMixin.java @@ -82,10 +82,10 @@ protected abstract BufferBuilder getOrBeginLayer( private void hookBuild(SectionPos sectionPos, RenderSectionRegion region, VertexSorting sorter, SectionBufferBuilderPack buffers, CallbackInfoReturnable cir, - @Local(ordinal = 0) BlockPos sectionOrigin, - @Local(ordinal = 0) PoseStack poseStack, - @Local(ordinal = 0) Map builderMap, - @Local(ordinal = 0) RandomSource random) { + @Local(name = "minPos") BlockPos sectionOrigin, + @Local(name = "poseStack") PoseStack poseStack, + @Local(name = "startedLayers") Map builderMap, + @Local(name = "random") RandomSource random) { // hook just before iterating over the render chunk's blocks to capture the buffer builder map TerrainRenderContext renderer = TerrainRenderContext.POOL.get(); renderer.prepare(region, sectionOrigin, diff --git a/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java b/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java index 652f097474c..097df953ca2 100644 --- a/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java +++ b/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java @@ -108,7 +108,7 @@ private TextureAtlasSprite getOrDefault(int index, TextureAtlasSprite original) @ModifyVariable( method = "tesselate", at = @At("STORE"), - ordinal = 0 + name = "stillSprite" ) public TextureAtlasSprite modStill(TextureAtlasSprite original) { return getOrDefault(0, original); @@ -117,7 +117,7 @@ public TextureAtlasSprite modStill(TextureAtlasSprite original) { @ModifyVariable( method = "tesselate", at = @At("STORE"), - ordinal = 1 + name = "flowingSprite" ) public TextureAtlasSprite modFlowing(TextureAtlasSprite original) { return getOrDefault(1, original); @@ -147,9 +147,9 @@ public int modTintColor(int original, BlockAndTintGetter level, BlockPos pos, Ve private TextureAtlasSprite modifyOverlaySprite( TextureAtlasSprite waterOverlay, BlockAndTintGetter level, - @Local(ordinal = 1) BlockPos neighborPos, - @Local(ordinal = 0) boolean isLava, - @Local(ordinal = 1) TextureAtlasSprite flowingSprite, + @Local(name = "tPos") BlockPos neighborPos, + @Local(name = "isLava") boolean isLava, + @Local(name = "flowingSprite") TextureAtlasSprite flowingSprite, @Share("useOverlay") LocalBooleanRef useOverlay ) { final FluidRenderHandlerInfo info = FluidRenderingImpl.getCurrentInfo(); diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeLayerMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeLayerMixin.java index 5a0d4e747d5..9240ce728d2 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeLayerMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeLayerMixin.java @@ -32,7 +32,7 @@ @Mixin(CapeLayer.class) public class CapeLayerMixin { @Inject(at = @At(value = "HEAD"), method = "submit(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/client/renderer/entity/state/AvatarRenderState;FF)V", cancellable = true) - public void injectCapeRenderCheck(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int i, AvatarRenderState avatarRenderState, float f, float g, CallbackInfo ci, @Local(argsOnly = true) AvatarRenderState state) { + public void injectCapeRenderCheck(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int i, AvatarRenderState avatarRenderState, float f, float g, CallbackInfo ci, @Local(argsOnly = true, name = "state") AvatarRenderState state) { if (!LivingEntityFeatureRenderEvents.ALLOW_CAPE_RENDER.invoker().allowCapeRender(state)) { ci.cancel(); } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/DebugOptionsScreenOptionListMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/DebugOptionsScreenOptionListMixin.java index 39b798a6873..3e0dd466f7f 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/DebugOptionsScreenOptionListMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/DebugOptionsScreenOptionListMixin.java @@ -38,7 +38,7 @@ private static int sort(Identifier o1, Identifier o2) { } @WrapOperation(method = "updateSearch", at = @At(value = "INVOKE", target = "Ljava/lang/String;contains(Ljava/lang/CharSequence;)Z")) - private boolean searchPath(String instance, CharSequence searchStrings, Operation original, @Local Map.Entry entry) { + private boolean searchPath(String instance, CharSequence searchStrings, Operation original, @Local(name = "entry") Map.Entry entry) { final String namespace = entry.getKey().getNamespace(); return original.call(instance, searchStrings) || (!Identifier.DEFAULT_NAMESPACE.equals(namespace) && namespace.contains(searchStrings)); diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderDispatcherMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderDispatcherMixin.java index e30fdf466bc..38b13fd399e 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderDispatcherMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderDispatcherMixin.java @@ -31,7 +31,7 @@ @Mixin(EntityRenderDispatcher.class) class EntityRenderDispatcherMixin { @Inject(method = "onResourceManagerReload", at = @At("TAIL")) - private void createArmorRenderers(ResourceManager manager, CallbackInfo ci, @Local EntityRendererProvider.Context context) { + private void createArmorRenderers(ResourceManager manager, CallbackInfo ci, @Local(name = "context") EntityRendererProvider.Context context) { ArmorRendererRegistryImpl.createArmorRenderers(context); } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiMixin.java index 8bf48981628..0d7301753d1 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiMixin.java @@ -65,7 +65,7 @@ private void wrapCrosshair(Gui instance, GuiGraphics graphics, DeltaTracker delt } @WrapOperation(method = "renderHotbarAndDecorations", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/spectator/SpectatorGui;renderHotbar(Lnet/minecraft/client/gui/GuiGraphics;)V")) - private void wrapSpectatorMenu(SpectatorGui instance, GuiGraphics graphics, Operation renderVanilla, @Local(argsOnly = true) DeltaTracker deltaTracker) { + private void wrapSpectatorMenu(SpectatorGui instance, GuiGraphics graphics, Operation renderVanilla, @Local(argsOnly = true, name = "deltaTracker") DeltaTracker deltaTracker) { HudElementRegistryImpl.getRoot(VanillaHudElements.SPECTATOR_MENU).render( graphics, deltaTracker, (ctx, _) -> renderVanilla.call(instance, ctx)); @@ -103,7 +103,7 @@ private void wrapAirBar(Gui instance, GuiGraphics graphics, Player player, int h } @WrapOperation(method = "renderHotbarAndDecorations", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;renderVehicleHealth(Lnet/minecraft/client/gui/GuiGraphics;)V")) - private void wrapMountHealth(Gui instance, GuiGraphics graphics, Operation renderVanilla, @Local(argsOnly = true) DeltaTracker deltaTracker) { + private void wrapMountHealth(Gui instance, GuiGraphics graphics, Operation renderVanilla, @Local(argsOnly = true, name = "deltaTracker") DeltaTracker deltaTracker) { HudElementRegistryImpl.getRoot(VanillaHudElements.MOUNT_HEALTH).render( graphics, deltaTracker, (ctx, _) -> renderVanilla.call(instance, ctx)); @@ -117,21 +117,21 @@ private void wrapRenderBar(ContextualBarRenderer instance, GuiGraphics graphics, } @WrapOperation(method = "renderHotbarAndDecorations", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/contextualbar/ContextualBarRenderer;renderExperienceLevel(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/gui/Font;I)V")) - private void wrapExperienceLevel(GuiGraphics graphics, Font font, int level, Operation renderVanilla, @Local(argsOnly = true) DeltaTracker deltaTracker) { + private void wrapExperienceLevel(GuiGraphics graphics, Font font, int level, Operation renderVanilla, @Local(argsOnly = true, name = "deltaTracker") DeltaTracker deltaTracker) { HudElementRegistryImpl.getRoot(VanillaHudElements.EXPERIENCE_LEVEL).render( graphics, deltaTracker, (ctx, _) -> renderVanilla.call(ctx, font, level)); } @WrapOperation(method = "renderHotbarAndDecorations", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;renderSelectedItemName(Lnet/minecraft/client/gui/GuiGraphics;)V")) - private void wrapHeldItemTooltip(Gui instance, GuiGraphics graphics, Operation renderVanilla, @Local(argsOnly = true) DeltaTracker deltaTracker) { + private void wrapHeldItemTooltip(Gui instance, GuiGraphics graphics, Operation renderVanilla, @Local(argsOnly = true, name = "deltaTracker") DeltaTracker deltaTracker) { HudElementRegistryImpl.getRoot(VanillaHudElements.HELD_ITEM_TOOLTIP).render( graphics, deltaTracker, (ctx, _) -> renderVanilla.call(instance, ctx)); } @WrapOperation(method = "renderHotbarAndDecorations", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/spectator/SpectatorGui;renderAction(Lnet/minecraft/client/gui/GuiGraphics;)V")) - private void wrapRenderSpectatorGui(SpectatorGui instance, GuiGraphics graphics, Operation renderVanilla, @Local(argsOnly = true) DeltaTracker deltaTracker) { + private void wrapRenderSpectatorGui(SpectatorGui instance, GuiGraphics graphics, Operation renderVanilla, @Local(argsOnly = true, name = "deltaTracker") DeltaTracker deltaTracker) { HudElementRegistryImpl.getRoot(VanillaHudElements.SPECTATOR_TOOLTIP).render( graphics, deltaTracker, (ctx, _) -> renderVanilla.call(instance, ctx)); @@ -204,7 +204,7 @@ private void wrapPlayerList(Gui instance, GuiGraphics graphics, DeltaTracker del } @WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;renderSubtitleOverlay(Lnet/minecraft/client/gui/GuiGraphics;Z)V")) - private void wrapSubtitleOverlay(Gui instance, GuiGraphics graphics, boolean deferRendering, Operation renderVanilla, @Local(argsOnly = true) DeltaTracker deltaTracker) { + private void wrapSubtitleOverlay(Gui instance, GuiGraphics graphics, boolean deferRendering, Operation renderVanilla, @Local(argsOnly = true, name = "deltaTracker") DeltaTracker deltaTracker) { HudElementRegistryImpl.getRoot(VanillaHudElements.SUBTITLES).render( graphics, deltaTracker, (ctx, _) -> renderVanilla.call(instance, ctx, diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiRendererMixin.java index beb3f1c05de..52c22f4b760 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiRendererMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiRendererMixin.java @@ -93,7 +93,7 @@ private void postPrepareSpecialElements(CallbackInfo ci) { pipRendererPools.values().forEach(PictureInPictureRendererPool::cleanUpUnusedRenderers); } - @ModifyVariable(method = "preparePictureInPictureState", at = @At("STORE")) + @ModifyVariable(method = "preparePictureInPictureState", at = @At("STORE"), name = "renderer") private PictureInPictureRenderer substituteSpecialElementRenderer(PictureInPictureRenderer original, T elementState) { if (original == null || !hasFabricInitialized) { return original; diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LayerDefinitionsMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LayerDefinitionsMixin.java index e0b5c1cdd92..73bc191fd28 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LayerDefinitionsMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LayerDefinitionsMixin.java @@ -36,7 +36,7 @@ @Mixin(LayerDefinitions.class) abstract class LayerDefinitionsMixin { @Inject(method = "createRoots", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableMap$Builder;build()Lcom/google/common/collect/ImmutableMap;")) - private static void registerExtraModelData(CallbackInfoReturnable> info, @Local ImmutableMap.Builder builder) { + private static void registerExtraModelData(CallbackInfoReturnable> info, @Local(name = "result") ImmutableMap.Builder builder) { for (Map.Entry entry : ModelLayerImpl.PROVIDERS.entrySet()) { builder.put(entry.getKey(), entry.getValue().createLayerDefinition()); } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LivingEntityRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LivingEntityRendererMixin.java index 1b86dee224c..5cffccc4b4e 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LivingEntityRendererMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LivingEntityRendererMixin.java @@ -36,7 +36,7 @@ abstract class LivingEntityRendererMixin { method = "extractRenderState(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/client/renderer/entity/state/LivingEntityRenderState;F)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/entity/layers/HumanoidArmorLayer;shouldRender(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/EquipmentSlot;)Z") ) - private boolean toggleDefaultHeadItem(ItemStack headStack, EquipmentSlot slot, Operation original, @Local(argsOnly = true) LivingEntity entity) { + private boolean toggleDefaultHeadItem(ItemStack headStack, EquipmentSlot slot, Operation original, @Local(argsOnly = true, name = "entity") LivingEntity entity) { // Return value: true if the item isn't rendered if (original.call(headStack, slot)) return true; ArmorRenderer renderer = ArmorRendererRegistryImpl.get(headStack.getItem()); diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/PackMixin.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/PackMixin.java index 608f02b4d21..54109c569e3 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/PackMixin.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/PackMixin.java @@ -32,8 +32,8 @@ @Mixin(Pack.class) public class PackMixin { - @ModifyVariable(method = "readPackMetadata", at = @At("STORE")) - private static List applyOverlayConditions(List overlays, @Local PackResources resourcePack) throws IOException { + @ModifyVariable(method = "readPackMetadata", at = @At("STORE"), name = "overlaySet") + private static List applyOverlayConditions(List overlays, @Local(name = "pack") PackResources resourcePack) throws IOException { List appliedOverlays = new ArrayList<>(overlays); OverlayConditionsMetadata overlayMetadata = resourcePack.getMetadataSection(OverlayConditionsMetadata.SERIALIZER); diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/RegistryDataLoaderPendingRegistrationMixin.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/RegistryDataLoaderPendingRegistrationMixin.java index 374e88b6a5e..b3243288992 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/RegistryDataLoaderPendingRegistrationMixin.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/RegistryDataLoaderPendingRegistrationMixin.java @@ -35,7 +35,7 @@ @Mixin(RegistryDataLoader.PendingRegistration.class) public abstract class RegistryDataLoaderPendingRegistrationMixin { @Inject(method = "loadFromResource", at = @At(value = "INVOKE", target = "Lcom/mojang/serialization/Decoder;parse(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;"), cancellable = true) - private static void loadFromResource(Decoder elementDecoder, RegistryOps ops, ResourceKey elementKey, Resource thunk, CallbackInfoReturnable> cir, @Local JsonElement jsonElement) { + private static void loadFromResource(Decoder elementDecoder, RegistryOps ops, ResourceKey elementKey, Resource thunk, CallbackInfoReturnable> cir, @Local(name = "json") JsonElement jsonElement) { if (jsonElement.isJsonObject() && !ResourceConditionsImpl.applyResourceConditions(jsonElement.getAsJsonObject(), elementKey.registry().toString(), elementKey.identifier(), ops.lookupProvider)) { cir.setReturnValue(Either.right(ResourceConditionsImpl.DISABLED_RESOURCE_EXCEPTION)); } diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/SimpleJsonResourceReloadListenerMixin.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/SimpleJsonResourceReloadListenerMixin.java index 47005e6909c..30a0aa500b4 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/SimpleJsonResourceReloadListenerMixin.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/SimpleJsonResourceReloadListenerMixin.java @@ -48,8 +48,8 @@ public class SimpleJsonResourceReloadListenerMixin { @WrapOperation(method = "scanDirectory(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/resources/FileToIdConverter;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Codec;Ljava/util/Map;)V", at = @At(value = "INVOKE", target = "Lcom/mojang/serialization/Codec;parse(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;")) private static DataResult applyResourceConditions(Codec instance, DynamicOps dynamicOps, Object object, Operation> original, - @Local(argsOnly = true) FileToIdConverter resourceFinder, - @Local Map.Entry entry) { + @Local(argsOnly = true, name = "lister") FileToIdConverter resourceFinder, + @Local(name = "entry") Map.Entry entry) { final JsonElement resourceData = (JsonElement) object; RegistryOps.@Nullable RegistryInfoLookup registryInfo = null; diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java index d40598de46c..7f26f8375ef 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java @@ -46,7 +46,8 @@ private CreateWorldScreenMixin() { } @ModifyVariable(method = "openCreateWorldScreen(Lnet/minecraft/client/Minecraft;Ljava/lang/Runnable;Ljava/util/function/Function;Lnet/minecraft/client/gui/screens/worldselection/WorldCreationContextMapper;Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/client/gui/screens/worldselection/CreateWorldCallback;)V", - at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/CreateWorldScreen;createDefaultLoadConfig(Lnet/minecraft/server/packs/repository/PackRepository;Lnet/minecraft/world/level/WorldDataConfiguration;)Lnet/minecraft/server/WorldLoader$InitConfig;")) + at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/CreateWorldScreen;createDefaultLoadConfig(Lnet/minecraft/server/packs/repository/PackRepository;Lnet/minecraft/world/level/WorldDataConfiguration;)Lnet/minecraft/server/WorldLoader$InitConfig;"), + name = "vanillaOnlyPackRepository") private static PackRepository onCreateResManagerInit(PackRepository manager) { // Add mod data packs to the initial res pack manager so they are active even if the user doesn't use custom data packs manager.sources.add(new ModResourcePackCreator(PackType.SERVER_DATA)); diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java index 17f2267fd2b..6abd89a0b4a 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java @@ -53,7 +53,7 @@ private static List toPackListString(List packs) { @SuppressWarnings("unchecked") @ModifyArg(method = "process(Ljava/lang/String;Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/lang/Object;", at = @At(value = "INVOKE", target = "Ljava/util/function/Function;apply(Ljava/lang/Object;)Ljava/lang/Object;")) - private T skipHiddenPacks(T value, @Local(argsOnly = true) String key) { + private T skipHiddenPacks(T value, @Local(argsOnly = true, name = "name") String key) { if ("resourcePacks".equals(key) && value instanceof List) { return (T) toPackListString((List) value); } diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java index f58ea2d3e48..e156e38f321 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java @@ -62,7 +62,7 @@ private static Stream filterDisabledPackSuggestions(Stream instance, } @Inject(method = "getPack", at = @At(value = "INVOKE", target = "Ljava/util/Collection;contains(Ljava/lang/Object;)Z")) - private static void errorOnInternalPack(CommandContext context, String name, boolean enable, CallbackInfoReturnable cir, @Local Pack profile) throws CommandSyntaxException { + private static void errorOnInternalPack(CommandContext context, String name, boolean enable, CallbackInfoReturnable cir, @Local(name = "pack") Pack profile) throws CommandSyntaxException { if (((FabricPack) profile).fabric$isHidden()) throw INTERNAL_PACK_EXCEPTION.create(profile.getId()); } } diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java index e9f50299ecb..c4e9366ea11 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java @@ -84,19 +84,19 @@ public void construct(RepositorySource[] resourcePackProviders, CallbackInfo inf } @Inject(method = "rebuildSelected", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableList;copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;")) - private void handleAutoEnableDisable(Collection enabledNames, CallbackInfoReturnable> cir, @Local List enabledAfterFirstRun) { + private void handleAutoEnableDisable(Collection enabledNames, CallbackInfoReturnable> cir, @Local(name = "selectedAndPresent") List enabledAfterFirstRun) { ModPackResourcesUtil.refreshAutoEnabledPacks(enabledAfterFirstRun, this.available); } @Inject(method = "addPack", at = @At(value = "INVOKE", target = "Ljava/util/List;add(Ljava/lang/Object;)Z", shift = At.Shift.AFTER)) - private void handleAutoEnable(String profile, CallbackInfoReturnable cir, @Local List newlyEnabled) { + private void handleAutoEnable(String profile, CallbackInfoReturnable cir, @Local(name = "selectedCopy") List newlyEnabled) { if (ModResourcePackCreator.POST_CHANGE_HANDLE_REQUIRED.contains(profile)) { ModPackResourcesUtil.refreshAutoEnabledPacks(newlyEnabled, this.available); } } @Inject(method = "removePack", at = @At(value = "INVOKE", target = "Ljava/util/List;remove(Ljava/lang/Object;)Z")) - private void handleAutoDisable(String profile, CallbackInfoReturnable cir, @Local List enabled) { + private void handleAutoDisable(String profile, CallbackInfoReturnable cir, @Local(name = "selectedCopy") List enabled) { if (ModResourcePackCreator.POST_CHANGE_HANDLE_REQUIRED.contains(profile)) { Set currentlyEnabled = enabled.stream().map(Pack::getId).collect(Collectors.toSet()); enabled.removeIf(p -> !((FabricPack) p).fabric$parentsEnabled(currentlyEnabled)); diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/ReloadableServerResourcesMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/ReloadableServerResourcesMixin.java index f1d87632b86..7c0d3d6e5a8 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/ReloadableServerResourcesMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/ReloadableServerResourcesMixin.java @@ -50,9 +50,9 @@ public class ReloadableServerResourcesMixin implements FabricDataResourceStoreHo ) private static List onSetupDataReloaders( List reloaders, - @Local(argsOnly = true) ReloadableServerRegistries.LoadResult loadResult, - @Local(argsOnly = true) FeatureFlagSet featureSet, - @Local ReloadableServerResources dataPackContents + @Local(argsOnly = true, name = "fullRegistries") ReloadableServerRegistries.LoadResult loadResult, + @Local(argsOnly = true, name = "enabledFeatures") FeatureFlagSet featureSet, + @Local(name = "result") ReloadableServerResources dataPackContents ) { var list = new ArrayList<>(reloaders); list.addFirst( diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/SimpleReloadInstanceMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/SimpleReloadInstanceMixin.java index 046606046b5..1bb1ea55355 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/SimpleReloadInstanceMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/SimpleReloadInstanceMixin.java @@ -40,7 +40,7 @@ public class SimpleReloadInstanceMixin { target = "Lnet/minecraft/server/packs/resources/SimpleReloadInstance;of(Lnet/minecraft/server/packs/resources/ResourceManager;Ljava/util/List;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;)Lnet/minecraft/server/packs/resources/ReloadInstance;" ) ) - private static List sortSimple(List reloaders, @Local(argsOnly = true) ResourceManager resourceManager) { + private static List sortSimple(List reloaders, @Local(argsOnly = true, name = "resourceManager") ResourceManager resourceManager) { if (resourceManager instanceof FabricMultiPackResourceManager flrm) { return ResourceLoaderImpl.sort(flrm.fabric$getPackType(), reloaders); } @@ -55,7 +55,7 @@ private static List sortSimple(List sortProfiled(List reloaders, @Local(argsOnly = true) ResourceManager resourceManager) { + private static List sortProfiled(List reloaders, @Local(argsOnly = true, name = "resourceManager") ResourceManager resourceManager) { if (resourceManager instanceof FabricMultiPackResourceManager flrm) { return ResourceLoaderImpl.sort(flrm.fabric$getPackType(), reloaders); } @@ -66,7 +66,8 @@ private static List sortProfiled(List Map, List>> loadTagsForRegistry(ResourceManager manager, ResourceKey> registryKey, TagLoader.ElementLookup> lookup, Operation, List>>> original, @Local(argsOnly = true) WritableRegistry registry) { + private static Map, List>> loadTagsForRegistry(ResourceManager manager, ResourceKey> registryKey, TagLoader.ElementLookup> lookup, Operation, List>>> original, @Local(argsOnly = true, name = "registry") WritableRegistry registry) { Map, List>> tags = original.call(manager, registryKey, lookup); registry.bindTags(tags); return tags; diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/BucketItemMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/BucketItemMixin.java index fc5f065772b..ad26f31892b 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/BucketItemMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/BucketItemMixin.java @@ -43,7 +43,7 @@ public class BucketItemMixin { @ModifyVariable( method = "playEmptySound", at = @At("STORE"), - index = 4 + name = "soundEvent" ) private SoundEvent hookEmptyingSound(SoundEvent previous) { return FluidVariantAttributes.getHandlerOrDefault(content).getEmptySound(FluidVariant.of(content)).orElse(previous); diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java index 1db6032aae5..d48db8489de 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java @@ -42,7 +42,7 @@ public class CrafterBlockMixin { // Inject after vanilla's attempts to insert the stack into an inventory. @Inject(method = "dispenseItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;isEmpty()Z")) - private void transferOrSpawnStack(ServerLevel level, BlockPos pos, CrafterBlockEntity blockEntity, ItemStack inputStack, BlockState state, RecipeHolder recipe, CallbackInfo ci, @Local Direction direction, @Local Container inventory, @Local(ordinal = 1) ItemStack itemStack) { + private void transferOrSpawnStack(ServerLevel level, BlockPos pos, CrafterBlockEntity blockEntity, ItemStack inputStack, BlockState state, RecipeHolder recipe, CallbackInfo ci, @Local(name = "direction") Direction direction, @Local(name = "into") Container inventory, @Local(name = "remaining") ItemStack itemStack) { if (inventory != null) { // Vanilla already found and tested an inventory, nothing else to do even if it failed to insert. return; diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java index 72e9e80c82b..8edb3f19663 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java @@ -53,7 +53,7 @@ public class HopperBlockEntityMixin { method = "ejectItems", cancellable = true ) - private static void hookInsert(Level level, BlockPos pos, HopperBlockEntity blockEntity, CallbackInfoReturnable cir, @Local Container targetInventory) { + private static void hookInsert(Level level, BlockPos pos, HopperBlockEntity blockEntity, CallbackInfoReturnable cir, @Local(name = "container") Container targetInventory) { // Let vanilla handle the transfer if it found an inventory. if (targetInventory != null) return; @@ -81,7 +81,7 @@ private static void hookInsert(Level level, BlockPos pos, HopperBlockEntity bloc method = "suckInItems(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/level/block/entity/Hopper;)Z", cancellable = true ) - private static void hookExtract(Level level, Hopper hopper, CallbackInfoReturnable cir, @Local Container inputInventory) { + private static void hookExtract(Level level, Hopper hopper, CallbackInfoReturnable cir, @Local(name = "container") Container inputInventory) { // Let vanilla handle the transfer if it found an inventory. if (inputInventory != null) return; From 1525e426f4a5f8427a22857be1caa181363ee460 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 21:51:03 +0000 Subject: [PATCH 11/13] Rename parameters based on what they're called in the target class --- .../fabric/mixin/biome/NoiseChunkMixin.java | 4 +- .../fabric/mixin/biome/RandomStateMixin.java | 2 +- .../mixin/biome/TheEndBiomeSourceMixin.java | 6 +- .../client/RenderRegionCacheMixin.java | 6 +- .../gametest/input/GlCommandEncoderMixin.java | 4 +- .../gametest/input/InputConstantsMixin.java | 4 +- .../client/gametest/input/WindowMixin.java | 18 +++--- .../threading/BlockableEventLoopMixin.java | 6 +- .../gametest/threading/ConnectionMixin.java | 4 +- .../gametest/threading/MinecraftMixin.java | 8 +-- .../world/CreateWorldScreenMixin.java | 4 +- .../client/ClientPacketListenerMixin.java | 2 +- .../fabric/mixin/command/CommandsMixin.java | 4 +- .../content/registry/FireBlockMixin.java | 16 ++--- .../content/registry/FuelValuesMixin.java | 4 +- .../registry/PathfindingContextMixin.java | 2 +- .../registry/PotionBrewingBuilderMixin.java | 2 +- .../registry/WalkNodeEvaluatorMixin.java | 4 +- .../crash/report/info/SystemReportMixin.java | 2 +- .../CreativeModeInventoryScreenMixin.java | 24 +++---- .../creativetab/CreativeModeTabMixin.java | 6 +- .../fabric/mixin/attachment/EntityMixin.java | 4 +- .../mixin/attachment/LevelChunkMixin.java | 2 +- .../attachment/PlayerChunkSenderMixin.java | 4 +- .../SerializableChunkDataMixin.java | 6 +- .../datagen/client/ModelProviderMixin.java | 12 ++-- .../mixin/datagen/DataProviderMixin.java | 6 +- .../mixin/datagen/TagsProviderMixin.java | 18 +++--- .../AllCraftingRecipeJsonBuildersMixin.java | 4 +- .../SmithingTransformRecipeBuilderMixin.java | 4 +- .../SmithingTrimRecipeBuilderMixin.java | 4 +- .../recipe/SpecialRecipeBuilderMixin.java | 4 +- .../TaggedChoiceTaggedChoiceTypeMixin.java | 6 +- .../mixin/entity/event/EntityMixin.java | 4 +- .../mixin/entity/event/LivingEntityMixin.java | 48 +++++++------- .../fabric/mixin/entity/event/MobMixin.java | 4 +- .../mixin/entity/event/PlayerListMixin.java | 10 +-- .../mixin/entity/event/ServerPlayerMixin.java | 14 ++-- .../interaction/client/MinecraftMixin.java | 8 +-- .../client/MultiPlayerGameModeMixin.java | 12 ++-- .../interaction/PlayerAdvancementsMixin.java | 6 +- .../ServerGamePacketListenerImplMixin.java | 2 +- ...ketListenerInteractEntityHandlerMixin.java | 4 +- .../ServerPlayerGameModeMixin.java | 20 +++--- .../event/interaction/ServerPlayerMixin.java | 6 +- .../EditGameRulesScreenRuleListMixin.java | 6 +- .../gamerule/GameRuleCommandVisitorMixin.java | 6 +- .../GameRulesServiceGameRuleUpdateMixin.java | 4 +- .../mixin/gamerule/MinecraftServerMixin.java | 4 +- .../gametest/RegistryDataLoaderMixin.java | 4 +- .../StructureTemplateManagerMixin.java | 4 +- .../mixin/gametest/server/MainMixin.java | 4 +- .../mixin/item/client/ItemStackMixin.java | 4 +- .../item/client/MultiPlayerGameModeMixin.java | 4 +- .../item/AbstractFurnaceBlockEntityMixin.java | 4 +- .../fabric/mixin/item/AnvilMenuMixin.java | 4 +- .../item/BrewingStandBlockEntityMixin.java | 4 +- .../item/DataComponentMapBuilderMixin.java | 2 +- .../mixin/item/EnchantCommandMixin.java | 4 +- .../item/EnchantRandomlyFunctionMixin.java | 4 +- .../mixin/item/EnchantmentHelperMixin.java | 4 +- .../fabric/mixin/item/ItemStackMixin.java | 64 +++++++++---------- .../fabric/mixin/item/LivingEntityMixin.java | 6 +- ...rResourceManagerRegistryLoadTaskMixin.java | 4 +- .../client/ClientChunkCacheMixin.java | 18 +++--- ...tConfigurationPacketListenerImplMixin.java | 2 +- .../lifecycle/client/LevelChunkMixin.java | 16 ++--- .../event/lifecycle/ChunkHolderMixin.java | 10 +-- .../mixin/event/lifecycle/ChunkMapMixin.java | 2 +- .../lifecycle/ChunkStatusTasksMixin.java | 12 ++-- .../event/lifecycle/LivingEntityMixin.java | 4 +- .../event/lifecycle/MinecraftServerMixin.java | 16 ++--- .../event/lifecycle/PlayerListMixin.java | 2 +- .../ReloadableServerResourcesMixin.java | 4 +- .../event/lifecycle/ServerLevelMixin.java | 4 +- .../lifecycle/server/LevelChunkMixin.java | 10 +-- .../fabric/mixin/loot/LootTableMixin.java | 4 +- .../loot/ReloadableServerRegistriesMixin.java | 14 ++-- ...SimpleJsonResourceReloadListenerMixin.java | 4 +- .../fabric/mixin/menu/ServerPlayerMixin.java | 16 ++--- .../client/message/ChatListenerMixin.java | 12 ++-- .../fabric/mixin/message/PlayerListMixin.java | 14 ++-- .../loading/BlockStateModelUnbakedMixin.java | 4 +- .../model/loading/ModelBakeryMixin.java | 8 +-- .../model/loading/ModelManagerMixin.java | 10 +-- .../mixin/networking/BundlePacketMixin.java | 8 +-- .../ClientboundCustomPayloadPacketMixin.java | 8 +-- .../ClientboundCustomQueryPacketMixin.java | 4 +- .../mixin/networking/CommandsMixin.java | 2 +- .../mixin/networking/ConnectionMixin.java | 18 +++--- .../networking/IdDispatchCodecMixin.java | 8 +-- .../mixin/networking/PacketEncoderMixin.java | 4 +- .../mixin/networking/PlayerListMixin.java | 2 +- .../ServerCommonPacketListenerImplMixin.java | 4 +- ...rConfigurationPacketListenerImplMixin.java | 6 +- .../ServerGamePacketListenerImplMixin.java | 4 +- .../ServerLoginPacketListenerImplMixin.java | 2 +- .../ServerboundCustomPayloadPacketMixin.java | 4 +- ...rverboundCustomQueryAnswerPacketMixin.java | 6 +- .../client/HangingSignEditScreenMixin.java | 6 +- .../object/builder/client/SheetsMixin.java | 8 +-- .../object/builder/BlockEntityTypeMixin.java | 2 +- .../builder/DetectorRailBlockMixin.java | 2 +- .../builder/DimensionDataStorageMixin.java | 6 +- .../builder/EntityDataSerializersMixin.java | 4 +- .../builder/EntityTypeBuilderMixin.java | 10 +-- .../client/particle/TerrainParticleMixin.java | 14 ++-- .../fabric/mixin/particle/BrushItemMixin.java | 2 +- .../fabric/mixin/particle/EntityMixin.java | 4 +- .../mixin/particle/LivingEntityMixin.java | 4 +- .../mixin/particle/ServerPlayerMixin.java | 4 +- .../mixin/recipe/RecipeManagerMixin.java | 4 +- .../recipe/ingredient/IngredientMixin.java | 4 +- .../recipe/ingredient/PacketEncoderMixin.java | 6 +- .../ingredient/ShapelessRecipeMixin.java | 8 +-- .../mixin/recipe/sync/RecipeMapMixin.java | 6 +- .../registry/sync/client/MinecraftMixin.java | 2 +- .../client/RegistryDataCollectorMixin.java | 4 +- .../registry/sync/MappedRegistryMixin.java | 14 ++-- .../mixin/registry/sync/RegistriesMixin.java | 8 +-- .../sync/RegistrySynchronizationMixin.java | 8 +-- .../sync/mixin/ByteBufCodecsMixin.java | 4 +- .../block/particle/BlockMarkerMixin.java | 4 +- .../particle/ScreenEffectRendererMixin.java | 10 +-- .../block/particle/TerrainParticleMixin.java | 4 +- .../block/render/ItemFrameRendererMixin.java | 4 +- .../render/MushroomCowMushroomLayerMixin.java | 4 +- .../block/render/SnowGolemHeadLayerMixin.java | 8 +-- .../client/sprite/TextureAtlasMixin.java | 4 +- .../renderer/BlockRenderDispatcherMixin.java | 10 +-- .../renderer/ItemStackRenderStateMixin.java | 6 +- .../indigo/renderer/SectionCompilerMixin.java | 28 ++++---- .../fluid/LiquidBlockRendererMixin.java | 22 +++---- .../client/rendering/CapeLayerMixin.java | 3 +- .../client/rendering/ClientLevelMixin.java | 4 +- .../ClientTooltipComponentMixin.java | 8 +-- .../DebugOptionsScreenOptionListMixin.java | 10 +-- .../EntityRenderDispatcherMixin.java | 2 +- .../rendering/EntityRenderersMixin.java | 8 +-- .../client/rendering/GameRendererMixin.java | 2 +- .../client/rendering/GuiGraphicsMixin.java | 6 +- .../mixin/client/rendering/GuiMixin.java | 20 +++--- .../client/rendering/GuiRendererMixin.java | 12 ++-- .../rendering/HumanoidArmorLayerMixin.java | 10 +-- .../rendering/HumanoidMobRendererMixin.java | 4 +- .../rendering/LayerDefinitionsMixin.java | 6 +- .../client/rendering/LevelRendererMixin.java | 14 ++-- .../rendering/LivingEntityRendererMixin.java | 8 +-- .../mixin/client/rendering/ModelMixin.java | 2 +- .../rendering/RenderPipelineSnippetMixin.java | 4 +- .../client/mixin/PigRendererMixin.java | 6 +- .../conditions/DataProviderMixin.java | 4 +- .../mixin/resource/conditions/PackMixin.java | 6 +- ...tryDataLoaderPendingRegistrationMixin.java | 4 +- .../ReloadableServerResourcesMixin.java | 2 +- ...SimpleJsonResourceReloadListenerMixin.java | 8 +-- .../client/BuiltInPackSourceMixin.java | 4 +- .../client/ClientTooltipComponentMixin.java | 4 +- .../client/CreateWorldScreenMixin.java | 6 +- .../client/GameOptionsWriteVisitorMixin.java | 4 +- .../client/PackSelectionModelMixin.java | 2 +- ...ansferableSelectionListPackEntryMixin.java | 2 +- .../mixin/resource/DataPackCommandMixin.java | 4 +- .../mixin/resource/MinecraftServerMixin.java | 6 +- .../MultiPackResourceManagerMixin.java | 2 +- .../mixin/resource/PackRepositoryMixin.java | 22 +++---- .../ReloadableServerResourcesMixin.java | 12 ++-- .../resource/SimpleReloadInstanceMixin.java | 4 +- .../SynchronizeRegistriesTaskMixin.java | 16 ++--- .../mixin/resource/server/LanguageMixin.java | 8 +-- .../mixin/SynchronizeRegistriesTaskMixin.java | 8 +-- .../screen/AbstractContainerScreenMixin.java | 8 +-- .../mixin/screen/GameRendererMixin.java | 8 +-- .../mixin/screen/KeyboardHandlerMixin.java | 10 +-- .../fabric/mixin/screen/ScreenMixin.java | 4 +- .../mixin/client/sound/SoundEngineMixin.java | 4 +- .../tag/ReloadableServerResourcesMixin.java | 4 +- .../AbstractFurnaceBlockEntityMixin.java | 6 +- .../mixin/transfer/BucketItemMixin.java | 4 +- .../ChiseledBookShelfBlockEntityMixin.java | 4 +- .../mixin/transfer/CrafterBlockMixin.java | 10 +-- .../mixin/transfer/DropperBlockMixin.java | 2 +- .../transfer/HopperBlockEntityMixin.java | 14 ++-- .../transfer/JukeboxBlockEntityMixin.java | 6 +- 184 files changed, 664 insertions(+), 665 deletions(-) diff --git a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/NoiseChunkMixin.java b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/NoiseChunkMixin.java index 3575ae32dd3..0e4f3662c5e 100644 --- a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/NoiseChunkMixin.java +++ b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/NoiseChunkMixin.java @@ -43,12 +43,12 @@ public class NoiseChunkMixin { private long seed; @Inject(method = "", at = @At("TAIL")) - private void init(int horizontalSize, RandomState randomState, int i, int j, NoiseSettings generationShapeConfig, DensityFunctions.BeardifierOrMarker arg, NoiseGeneratorSettings chunkGeneratorSettings, Aquifer.FluidPicker fluidLevelSampler, Blender blender, CallbackInfo ci) { + private void init(int cellCountXZ, RandomState randomState, int chunkMinBlockX, int chunkMinBlockZ, NoiseSettings noiseSettings, DensityFunctions.BeardifierOrMarker beardifier, NoiseGeneratorSettings settings, Aquifer.FluidPicker globalFluidPicker, Blender blender, CallbackInfo ci) { seed = ((MultiNoiseSamplerHooks) (Object) randomState.sampler()).fabric_getSeed(); } @Inject(method = "cachedClimateSampler", at = @At("RETURN")) - private void createMultiNoiseSampler(NoiseRouter noiseRouter, List list, CallbackInfoReturnable cir) { + private void createMultiNoiseSampler(NoiseRouter noises, List spawnTarget, CallbackInfoReturnable cir) { ((MultiNoiseSamplerHooks) (Object) cir.getReturnValue()).fabric_setSeed(seed); } } diff --git a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/RandomStateMixin.java b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/RandomStateMixin.java index b039e38897f..8c619c4be2c 100644 --- a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/RandomStateMixin.java +++ b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/RandomStateMixin.java @@ -38,7 +38,7 @@ public class RandomStateMixin { private Climate.Sampler sampler; @Inject(method = "", at = @At("TAIL")) - private void init(NoiseGeneratorSettings chunkGeneratorSettings, HolderGetter arg, long seed, CallbackInfo ci) { + private void init(NoiseGeneratorSettings settings, HolderGetter noises, long seed, CallbackInfo ci) { ((MultiNoiseSamplerHooks) (Object) sampler).fabric_setSeed(seed); } } diff --git a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/TheEndBiomeSourceMixin.java b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/TheEndBiomeSourceMixin.java index 8af605916ea..17eaca74463 100644 --- a/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/TheEndBiomeSourceMixin.java +++ b/fabric-biome-api-v1/src/main/java/net/fabricmc/fabric/mixin/biome/TheEndBiomeSourceMixin.java @@ -92,7 +92,7 @@ private static void clearLookup(HolderGetter biomes, CallbackInfoReturnab * Uses the captured biome registry to set up the modded end biomes. */ @Inject(method = "", at = @At("RETURN")) - private void init(Holder centerBiome, Holder highlandsBiome, Holder midlandsBiome, Holder smallIslandsBiome, Holder barrensBiome, CallbackInfo ci) { + private void init(Holder end, Holder highlands, Holder midlands, Holder islands, Holder barrens, CallbackInfo ci) { HolderGetter biomes = TheEndBiomeData.biomeRegistry.get(); if (biomes == null) { @@ -105,8 +105,8 @@ private void init(Holder centerBiome, Holder highlandsBiome, Holde } @Inject(method = "getNoiseBiome", at = @At("RETURN"), cancellable = true) - private void getWeightedEndBiome(int biomeX, int biomeY, int biomeZ, Climate.Sampler noise, CallbackInfoReturnable> cir) { - cir.setReturnValue(overrides.get().pick(biomeX, biomeY, biomeZ, noise, cir.getReturnValue())); + private void getWeightedEndBiome(int quartX, int quartY, int quartZ, Climate.Sampler sampler, CallbackInfoReturnable> cir) { + cir.setReturnValue(overrides.get().pick(quartX, quartY, quartZ, sampler, cir.getReturnValue())); } @Override diff --git a/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/RenderRegionCacheMixin.java b/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/RenderRegionCacheMixin.java index d6ca16ba8bb..20ff4d3ab18 100644 --- a/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/RenderRegionCacheMixin.java +++ b/fabric-block-view-api-v2/src/client/java/net/fabricmc/fabric/mixin/blockview/client/RenderRegionCacheMixin.java @@ -50,7 +50,7 @@ public abstract class RenderRegionCacheMixin { private static final Logger LOGGER = LoggerFactory.getLogger(RenderRegionCacheMixin.class); @Inject(method = "createRegion", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/chunk/RenderRegionCache;getSectionDataCopy(Lnet/minecraft/world/level/Level;III)Lnet/minecraft/client/renderer/chunk/SectionCopy;")) - private void copyDataForChunk(Level level, long packedChunkPos, CallbackInfoReturnable cir, @Share("dataMap") LocalRef> mapRef, @Local(name = "regionSectionX") int x, @Local(name = "regionSectionY") int y, @Local(name = "regionSectionZ") int z) { + private void copyDataForChunk(Level level, long sectionNode, CallbackInfoReturnable cir, @Share("dataMap") LocalRef> mapRef, @Local(name = "regionSectionX") int regionSectionX, @Local(name = "regionSectionY") int regionSectionY, @Local(name = "regionSectionZ") int regionSectionZ) { // Hash maps in chunks should generally not be modified outside of client thread // but does happen in practice, due to mods or inconsistent vanilla behaviors, causing // CMEs when we iterate the map. (Vanilla does not iterate these maps when it builds @@ -59,7 +59,7 @@ private void copyDataForChunk(Level level, long packedChunkPos, CallbackInfoRetu // We handle this simply by retrying until it works. Ugly but effective. while (true) { try { - mapRef.set(mapChunk(level.getChunk(x, z), SectionPos.of(packedChunkPos), mapRef.get())); + mapRef.set(mapChunk(level.getChunk(regionSectionX, regionSectionZ), SectionPos.of(sectionNode), mapRef.get())); break; } catch (ConcurrentModificationException e) { final int count = ERROR_COUNTER.incrementAndGet(); @@ -76,7 +76,7 @@ private void copyDataForChunk(Level level, long packedChunkPos, CallbackInfoRetu } @Inject(method = "createRegion", at = @At(value = "RETURN")) - private void createDataMap(Level level, long l, CallbackInfoReturnable cir, @Share("dataMap") LocalRef> mapRef) { + private void createDataMap(Level level, long sectionNode, CallbackInfoReturnable cir, @Share("dataMap") LocalRef> mapRef) { RenderSectionRegion rendererRegion = cir.getReturnValue(); Long2ObjectOpenHashMap map = mapRef.get(); diff --git a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/GlCommandEncoderMixin.java b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/GlCommandEncoderMixin.java index 7e04f52f28e..cf9af15e9dd 100644 --- a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/GlCommandEncoderMixin.java +++ b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/GlCommandEncoderMixin.java @@ -32,8 +32,8 @@ @Mixin(GlCommandEncoder.class) public class GlCommandEncoderMixin { @WrapOperation(method = "presentTexture", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/opengl/DirectStateAccess;blitFrameBuffers(IIIIIIIIIIII)V")) - private void blitFrameBuffer(DirectStateAccess manager, int readFramebuffer, int drawFramebuffer, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter, Operation original, @Local(argsOnly = true, name = "textureView") GpuTextureView gpuTextureView) { - if (gpuTextureView.texture() == Minecraft.getInstance().getMainRenderTarget().getColorTexture()) { + private void blitFrameBuffer(DirectStateAccess manager, int readFramebuffer, int drawFramebuffer, int srcX0, int srcY0, int srcX1, int srcY1, int dstX0, int dstY0, int dstX1, int dstY1, int mask, int filter, Operation original, @Local(argsOnly = true, name = "textureView") GpuTextureView textureView) { + if (textureView.texture() == Minecraft.getInstance().getMainRenderTarget().getColorTexture()) { WindowHooks window = ((WindowHooks) (Object) Minecraft.getInstance().getWindow()); dstX1 = window.fabric_getRealFramebufferWidth(); dstY1 = window.fabric_getRealFramebufferHeight(); diff --git a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/InputConstantsMixin.java b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/InputConstantsMixin.java index 2a6cee557d0..e214c3516f3 100644 --- a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/InputConstantsMixin.java +++ b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/InputConstantsMixin.java @@ -29,8 +29,8 @@ @Mixin(InputConstants.class) public class InputConstantsMixin { @Inject(method = "isKeyDown", at = @At("HEAD"), cancellable = true) - private static void useGameTestInputForKeyDown(Window window, int keyCode, CallbackInfoReturnable cir) { - cir.setReturnValue(TestInputImpl.isKeyDown(keyCode)); + private static void useGameTestInputForKeyDown(Window window, int key, CallbackInfoReturnable cir) { + cir.setReturnValue(TestInputImpl.isKeyDown(key)); } @Inject(method = {"setupKeyboardCallbacks", "setupMouseCallbacks"}, at = @At("HEAD"), cancellable = true) diff --git a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/WindowMixin.java b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/WindowMixin.java index 7ce35a58ffa..ed214924b89 100644 --- a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/WindowMixin.java +++ b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/input/WindowMixin.java @@ -89,9 +89,9 @@ public abstract class WindowMixin implements WindowHooks { private int realFramebufferHeight; @Inject(method = "", at = @At("RETURN")) - private void onInit(WindowEventHandler eventHandler, DisplayData settings, String fullscreenVideoModeString, String title, GpuBackend[] backends, ShaderSource defaultShaderSource, GpuDebugOptions debugOptions, CallbackInfo ci) { - this.defaultWidth = settings.width(); - this.defaultHeight = settings.height(); + private void onInit(WindowEventHandler eventHandler, DisplayData displayData, String fullscreenVideoModeString, String title, GpuBackend[] backends, ShaderSource defaultShaderSource, GpuDebugOptions debugOptions, CallbackInfo ci) { + this.defaultWidth = displayData.width(); + this.defaultHeight = displayData.height(); this.realWidth = this.width; this.realHeight = this.height; this.realFramebufferWidth = this.framebufferWidth; @@ -107,16 +107,16 @@ private void cancelEvents(CallbackInfo ci) { } @Inject(method = "onResize", at = @At("HEAD"), cancellable = true) - private void cancelResize(long window, int width, int height, CallbackInfo ci) { - realWidth = width; - realHeight = height; + private void cancelResize(long handle, int newWidth, int newHeight, CallbackInfo ci) { + realWidth = newWidth; + realHeight = newHeight; ci.cancel(); } @Inject(method = "onFramebufferResize", at = @At("HEAD"), cancellable = true) - private void cancelFramebufferResize(long window, int width, int height, CallbackInfo ci) { - realFramebufferWidth = width; - realFramebufferHeight = height; + private void cancelFramebufferResize(long handle, int newWidth, int newHeight, CallbackInfo ci) { + realFramebufferWidth = newWidth; + realFramebufferHeight = newHeight; ci.cancel(); } diff --git a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/BlockableEventLoopMixin.java b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/BlockableEventLoopMixin.java index 836a052abef..fae303458ad 100644 --- a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/BlockableEventLoopMixin.java +++ b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/BlockableEventLoopMixin.java @@ -30,10 +30,10 @@ @Mixin(BlockableEventLoop.class) public class BlockableEventLoopMixin { @Inject(method = "schedule", at = @At("HEAD")) - private void onPacketHandlerSchedule(Runnable task, CallbackInfo ci) { + private void onPacketHandlerSchedule(Runnable r, CallbackInfo ci) { switch ((Object) this) { - case Minecraft $ -> NetworkSynchronizer.CLIENTBOUND.preTaskAdded(task); - case MinecraftServer $ -> NetworkSynchronizer.SERVERBOUND.preTaskAdded(task); + case Minecraft $ -> NetworkSynchronizer.CLIENTBOUND.preTaskAdded(r); + case MinecraftServer $ -> NetworkSynchronizer.SERVERBOUND.preTaskAdded(r); default -> { } } diff --git a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/ConnectionMixin.java b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/ConnectionMixin.java index 48e575d983b..44f2695c054 100644 --- a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/ConnectionMixin.java +++ b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/ConnectionMixin.java @@ -39,12 +39,12 @@ public class ConnectionMixin { private PacketFlow receiving; @WrapMethod(method = "channelRead0(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/protocol/Packet;)V") - private void onNettyReceivePacket(ChannelHandlerContext context, Packet packet, Operation original) { + private void onNettyReceivePacket(ChannelHandlerContext ctx, Packet packet, Operation original) { NetworkSynchronizer synchronizer = receiving == PacketFlow.CLIENTBOUND ? NetworkSynchronizer.CLIENTBOUND : NetworkSynchronizer.SERVERBOUND; synchronizer.preNettyHandlePacket(); try { - original.call(context, packet); + original.call(ctx, packet); } finally { synchronizer.postNettyHandlePacket(); } diff --git a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/MinecraftMixin.java b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/MinecraftMixin.java index 3a293fcb166..05294f93816 100644 --- a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/MinecraftMixin.java +++ b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/threading/MinecraftMixin.java @@ -108,10 +108,10 @@ private void postRunTasksHook(CallbackInfo ci, @Share("ticksPerFrame") LocalIntR } @Inject(method = "doWorldLoad", at = @At("HEAD"), cancellable = true) - private void deferStartIntegratedServer(LevelStorageSource.LevelStorageAccess storageAccess, PackRepository dataPackManager, WorldStem worldStem, boolean newWorld, CallbackInfo ci) { + private void deferStartIntegratedServer(LevelStorageSource.LevelStorageAccess levelSourceAccess, PackRepository packRepository, WorldStem worldStem, boolean newWorld, CallbackInfo ci) { if (ThreadingImpl.taskToRun != null) { // don't start the integrated server (which busywaits) inside a task - deferredTask = () -> Minecraft.getInstance().doWorldLoad(storageAccess, dataPackManager, worldStem, newWorld); + deferredTask = () -> Minecraft.getInstance().doWorldLoad(levelSourceAccess, packRepository, worldStem, newWorld); ci.cancel(); } } @@ -124,10 +124,10 @@ private void onStartIntegratedServerBusyWait(CallbackInfo ci) { } @Inject(method = "disconnect(Lnet/minecraft/client/gui/screens/Screen;Z)V", at = @At("HEAD"), cancellable = true) - private void deferDisconnect(Screen disconnectionScreen, boolean transferring, CallbackInfo ci) { + private void deferDisconnect(Screen screen, boolean keepResourcePacks, CallbackInfo ci) { if (Minecraft.getInstance().getSingleplayerServer() != null && ThreadingImpl.taskToRun != null) { // don't disconnect (which busywaits) inside a task - deferredTask = () -> Minecraft.getInstance().disconnect(disconnectionScreen, transferring); + deferredTask = () -> Minecraft.getInstance().disconnect(screen, keepResourcePacks); ci.cancel(); } } diff --git a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/world/CreateWorldScreenMixin.java b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/world/CreateWorldScreenMixin.java index 0e050ee9dae..89e2bf819b7 100644 --- a/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/world/CreateWorldScreenMixin.java +++ b/fabric-client-gametest-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/gametest/world/CreateWorldScreenMixin.java @@ -38,9 +38,9 @@ @Mixin(CreateWorldScreen.class) public class CreateWorldScreenMixin { @Inject(method = "onCreate", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/WorldOpenFlows;confirmWorldCreation(Lnet/minecraft/client/Minecraft;Lnet/minecraft/client/gui/screens/worldselection/CreateWorldScreen;Lcom/mojang/serialization/Lifecycle;Ljava/lang/Runnable;Z)V"), cancellable = true) - private void createLevelDataForServers(CallbackInfo ci, @Local(name = "finalLayers") LayeredRegistryAccess registries, @Local(name = "worldData") PrimaryLevelData levelData) { + private void createLevelDataForServers(CallbackInfo ci, @Local(name = "finalLayers") LayeredRegistryAccess finalLayers, @Local(name = "worldData") PrimaryLevelData worldData) { if (DedicatedServerImplUtil.saveLevelDataTo != null) { - CompoundTag levelDatInner = levelData.createTag(registries.compositeAccess(), null); + CompoundTag levelDatInner = worldData.createTag(finalLayers.compositeAccess(), null); CompoundTag levelDat = new CompoundTag(); levelDat.put("Data", levelDatInner); diff --git a/fabric-command-api-v2/src/client/java/net/fabricmc/fabric/mixin/command/client/ClientPacketListenerMixin.java b/fabric-command-api-v2/src/client/java/net/fabricmc/fabric/mixin/command/client/ClientPacketListenerMixin.java index cbe27c445e1..16557b1fd5a 100644 --- a/fabric-command-api-v2/src/client/java/net/fabricmc/fabric/mixin/command/client/ClientPacketListenerMixin.java +++ b/fabric-command-api-v2/src/client/java/net/fabricmc/fabric/mixin/command/client/ClientPacketListenerMixin.java @@ -83,7 +83,7 @@ private void setLastReceivedCommandsPacket(ClientboundCommandsPacket packet, Cal } @Inject(method = "sendUnattendedCommand", at = @At("HEAD"), cancellable = true) - private void onSendCommand(String command, Screen screen, CallbackInfo info) { + private void onSendCommand(String command, Screen screenAfterCommand, CallbackInfo info) { if (ClientCommandInternals.executeCommand(command)) { info.cancel(); } diff --git a/fabric-command-api-v2/src/main/java/net/fabricmc/fabric/mixin/command/CommandsMixin.java b/fabric-command-api-v2/src/main/java/net/fabricmc/fabric/mixin/command/CommandsMixin.java index 1c36e9b8134..01872cd31e7 100644 --- a/fabric-command-api-v2/src/main/java/net/fabricmc/fabric/mixin/command/CommandsMixin.java +++ b/fabric-command-api-v2/src/main/java/net/fabricmc/fabric/mixin/command/CommandsMixin.java @@ -44,7 +44,7 @@ public abstract class CommandsMixin { * @reason Add commands before ambiguities are calculated. */ @Inject(at = @At(value = "INVOKE", target = "Lcom/mojang/brigadier/CommandDispatcher;setConsumer(Lcom/mojang/brigadier/ResultConsumer;)V"), method = "") - private void fabric_addCommands(Commands.CommandSelection selection, CommandBuildContext buildContext, CallbackInfo ci) { - CommandRegistrationCallback.EVENT.invoker().register(this.dispatcher, buildContext, selection); + private void fabric_addCommands(Commands.CommandSelection commandSelection, CommandBuildContext context, CallbackInfo ci) { + CommandRegistrationCallback.EVENT.invoker().register(this.dispatcher, context, commandSelection); } } diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FireBlockMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FireBlockMixin.java index 9f6fe594da2..6b6b7a09521 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FireBlockMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FireBlockMixin.java @@ -39,12 +39,12 @@ public class FireBlockMixin implements FireBlockHooks { private FlammableBlockRegistryImpl registry; @Shadow - private int getBurnOdds(BlockState block_1) { + private int getBurnOdds(BlockState state) { return 0; } @Shadow - private int getIgniteOdds(BlockState block_1) { + private int getIgniteOdds(BlockState state) { return 0; } @@ -54,12 +54,12 @@ private void afterConstruct(Block.Properties properties, CallbackInfo info) { } @Inject(at = @At("HEAD"), method = "getIgniteOdds(Lnet/minecraft/world/level/block/state/BlockState;)I", cancellable = true) - private void getFabricBurnChance(BlockState block, CallbackInfoReturnable info) { - FlammableBlockRegistry.Entry entry = registry.getFabric(block.getBlock()); + private void getFabricBurnChance(BlockState state, CallbackInfoReturnable info) { + FlammableBlockRegistry.Entry entry = registry.getFabric(state.getBlock()); if (entry != null) { // TODO: use a (BlockState -> int) with this as the default impl - if (block.hasProperty(BlockStateProperties.WATERLOGGED) && block.getValue(BlockStateProperties.WATERLOGGED)) { + if (state.hasProperty(BlockStateProperties.WATERLOGGED) && state.getValue(BlockStateProperties.WATERLOGGED)) { info.setReturnValue(0); } else { info.setReturnValue(entry.getIgniteOdds()); @@ -68,12 +68,12 @@ private void getFabricBurnChance(BlockState block, CallbackInfoReturnable info) } @Inject(at = @At("HEAD"), method = "getBurnOdds", cancellable = true) - private void getFabricSpreadChance(BlockState block, CallbackInfoReturnable info) { - FlammableBlockRegistry.Entry entry = registry.getFabric(block.getBlock()); + private void getFabricSpreadChance(BlockState state, CallbackInfoReturnable info) { + FlammableBlockRegistry.Entry entry = registry.getFabric(state.getBlock()); if (entry != null) { // TODO: use a (BlockState -> int) with this as the default impl - if (block.hasProperty(BlockStateProperties.WATERLOGGED) && block.getValue(BlockStateProperties.WATERLOGGED)) { + if (state.hasProperty(BlockStateProperties.WATERLOGGED) && state.getValue(BlockStateProperties.WATERLOGGED)) { info.setReturnValue(0); } else { info.setReturnValue(entry.getBurnOdds()); diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FuelValuesMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FuelValuesMixin.java index 904cf93a831..79eb8b1a81c 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FuelValuesMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/FuelValuesMixin.java @@ -49,8 +49,8 @@ public abstract class FuelValuesMixin { ), allow = 1 ) - private static FuelValues.Builder build(FuelValues.Builder builder, TagKey tag, Operation operation, @Local(argsOnly = true, name = "registries") HolderLookup.Provider registries, @Local(argsOnly = true, name = "enabledFeatures") FeatureFlagSet features, @Local(argsOnly = true, name = "baseUnit") int baseSmeltTime) { - final var context = new FuelRegistryEventsContextImpl(registries, features, baseSmeltTime); + private static FuelValues.Builder build(FuelValues.Builder builder, TagKey tag, Operation operation, @Local(argsOnly = true, name = "registries") HolderLookup.Provider registries, @Local(argsOnly = true, name = "enabledFeatures") FeatureFlagSet enabledFeatures, @Local(argsOnly = true, name = "baseUnit") int baseUnit) { + final var context = new FuelRegistryEventsContextImpl(registries, enabledFeatures, baseUnit); FuelValueEvents.BUILD.invoker().build(builder, context); diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java index bcc24cfe36c..76e5d394859 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PathfindingContextMixin.java @@ -36,7 +36,7 @@ @Mixin(PathfindingContext.class) public abstract class PathfindingContextMixin { @Shadow - public abstract BlockState getBlockState(BlockPos blockPos); + public abstract BlockState getBlockState(BlockPos pos); @Shadow public abstract CollisionGetter level(); diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PotionBrewingBuilderMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PotionBrewingBuilderMixin.java index dac630dc876..252b87f0b50 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PotionBrewingBuilderMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/PotionBrewingBuilderMixin.java @@ -42,7 +42,7 @@ public abstract class PotionBrewingBuilderMixin implements FabricPotionBrewingBu private FeatureFlagSet enabledFeatures; @Shadow - private static void expectPotion(Item potionType) { + private static void expectPotion(Item from) { } @Shadow diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/WalkNodeEvaluatorMixin.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/WalkNodeEvaluatorMixin.java index d2a2ea79b55..22cffad9461 100644 --- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/WalkNodeEvaluatorMixin.java +++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/mixin/content/registry/WalkNodeEvaluatorMixin.java @@ -37,8 +37,8 @@ public class WalkNodeEvaluatorMixin { * Overrides the node type for the specified position, if the position is a direct target in a path. */ @Inject(method = "getPathTypeFromState", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockState;getBlock()Lnet/minecraft/world/level/block/Block;"), cancellable = true) - private static void getCommonNodeType(BlockGetter level, BlockPos pos, CallbackInfoReturnable cir, @Local(name = "blockState") BlockState state) { - PathType pathType = LandPathTypeRegistry.getPathType(state, level, pos, false); + private static void getCommonNodeType(BlockGetter level, BlockPos pos, CallbackInfoReturnable cir, @Local(name = "blockState") BlockState blockState) { + PathType pathType = LandPathTypeRegistry.getPathType(blockState, level, pos, false); if (pathType != null) { cir.setReturnValue(pathType); diff --git a/fabric-crash-report-info-v1/src/main/java/net/fabricmc/fabric/mixin/crash/report/info/SystemReportMixin.java b/fabric-crash-report-info-v1/src/main/java/net/fabricmc/fabric/mixin/crash/report/info/SystemReportMixin.java index 06d3217048c..f4e16228588 100644 --- a/fabric-crash-report-info-v1/src/main/java/net/fabricmc/fabric/mixin/crash/report/info/SystemReportMixin.java +++ b/fabric-crash-report-info-v1/src/main/java/net/fabricmc/fabric/mixin/crash/report/info/SystemReportMixin.java @@ -35,7 +35,7 @@ @Mixin(SystemReport.class) public abstract class SystemReportMixin { @Shadow - public abstract void setDetail(String string, Supplier supplier); + public abstract void setDetail(String key, Supplier valueSupplier); @Inject(at = @At("RETURN"), method = "") private void fillSystemDetails(CallbackInfo info) { diff --git a/fabric-creative-tab-api-v1/src/client/java/net/fabricmc/fabric/mixin/creativetab/client/CreativeModeInventoryScreenMixin.java b/fabric-creative-tab-api-v1/src/client/java/net/fabricmc/fabric/mixin/creativetab/client/CreativeModeInventoryScreenMixin.java index 0d4e5e5b737..050473b100b 100644 --- a/fabric-creative-tab-api-v1/src/client/java/net/fabricmc/fabric/mixin/creativetab/client/CreativeModeInventoryScreenMixin.java +++ b/fabric-creative-tab-api-v1/src/client/java/net/fabricmc/fabric/mixin/creativetab/client/CreativeModeInventoryScreenMixin.java @@ -50,7 +50,7 @@ public CreativeModeInventoryScreenMixin(ItemPickerMenu menu, Inventory playerInv } @Shadow - protected abstract void selectTab(CreativeModeTab creativeModeTab_1); + protected abstract void selectTab(CreativeModeTab tab); @Shadow private static CreativeModeTab selectedTab; @@ -83,40 +83,40 @@ private void init(CallbackInfo info) { } @Inject(method = "selectTab", at = @At("HEAD"), cancellable = true) - private void setSelectedTab(CreativeModeTab creativeModeTab, CallbackInfo info) { - if (!isTabVisible(creativeModeTab)) { + private void setSelectedTab(CreativeModeTab tab, CallbackInfo info) { + if (!isTabVisible(tab)) { info.cancel(); } } @Inject(method = "checkTabHovering", at = @At("HEAD"), cancellable = true) - private void renderTabTooltipIfHovered(GuiGraphics graphics, CreativeModeTab creativeModeTab, int mx, int my, CallbackInfoReturnable info) { - if (!isTabVisible(creativeModeTab)) { + private void renderTabTooltipIfHovered(GuiGraphics graphics, CreativeModeTab tab, int xm, int ym, CallbackInfoReturnable info) { + if (!isTabVisible(tab)) { info.setReturnValue(false); } } @Inject(method = "checkTabClicked", at = @At("HEAD"), cancellable = true) - private void isClickInTab(CreativeModeTab creativeModeTab, double mx, double my, CallbackInfoReturnable info) { - if (!isTabVisible(creativeModeTab)) { + private void isClickInTab(CreativeModeTab tab, double xm, double ym, CallbackInfoReturnable info) { + if (!isTabVisible(tab)) { info.setReturnValue(false); } } @Inject(method = "renderTabButton", at = @At("HEAD"), cancellable = true) - private void renderTabIcon(GuiGraphics guiGraphics, int i, int j, CreativeModeTab creativeModeTab, CallbackInfo info) { - if (!isTabVisible(creativeModeTab)) { + private void renderTabIcon(GuiGraphics graphics, int mouseX, int mouseY, CreativeModeTab tab, CallbackInfo info) { + if (!isTabVisible(tab)) { info.cancel(); } } @Inject(method = "keyPressed", at = @At("HEAD"), cancellable = true) - private void keyPressed(KeyEvent context, CallbackInfoReturnable cir) { - if (context.key() == GLFW.GLFW_KEY_PAGE_UP) { + private void keyPressed(KeyEvent event, CallbackInfoReturnable cir) { + if (event.key() == GLFW.GLFW_KEY_PAGE_UP) { if (switchToPreviousPage()) { cir.setReturnValue(true); } - } else if (context.key() == GLFW.GLFW_KEY_PAGE_DOWN) { + } else if (event.key() == GLFW.GLFW_KEY_PAGE_DOWN) { if (switchToNextPage()) { cir.setReturnValue(true); } diff --git a/fabric-creative-tab-api-v1/src/main/java/net/fabricmc/fabric/mixin/creativetab/CreativeModeTabMixin.java b/fabric-creative-tab-api-v1/src/main/java/net/fabricmc/fabric/mixin/creativetab/CreativeModeTabMixin.java index 7016ac1a6fe..18bb4429a4b 100644 --- a/fabric-creative-tab-api-v1/src/main/java/net/fabricmc/fabric/mixin/creativetab/CreativeModeTabMixin.java +++ b/fabric-creative-tab-api-v1/src/main/java/net/fabricmc/fabric/mixin/creativetab/CreativeModeTabMixin.java @@ -53,7 +53,7 @@ abstract class CreativeModeTabMixin implements FabricCreativeModeTabImpl { @SuppressWarnings("ConstantConditions") @Inject(method = "buildContents", at = @At("TAIL")) - public void getStacks(CreativeModeTab.ItemDisplayParameters context, CallbackInfo ci) { + public void getStacks(CreativeModeTab.ItemDisplayParameters parameters, CallbackInfo ci) { final CreativeModeTab self = (CreativeModeTab) (Object) this; final ResourceKey resourceKey = BuiltInRegistries.CREATIVE_MODE_TAB.getResourceKey(self).orElseThrow(() -> new IllegalStateException("Unregistered creative mode tab : " + self)); @@ -69,10 +69,10 @@ public void getStacks(CreativeModeTab.ItemDisplayParameters context, CallbackInf // Convert the entries to lists var mutableDisplayStacks = new LinkedList<>(displayItems); var mutableSearchTabStacks = new LinkedList<>(displayItemsSearchTab); - var entries = new FabricCreativeModeTabOutput(context, mutableDisplayStacks, mutableSearchTabStacks); + var entries = new FabricCreativeModeTabOutput(parameters, mutableDisplayStacks, mutableSearchTabStacks); // Now trigger the events - if (resourceKey != CreativeModeTabs.OP_BLOCKS || context.hasPermissions()) { + if (resourceKey != CreativeModeTabs.OP_BLOCKS || parameters.hasPermissions()) { final Event modifyEntriesEvent = CreativeModeTabEventsImpl.getModifyOutputEvent(resourceKey); if (modifyEntriesEvent != null) { diff --git a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/EntityMixin.java b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/EntityMixin.java index 717860d16eb..907c1923bb8 100644 --- a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/EntityMixin.java +++ b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/EntityMixin.java @@ -50,8 +50,8 @@ abstract class EntityMixin implements AttachmentTargetImpl { at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/Entity;readAdditionalSaveData(Lnet/minecraft/world/level/storage/ValueInput;)V"), method = "load" ) - private void readEntityAttachments(ValueInput data, CallbackInfo ci) { - this.fabric_readAttachmentsFromNbt(data); + private void readEntityAttachments(ValueInput input, CallbackInfo ci) { + this.fabric_readAttachmentsFromNbt(input); } @Inject( diff --git a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/LevelChunkMixin.java b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/LevelChunkMixin.java index 5c43273dd4e..9a0e5e18274 100644 --- a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/LevelChunkMixin.java +++ b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/LevelChunkMixin.java @@ -53,7 +53,7 @@ abstract class LevelChunkMixin extends AttachmentTargetsMixin implements Attachm public abstract Map getBlockEntities(); @Inject(method = "(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/level/chunk/ProtoChunk;Lnet/minecraft/world/level/chunk/LevelChunk$PostLoadProcessor;)V", at = @At("TAIL")) - private void transferProtoChunkAttachment(ServerLevel level, ProtoChunk protoChunk, LevelChunk.PostLoadProcessor entityLoader, CallbackInfo ci) { + private void transferProtoChunkAttachment(ServerLevel level, ProtoChunk protoChunk, LevelChunk.PostLoadProcessor postLoad, CallbackInfo ci) { AttachmentTargetImpl.transfer(protoChunk, this, false); } diff --git a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/PlayerChunkSenderMixin.java b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/PlayerChunkSenderMixin.java index 17a23f918d6..4b33536f3fe 100644 --- a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/PlayerChunkSenderMixin.java +++ b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/PlayerChunkSenderMixin.java @@ -42,8 +42,8 @@ abstract class PlayerChunkSenderMixin { target = "Lnet/minecraft/server/network/PlayerChunkSender;sendChunk(Lnet/minecraft/server/network/ServerGamePacketListenerImpl;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/level/chunk/LevelChunk;)V" ) ) - private void sendInitialAttachmentData(ServerGamePacketListenerImpl handler, ServerLevel level, LevelChunk chunk, Operation original, ServerPlayer player) { - original.call(handler, level, chunk); + private void sendInitialAttachmentData(ServerGamePacketListenerImpl connection, ServerLevel level, LevelChunk chunk, Operation original, ServerPlayer player) { + original.call(connection, level, chunk); // do a wrap operation so this packet is sent *after* the chunk ones List changes = new ArrayList<>(); ((AttachmentTargetImpl) chunk).fabric_computeInitialSyncChanges(player, changes::add); diff --git a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/SerializableChunkDataMixin.java b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/SerializableChunkDataMixin.java index 24187b5bbf1..86fa57193c7 100644 --- a/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/SerializableChunkDataMixin.java +++ b/fabric-data-attachment-api-v1/src/main/java/net/fabricmc/fabric/mixin/attachment/SerializableChunkDataMixin.java @@ -56,7 +56,7 @@ abstract class SerializableChunkDataMixin { private CompoundTag attachmentNbtData; @Inject(method = "parse", at = @At("RETURN")) - private static void storeAttachmentNbtData(LevelHeightAccessor heightLimitView, PalettedContainerFactory arg, CompoundTag chunkData, CallbackInfoReturnable cir, @Share("attachmentDataNbt") LocalRef attachmentDataNbt) { + private static void storeAttachmentNbtData(LevelHeightAccessor levelHeight, PalettedContainerFactory containerFactory, CompoundTag chunkData, CallbackInfoReturnable cir, @Share("attachmentDataNbt") LocalRef attachmentDataNbt) { final SerializableChunkData serializer = cir.getReturnValue(); if (serializer == null) { @@ -72,7 +72,7 @@ private static void storeAttachmentNbtData(LevelHeightAccessor heightLimitView, } @Inject(method = "read", at = @At("RETURN")) - private void setAttachmentDataInChunk(ServerLevel serverLevel, PoiManager pointOfInterestStorage, RegionStorageInfo storageKey, ChunkPos chunkPos, CallbackInfoReturnable cir) { + private void setAttachmentDataInChunk(ServerLevel level, PoiManager poiManager, RegionStorageInfo regionInfo, ChunkPos pos, CallbackInfoReturnable cir) { ProtoChunk chunk = cir.getReturnValue(); if (chunk != null && attachmentNbtData != null) { @@ -80,7 +80,7 @@ private void setAttachmentDataInChunk(ServerLevel serverLevel, PoiManager pointO attachmentNbtData.put(AttachmentTarget.NBT_ATTACHMENT_KEY, this.attachmentNbtData); try (ProblemReporter.ScopedCollector reporter = new ProblemReporter.ScopedCollector(LOGGER)) { - ValueInput input = TagValueInput.create(reporter, serverLevel.registryAccess(), attachmentNbtData); + ValueInput input = TagValueInput.create(reporter, level.registryAccess(), attachmentNbtData); ((AttachmentTargetImpl) chunk).fabric_readAttachmentsFromNbt(input); } } diff --git a/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java b/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java index d2183c5966c..86affc79b77 100644 --- a/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java +++ b/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java @@ -72,11 +72,11 @@ private void registerItemModels(ItemModelGenerators instance, Operation or } @Inject(method = "run", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/data/models/BlockModelGenerators;run()V")) - private void setFabricPackOutput(CachedOutput output, CallbackInfoReturnable> cir, - @Local(name = "blockStateGenerators") ModelProvider.BlockStateGeneratorCollector blockStateGeneratorCollector, - @Local(name = "itemModels") ModelProvider.ItemInfoCollector itemInfoCollectors) { - ((FabricModelProviderDefinitions) blockStateGeneratorCollector).setFabricPackOutput(fabricPackOutput); - ((FabricModelProviderDefinitions) itemInfoCollectors).setFabricPackOutput(fabricPackOutput); - ((FabricItemAssetDefinitions) itemInfoCollectors).fabric_setProcessedBlocks(blockStateGeneratorCollector.generators.keySet()); + private void setFabricPackOutput(CachedOutput cache, CallbackInfoReturnable> cir, + @Local(name = "blockStateGenerators") ModelProvider.BlockStateGeneratorCollector blockStateGenerators, + @Local(name = "itemModels") ModelProvider.ItemInfoCollector itemModels) { + ((FabricModelProviderDefinitions) blockStateGenerators).setFabricPackOutput(fabricPackOutput); + ((FabricModelProviderDefinitions) itemModels).setFabricPackOutput(fabricPackOutput); + ((FabricItemAssetDefinitions) itemModels).fabric_setProcessedBlocks(blockStateGenerators.generators.keySet()); } } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/DataProviderMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/DataProviderMixin.java index ee4ccf73c01..120ceeb5223 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/DataProviderMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/DataProviderMixin.java @@ -33,8 +33,8 @@ public interface DataProviderMixin { * Adjust the default sort order of some keys provided by Fabric API. */ @Inject(method = "lambda$static$0", at = @At("RETURN")) - private static void addFabricKeySortOrders(Object2IntOpenHashMap map, CallbackInfo ci) { - map.put(ResourceConditions.CONDITIONS_KEY, -100); // always at the beginning - map.put(CustomIngredientImpl.TYPE_KEY, 0); // mimic vanilla "type" + private static void addFabricKeySortOrders(Object2IntOpenHashMap m, CallbackInfo ci) { + m.put(ResourceConditions.CONDITIONS_KEY, -100); // always at the beginning + m.put(CustomIngredientImpl.TYPE_KEY, 0); // mimic vanilla "type" } } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/TagsProviderMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/TagsProviderMixin.java index 47e9ae0e7c8..bd0ce2f1d74 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/TagsProviderMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/TagsProviderMixin.java @@ -53,13 +53,13 @@ public class TagsProviderMixin { private PackOutput.PathProvider tagAliasPathResolver; @Inject(method = "(Lnet/minecraft/data/PackOutput;Lnet/minecraft/resources/ResourceKey;Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;)V", at = @At("RETURN")) - private void initPathResolver(PackOutput output, ResourceKey> registryRef, CompletableFuture registriesFuture, CompletableFuture parentTagLookupFuture, CallbackInfo info) { - tagAliasPathResolver = output.createPathProvider(PackOutput.Target.DATA_PACK, TagAliasGenerator.getDirectory(registryRef)); + private void initPathResolver(PackOutput output, ResourceKey> registryKey, CompletableFuture lookupProvider, CompletableFuture parentProvider, CallbackInfo info) { + tagAliasPathResolver = output.createPathProvider(PackOutput.Target.DATA_PACK, TagAliasGenerator.getDirectory(registryKey)); } @ModifyArg(method = "lambda$run$5", at = @At(value = "INVOKE", target = "Lnet/minecraft/tags/TagFile;(Ljava/util/List;Z)V"), index = 1) - private boolean addReplaced(boolean replaced, @Local(name = "builder") TagBuilder tagBuilder) { - if (tagBuilder instanceof FabricTagBuilder fabricTagBuilder) { + private boolean addReplaced(boolean replaced, @Local(name = "builder") TagBuilder builder) { + if (builder instanceof FabricTagBuilder fabricTagBuilder) { return fabricTagBuilder.fabric_isReplaced(); } @@ -68,20 +68,20 @@ private boolean addReplaced(boolean replaced, @Local(name = "builder") TagBuilde @SuppressWarnings("unchecked") @WrapOperation(method = "lambda$run$2", at = @At(value = "INVOKE", target = "Ljava/util/concurrent/CompletableFuture;allOf([Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;")) - private CompletableFuture addTagAliasGroupBuilders(CompletableFuture[] futures, Operation> original, @Local(argsOnly = true, name = "cache") CachedOutput writer) { + private CompletableFuture addTagAliasGroupBuilders(CompletableFuture[] cfs, Operation> original, @Local(argsOnly = true, name = "cache") CachedOutput cache) { if ((Object) this instanceof FabricTagsProvider) { // Note: no pattern matching instanceof so that we can cast directly to FabricTagsProvider instead of a wildcard Map.AliasGroupBuilder> builders = ((FabricTagsProvider) (Object) this).getAliasGroupBuilders(); - CompletableFuture[] newFutures = Arrays.copyOf(futures, futures.length + builders.size()); - int index = futures.length; + CompletableFuture[] newFutures = Arrays.copyOf(cfs, cfs.length + builders.size()); + int index = cfs.length; for (Map.Entry.AliasGroupBuilder> entry : builders.entrySet()) { - newFutures[index++] = TagAliasGenerator.writeTagAlias(writer, tagAliasPathResolver, registryKey, entry.getKey(), entry.getValue().getTags()); + newFutures[index++] = TagAliasGenerator.writeTagAlias(cache, tagAliasPathResolver, registryKey, entry.getKey(), entry.getValue().getTags()); } return original.call((Object) newFutures); } else { - return original.call((Object) futures); + return original.call((Object) cfs); } } } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/AllCraftingRecipeJsonBuildersMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/AllCraftingRecipeJsonBuildersMixin.java index e1e03e49ba0..8f22531a91c 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/AllCraftingRecipeJsonBuildersMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/AllCraftingRecipeJsonBuildersMixin.java @@ -38,7 +38,7 @@ }) abstract class AllCraftingRecipeJsonBuildersMixin { @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true, name = "id") - private ResourceKey> modifyRecipeKey(ResourceKey> recipeKey, RecipeOutput output) { - return ResourceKey.create(recipeKey.registryKey(), output.getRecipeIdentifier(recipeKey.identifier())); + private ResourceKey> modifyRecipeKey(ResourceKey> id, RecipeOutput output) { + return ResourceKey.create(id.registryKey(), output.getRecipeIdentifier(id.identifier())); } } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTransformRecipeBuilderMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTransformRecipeBuilderMixin.java index 6b858ea8b90..13ac6dc4719 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTransformRecipeBuilderMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTransformRecipeBuilderMixin.java @@ -28,7 +28,7 @@ @Mixin(SmithingTransformRecipeBuilder.class) abstract class SmithingTransformRecipeBuilderMixin { @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true, name = "id") - private ResourceKey> modifyRecipeKey(ResourceKey> recipeKey, RecipeOutput output) { - return ResourceKey.create(recipeKey.registryKey(), output.getRecipeIdentifier(recipeKey.identifier())); + private ResourceKey> modifyRecipeKey(ResourceKey> id, RecipeOutput output) { + return ResourceKey.create(id.registryKey(), output.getRecipeIdentifier(id.identifier())); } } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTrimRecipeBuilderMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTrimRecipeBuilderMixin.java index 78f66ae356a..4830fbe9942 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTrimRecipeBuilderMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SmithingTrimRecipeBuilderMixin.java @@ -28,7 +28,7 @@ @Mixin(SmithingTrimRecipeBuilder.class) abstract class SmithingTrimRecipeBuilderMixin { @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true, name = "id") - private ResourceKey> modifyRecipeKey(ResourceKey> recipeKey, RecipeOutput output) { - return ResourceKey.create(recipeKey.registryKey(), output.getRecipeIdentifier(recipeKey.identifier())); + private ResourceKey> modifyRecipeKey(ResourceKey> id, RecipeOutput output) { + return ResourceKey.create(id.registryKey(), output.getRecipeIdentifier(id.identifier())); } } diff --git a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SpecialRecipeBuilderMixin.java b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SpecialRecipeBuilderMixin.java index c1976711aa2..2009425dfc2 100644 --- a/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SpecialRecipeBuilderMixin.java +++ b/fabric-data-generation-api-v1/src/main/java/net/fabricmc/fabric/mixin/datagen/recipe/SpecialRecipeBuilderMixin.java @@ -28,7 +28,7 @@ @Mixin(SpecialRecipeBuilder.class) abstract class SpecialRecipeBuilderMixin { @ModifyVariable(method = "save(Lnet/minecraft/data/recipes/RecipeOutput;Lnet/minecraft/resources/ResourceKey;)V", at = @At("HEAD"), argsOnly = true, name = "id") - private ResourceKey> modifyRecipeKey(ResourceKey> recipeKey, RecipeOutput output) { - return ResourceKey.create(recipeKey.registryKey(), output.getRecipeIdentifier(recipeKey.identifier())); + private ResourceKey> modifyRecipeKey(ResourceKey> id, RecipeOutput output) { + return ResourceKey.create(id.registryKey(), output.getRecipeIdentifier(id.identifier())); } } diff --git a/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/mixin/dimension/TaggedChoiceTaggedChoiceTypeMixin.java b/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/mixin/dimension/TaggedChoiceTaggedChoiceTypeMixin.java index dce0ccf25e1..b495a0796db 100644 --- a/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/mixin/dimension/TaggedChoiceTaggedChoiceTypeMixin.java +++ b/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/mixin/dimension/TaggedChoiceTaggedChoiceTypeMixin.java @@ -54,10 +54,10 @@ public class TaggedChoiceTaggedChoiceTypeMixin implements TaggedChoiceTypeExt @Inject( method = "getMapCodec", at = @At("HEAD"), cancellable = true ) - private void onGetCodec(K k, CallbackInfoReturnable>> cir) { + private void onGetCodec(K key, CallbackInfoReturnable>> cir) { if (failSoft) { - if (!types.containsKey(k)) { - LOGGER.warn("Not recognizing key {}. Using pass-through codec. {}", k, this); + if (!types.containsKey(key)) { + LOGGER.warn("Not recognizing key {}. Using pass-through codec. {}", key, this); cir.setReturnValue(DataResult.success(MapCodec.assumeMapUnsafe(Codec.PASSTHROUGH))); } } diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/EntityMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/EntityMixin.java index 8060b9a788a..28e465e6683 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/EntityMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/EntityMixin.java @@ -35,9 +35,9 @@ abstract class EntityMixin { private Level level; @WrapOperation(method = "teleport", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/Entity;teleportCrossDimension(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/level/portal/TeleportTransition;)Lnet/minecraft/world/entity/Entity;")) - private Entity afterDimensionChanged(Entity instance, ServerLevel sourceLevel, ServerLevel targetWorld, TeleportTransition teleportTransition, Operation original) { + private Entity afterDimensionChanged(Entity instance, ServerLevel oldLevel, ServerLevel newLevel, TeleportTransition transition, Operation original) { // Ret will only have an entity if the teleport worked (entity not removed, teleportTarget was valid, entity was successfully created) - Entity ret = original.call(instance, sourceLevel, targetWorld, teleportTransition); + Entity ret = original.call(instance, oldLevel, newLevel, transition); if (ret != null) { ServerEntityLevelChangeEvents.AFTER_ENTITY_CHANGE_LEVEL.invoker().afterChangeLevel((Entity) (Object) this, ret, (ServerLevel) this.level, (ServerLevel) ret.level()); diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java index 15332620cac..1d2c520fdfc 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/LivingEntityMixin.java @@ -63,9 +63,9 @@ abstract class LivingEntityMixin { public abstract Optional getSleepingPos(); @WrapOperation(method = "die", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/Entity;killedEntity(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/damagesource/DamageSource;)Z")) - private boolean onEntityKilledOther(Entity entity, ServerLevel serverLevel, @Nullable LivingEntity attacker, DamageSource damageSource, Operation original) { - boolean result = original.call(entity, serverLevel, attacker, damageSource); - ServerEntityCombatEvents.AFTER_KILLED_OTHER_ENTITY.invoker().afterKilledOtherEntity(serverLevel, entity, attacker, damageSource); + private boolean onEntityKilledOther(Entity sourceEntity, ServerLevel level, @Nullable LivingEntity entity, DamageSource source, Operation original) { + boolean result = original.call(sourceEntity, level, entity, source); + ServerEntityCombatEvents.AFTER_KILLED_OTHER_ENTITY.invoker().afterKilledOtherEntity(level, sourceEntity, entity, source); return result; } @@ -75,27 +75,27 @@ private void notifyDeath(DamageSource source, CallbackInfo ci) { } @Redirect(method = "hurtServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;isDeadOrDying()Z", ordinal = 1)) - boolean beforeEntityKilled(LivingEntity livingEntity, ServerLevel level, DamageSource source, float amount) { - return isDeadOrDying() && ServerLivingEntityEvents.ALLOW_DEATH.invoker().allowDeath(livingEntity, source, amount); + boolean beforeEntityKilled(LivingEntity livingEntity, ServerLevel level, DamageSource source, float damage) { + return isDeadOrDying() && ServerLivingEntityEvents.ALLOW_DEATH.invoker().allowDeath(livingEntity, source, damage); } @Inject(method = "hurtServer", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;isSleeping()Z"), cancellable = true) - private void beforeDamage(ServerLevel level, DamageSource source, float amount, CallbackInfoReturnable cir) { - if (!ServerLivingEntityEvents.ALLOW_DAMAGE.invoker().allowDamage((LivingEntity) (Object) this, source, amount)) { + private void beforeDamage(ServerLevel level, DamageSource source, float damage, CallbackInfoReturnable cir) { + if (!ServerLivingEntityEvents.ALLOW_DAMAGE.invoker().allowDamage((LivingEntity) (Object) this, source, damage)) { cir.setReturnValue(false); } } @Inject(method = "hurtServer", at = @At("TAIL")) - private void afterDamage(ServerLevel level, DamageSource source, float amount, CallbackInfoReturnable cir, @Local(name = "originalDamage") float dealt, @Local(name = "blocked") boolean blocked) { + private void afterDamage(ServerLevel level, DamageSource source, float damage, CallbackInfoReturnable cir, @Local(name = "originalDamage") float originalDamage, @Local(name = "blocked") boolean blocked) { if (!isDeadOrDying()) { - ServerLivingEntityEvents.AFTER_DAMAGE.invoker().afterDamage((LivingEntity) (Object) this, source, dealt, amount, blocked); + ServerLivingEntityEvents.AFTER_DAMAGE.invoker().afterDamage((LivingEntity) (Object) this, source, originalDamage, damage, blocked); } } @Inject(method = "startSleeping", at = @At("RETURN")) - private void onSleep(BlockPos pos, CallbackInfo info) { - EntitySleepEvents.START_SLEEPING.invoker().onStartSleeping((LivingEntity) (Object) this, pos); + private void onSleep(BlockPos bedPosition, CallbackInfo info) { + EntitySleepEvents.START_SLEEPING.invoker().onStartSleeping((LivingEntity) (Object) this, bedPosition); } @Inject(method = "stopSleeping", at = @At("HEAD")) @@ -110,9 +110,9 @@ private void onWakeUp(CallbackInfo info) { @Dynamic("lambda$checkBedExists$0: Synthetic lambda body for Optional.map in checkBedExists") @Inject(method = "lambda$checkBedExists$0", at = @At("RETURN"), cancellable = true) - private void onIsSleepingInBed(BlockPos sleepingPos, CallbackInfoReturnable info) { - BlockState bedState = ((LivingEntity) (Object) this).level().getBlockState(sleepingPos); - InteractionResult result = EntitySleepEvents.ALLOW_BED.invoker().allowBed((LivingEntity) (Object) this, sleepingPos, bedState, info.getReturnValueZ()); + private void onIsSleepingInBed(BlockPos bedPosition, CallbackInfoReturnable info) { + BlockState bedState = ((LivingEntity) (Object) this).level().getBlockState(bedPosition); + InteractionResult result = EntitySleepEvents.ALLOW_BED.invoker().allowBed((LivingEntity) (Object) this, bedPosition, bedState, info.getReturnValueZ()); if (result != InteractionResult.PASS) { info.setReturnValue(result.consumesAction()); @@ -120,9 +120,9 @@ private void onIsSleepingInBed(BlockPos sleepingPos, CallbackInfoReturnable operation) { - final Direction sleepingDirection = operation.call(level, sleepingPos); - return EntitySleepEvents.MODIFY_SLEEPING_DIRECTION.invoker().modifySleepDirection((LivingEntity) (Object) this, sleepingPos, sleepingDirection); + private Direction onGetSleepingDirection(BlockGetter level, BlockPos pos, Operation operation) { + final Direction sleepingDirection = operation.call(level, pos); + return EntitySleepEvents.MODIFY_SLEEPING_DIRECTION.invoker().modifySleepDirection((LivingEntity) (Object) this, pos, sleepingDirection); } // This is needed 1) so that the vanilla logic in wakeUp runs for modded beds and 2) for the injector below. @@ -131,8 +131,8 @@ private Direction onGetSleepingDirection(BlockGetter level, BlockPos sleepingPos @Expression("? = ?.getBlockState(?)") @Dynamic("lambda$stopSleeping$0: Synthetic lambda body for Optional.ifPresent in stopSleeping") @ModifyVariable(method = {"lambda$stopSleeping$0", "startSleeping"}, at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER)) - private BlockState modifyBedForOccupiedState(BlockState state, BlockPos sleepingPos) { - InteractionResult result = EntitySleepEvents.ALLOW_BED.invoker().allowBed((LivingEntity) (Object) this, sleepingPos, state, state.getBlock() instanceof BedBlock); + private BlockState modifyBedForOccupiedState(BlockState state, BlockPos bedPosition) { + InteractionResult result = EntitySleepEvents.ALLOW_BED.invoker().allowBed((LivingEntity) (Object) this, bedPosition, state, state.getBlock() instanceof BedBlock); // If a valid bed, replace with vanilla red bed so that the vanilla instanceof check succeeds. return result.consumesAction() ? Blocks.RED_BED.defaultBlockState() : state; @@ -141,19 +141,19 @@ private BlockState modifyBedForOccupiedState(BlockState state, BlockPos sleeping // The injector is shared because lambda$stopSleeping$23 and sleep share much of the structure here. @Dynamic("lambda$stopSleeping$0: Synthetic lambda body for Optional.ifPresent in stopSleeping") @Redirect(method = {"lambda$stopSleeping$0", "startSleeping"}, at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/Level;setBlock(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z")) - private boolean setOccupiedState(Level level, BlockPos pos, BlockState state, int flags) { + private boolean setOccupiedState(Level level, BlockPos pos, BlockState blockState, int updateFlags) { // This might have been replaced by a red bed above, so we get it again. // Note that we *need* to replace it so the state.with(OCCUPIED, ...) call doesn't crash // when the bed doesn't have the property. BlockState originalState = level.getBlockState(pos); - boolean occupied = state.getValue(BedBlock.OCCUPIED); + boolean occupied = blockState.getValue(BedBlock.OCCUPIED); if (EntitySleepEvents.SET_BED_OCCUPATION_STATE.invoker().setBedOccupationState((LivingEntity) (Object) this, pos, originalState, occupied)) { return true; } else if (originalState.hasProperty(BedBlock.OCCUPIED)) { // This check is widened from (instanceof BedBlock) to a property check to allow modded blocks // that don't use the event. - return level.setBlock(pos, originalState.setValue(BedBlock.OCCUPIED, occupied), flags); + return level.setBlock(pos, originalState.setValue(BedBlock.OCCUPIED, occupied), updateFlags); } else { return false; } @@ -161,12 +161,12 @@ private boolean setOccupiedState(Level level, BlockPos pos, BlockState state, in @Dynamic("lambda$stopSleeping$0: Synthetic lambda body for Optional.ifPresent in stopSleeping") @Redirect(method = "lambda$stopSleeping$0", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/BedBlock;findStandUpPosition(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/CollisionGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;F)Ljava/util/Optional;")) - private Optional modifyWakeUpPosition(EntityType type, CollisionGetter level, BlockPos pos, Direction direction, float yaw) { + private Optional modifyWakeUpPosition(EntityType type, CollisionGetter level, BlockPos pos, Direction forward, float yaw) { Optional original = Optional.empty(); BlockState bedState = level.getBlockState(pos); if (bedState.getBlock() instanceof BedBlock) { - original = BedBlock.findStandUpPosition(type, level, pos, direction, yaw); + original = BedBlock.findStandUpPosition(type, level, pos, forward, yaw); } Vec3 newPos = EntitySleepEvents.MODIFY_WAKE_UP_POSITION.invoker().modifyWakeUpPosition((LivingEntity) (Object) this, pos, bedState, original.orElse(null)); diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/MobMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/MobMixin.java index 976afe76ab2..36ce543b34c 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/MobMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/MobMixin.java @@ -30,8 +30,8 @@ @Mixin(Mob.class) public class MobMixin { @ModifyArg(method = "convertTo(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/entity/ConversionParams;Lnet/minecraft/world/entity/EntitySpawnReason;Lnet/minecraft/world/entity/ConversionParams$AfterConversion;)Lnet/minecraft/world/entity/Mob;", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ServerLevel;addFreshEntity(Lnet/minecraft/world/entity/Entity;)Z")) - private Entity afterEntityConverted(Entity converted, @Local(argsOnly = true, name = "params") ConversionParams conversionContext) { - ServerLivingEntityEvents.MOB_CONVERSION.invoker().onConversion((Mob) (Object) this, (Mob) converted, conversionContext); + private Entity afterEntityConverted(Entity converted, @Local(argsOnly = true, name = "params") ConversionParams params) { + ServerLivingEntityEvents.MOB_CONVERSION.invoker().onConversion((Mob) (Object) this, (Mob) converted, params); return converted; } } diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/PlayerListMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/PlayerListMixin.java index 4d558e03a2d..eb19da74164 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/PlayerListMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/PlayerListMixin.java @@ -34,17 +34,17 @@ @Mixin(PlayerList.class) abstract class PlayerListMixin { @Inject(method = "respawn", at = @At("TAIL")) - private void afterRespawn(ServerPlayer oldPlayer, boolean alive, Entity.RemovalReason removalReason, CallbackInfoReturnable cir) { + private void afterRespawn(ServerPlayer serverPlayer, boolean keepAllPlayerData, Entity.RemovalReason removalReason, CallbackInfoReturnable cir) { ServerPlayer newPlayer = cir.getReturnValue(); - ServerPlayerEvents.AFTER_RESPAWN.invoker().afterRespawn(oldPlayer, newPlayer, alive); + ServerPlayerEvents.AFTER_RESPAWN.invoker().afterRespawn(serverPlayer, newPlayer, keepAllPlayerData); - if (oldPlayer.level() != newPlayer.level()) { - ServerEntityLevelChangeEvents.AFTER_PLAYER_CHANGE_LEVEL.invoker().afterChangeLevel(newPlayer, oldPlayer.level(), newPlayer.level()); + if (serverPlayer.level() != newPlayer.level()) { + ServerEntityLevelChangeEvents.AFTER_PLAYER_CHANGE_LEVEL.invoker().afterChangeLevel(newPlayer, serverPlayer.level(), newPlayer.level()); } } @Inject(method = "placeNewPlayer", at = @At("RETURN")) - private void firePlayerJoinEvent(Connection connection, ServerPlayer player, CommonListenerCookie clientData, CallbackInfo ci) { + private void firePlayerJoinEvent(Connection connection, ServerPlayer player, CommonListenerCookie cookie, CallbackInfo ci) { ServerPlayerEvents.JOIN.invoker().onJoin(player); } diff --git a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/ServerPlayerMixin.java b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/ServerPlayerMixin.java index 8d82f829250..ab417c4ea4c 100644 --- a/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/ServerPlayerMixin.java +++ b/fabric-entity-events-v1/src/main/java/net/fabricmc/fabric/mixin/entity/event/ServerPlayerMixin.java @@ -80,13 +80,13 @@ private void notifyDeath(DamageSource source, CallbackInfo ci) { * This is called by {@code teleportTo}. */ @Inject(method = "triggerDimensionChangeTriggers(Lnet/minecraft/server/level/ServerLevel;)V", at = @At("TAIL")) - private void afterLevelChanged(ServerLevel origin, CallbackInfo ci) { - ServerEntityLevelChangeEvents.AFTER_PLAYER_CHANGE_LEVEL.invoker().afterChangeLevel((ServerPlayer) (Object) this, origin, this.level()); + private void afterLevelChanged(ServerLevel oldLevel, CallbackInfo ci) { + ServerEntityLevelChangeEvents.AFTER_PLAYER_CHANGE_LEVEL.invoker().afterChangeLevel((ServerPlayer) (Object) this, oldLevel, this.level()); } @Inject(method = "restoreFrom", at = @At("TAIL")) - private void onCopyFrom(ServerPlayer oldPlayer, boolean alive, CallbackInfo ci) { - ServerPlayerEvents.COPY_FROM.invoker().copyFromPlayer(oldPlayer, (ServerPlayer) (Object) this, alive); + private void onCopyFrom(ServerPlayer oldPlayer, boolean restoreAll, CallbackInfo ci) { + ServerPlayerEvents.COPY_FROM.invoker().copyFromPlayer(oldPlayer, (ServerPlayer) (Object) this, restoreAll); } @WrapOperation(method = "startSleepInBed", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockState;getValue(Lnet/minecraft/world/level/block/state/properties/Property;)Ljava/lang/Comparable;")) @@ -102,9 +102,9 @@ private Comparable redirectSleepDirection(BlockState instance, Property original) { - if (EntitySleepEvents.ALLOW_SETTING_SPAWN.invoker().allowSettingSpawn(player, spawnPoint.respawnData().pos())) { - original.call(player, spawnPoint, sendMessage); + private void onSetSpawnPoint(ServerPlayer player, ServerPlayer.RespawnConfig respawnConfig, boolean showMessage, Operation original) { + if (EntitySleepEvents.ALLOW_SETTING_SPAWN.invoker().allowSettingSpawn(player, respawnConfig.respawnData().pos())) { + original.call(player, respawnConfig, showMessage); } } diff --git a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java index c32ad873450..ff78a92873c 100644 --- a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java +++ b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MinecraftMixin.java @@ -74,12 +74,12 @@ public abstract class MinecraftMixin { method = "startUseItem", cancellable = true ) - private void injectUseEntityCallback(CallbackInfo ci, @Local(name = "hand") InteractionHand hand, @Local(name = "entityHit") EntityHitResult hitResult, @Local(name = "entity") Entity entity) { - InteractionResult result = UseEntityCallback.EVENT.invoker().interact(player, player.level(), hand, entity, hitResult); + private void injectUseEntityCallback(CallbackInfo ci, @Local(name = "hand") InteractionHand hand, @Local(name = "entityHit") EntityHitResult entityHit, @Local(name = "entity") Entity entity) { + InteractionResult result = UseEntityCallback.EVENT.invoker().interact(player, player.level(), hand, entity, entityHit); if (result != InteractionResult.PASS) { if (result.consumesAction()) { - Vec3 hitVec = hitResult.getLocation().subtract(entity.getX(), entity.getY(), entity.getZ()); + Vec3 hitVec = entityHit.getLocation().subtract(entity.getX(), entity.getY(), entity.getZ()); getConnection().send(ServerboundInteractPacket.createInteractionPacket(entity, player.isShiftKeyDown(), hand, hitVec)); } @@ -121,7 +121,7 @@ private void injectDoAttackForCancelling(CallbackInfoReturnable cir) { } @Inject(method = "continueAttack", at = @At("HEAD"), cancellable = true) - private void injectHandleBlockBreakingForCancelling(boolean breaking, CallbackInfo ci) { + private void injectHandleBlockBreakingForCancelling(boolean down, CallbackInfo ci) { if (attackCancelled) { if (gameMode != null) { gameMode.stopDestroyBlock(); diff --git a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MultiPlayerGameModeMixin.java b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MultiPlayerGameModeMixin.java index f521fd3bf6d..a214672e0a5 100644 --- a/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MultiPlayerGameModeMixin.java +++ b/fabric-events-interaction-v0/src/client/java/net/fabricmc/fabric/mixin/event/interaction/client/MultiPlayerGameModeMixin.java @@ -61,7 +61,7 @@ public abstract class MultiPlayerGameModeMixin { private ClientPacketListener connection; @Shadow - protected abstract void startPrediction(ClientLevel clientLevel, PredictiveAction predictiveAction); + protected abstract void startPrediction(ClientLevel level, PredictiveAction predictiveAction); @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/player/LocalPlayer;getAbilities()Lnet/minecraft/world/entity/player/Abilities;", ordinal = 0), method = "startDestroyBlock", cancellable = true) public void attackBlock(BlockPos pos, Direction direction, CallbackInfoReturnable info) { @@ -91,23 +91,23 @@ private void fabric_fireAttackBlockCallback(BlockPos pos, Direction direction, C } @Inject(method = "destroyBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/Block;destroy(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V")) - private void fabric$onBlockBroken(BlockPos pos, CallbackInfoReturnable cir, @Local(name = "oldState") BlockState blockState) { - ClientPlayerBlockBreakEvents.AFTER.invoker().afterBlockBreak(minecraft.level, minecraft.player, pos, blockState); + private void fabric$onBlockBroken(BlockPos pos, CallbackInfoReturnable cir, @Local(name = "oldState") BlockState oldState) { + ClientPlayerBlockBreakEvents.AFTER.invoker().afterBlockBreak(minecraft.level, minecraft.player, pos, oldState); } @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/multiplayer/MultiPlayerGameMode;startPrediction(Lnet/minecraft/client/multiplayer/ClientLevel;Lnet/minecraft/client/multiplayer/prediction/PredictiveAction;)V"), method = "useItemOn", cancellable = true) - public void interactBlock(LocalPlayer player, InteractionHand hand, BlockHitResult blockHitResult, CallbackInfoReturnable info) { + public void interactBlock(LocalPlayer player, InteractionHand hand, BlockHitResult blockHit, CallbackInfoReturnable info) { // hook interactBlock between the world border check and the actual block interaction to invoke the use block event first // this needs to be in interactBlock to avoid sending a packet in line with the event javadoc if (player.isSpectator()) return; // vanilla spectator check happens later, repeat it before the event to avoid false invocations - InteractionResult result = UseBlockCallback.EVENT.invoker().interact(player, player.level(), hand, blockHitResult); + InteractionResult result = UseBlockCallback.EVENT.invoker().interact(player, player.level(), hand, blockHit); if (result != InteractionResult.PASS) { if (result.consumesAction()) { // send interaction packet to the server with a new sequentially assigned id - startPrediction((ClientLevel) player.level(), id -> new ServerboundUseItemOnPacket(hand, blockHitResult, id)); + startPrediction((ClientLevel) player.level(), id -> new ServerboundUseItemOnPacket(hand, blockHit, id)); } info.setReturnValue(result); diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/PlayerAdvancementsMixin.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/PlayerAdvancementsMixin.java index 5dfff906910..aa984487a5f 100644 --- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/PlayerAdvancementsMixin.java +++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/PlayerAdvancementsMixin.java @@ -35,15 +35,15 @@ public class PlayerAdvancementsMixin { private ServerPlayer player; @Inject(method = "setPlayer", at = @At("HEAD"), cancellable = true) - void preventOwnerOverride(ServerPlayer newOwner, CallbackInfo ci) { - if (newOwner instanceof FakePlayer) { + void preventOwnerOverride(ServerPlayer player, CallbackInfo ci) { + if (player instanceof FakePlayer) { // Prevent fake players with the same UUID as a real player from stealing the real player's advancement tracker. ci.cancel(); } } @Inject(method = "award", at = @At("HEAD"), cancellable = true) - void preventGrantCriterion(AdvancementHolder advancement, String criterionName, CallbackInfoReturnable ci) { + void preventGrantCriterion(AdvancementHolder holder, String criterion, CallbackInfoReturnable ci) { if (player instanceof FakePlayer) { // Prevent granting advancements to fake players. ci.setReturnValue(false); diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java index 04c22660de4..9ee3d1cebab 100644 --- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java +++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerImplMixin.java @@ -41,7 +41,7 @@ public abstract class ServerGamePacketListenerImplMixin { public ServerPlayer player; @Shadow - private void tryPickItem(ItemStack stack) { + private void tryPickItem(ItemStack itemStack) { throw new AssertionError(); } diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerInteractEntityHandlerMixin.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerInteractEntityHandlerMixin.java index fb7d21cf3a0..33c6c80868d 100644 --- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerInteractEntityHandlerMixin.java +++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerGamePacketListenerInteractEntityHandlerMixin.java @@ -46,11 +46,11 @@ public abstract class ServerGamePacketListenerInteractEntityHandlerMixin impleme Entity val$target; @Inject(method = "onInteraction(Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/phys/Vec3;)V", at = @At(value = "HEAD"), cancellable = true) - public void onPlayerInteractEntity(InteractionHand hand, Vec3 hitPosition, CallbackInfo info) { + public void onPlayerInteractEntity(InteractionHand hand, Vec3 location, CallbackInfo info) { Player player = this.this$0.player; Level level = player.level(); - EntityHitResult hitResult = new EntityHitResult(val$target, hitPosition.add(val$target.getX(), val$target.getY(), val$target.getZ())); + EntityHitResult hitResult = new EntityHitResult(val$target, location.add(val$target.getX(), val$target.getY(), val$target.getZ())); InteractionResult result = UseEntityCallback.EVENT.invoker().interact(player, level, hand, val$target, hitResult); if (result != InteractionResult.PASS) { diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerGameModeMixin.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerGameModeMixin.java index d74eb4251ea..fa2c2fede32 100644 --- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerGameModeMixin.java +++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerGameModeMixin.java @@ -57,8 +57,8 @@ public class ServerPlayerGameModeMixin { protected ServerLevel level; @Inject(at = @At("HEAD"), method = "handleBlockBreakAction", cancellable = true) - public void startBlockBreak(BlockPos pos, ServerboundPlayerActionPacket.Action playerAction, Direction direction, int worldHeight, int i, CallbackInfo info) { - if (playerAction != ServerboundPlayerActionPacket.Action.START_DESTROY_BLOCK) return; + public void startBlockBreak(BlockPos pos, ServerboundPlayerActionPacket.Action action, Direction direction, int maxY, int sequence, CallbackInfo info) { + if (action != ServerboundPlayerActionPacket.Action.START_DESTROY_BLOCK) return; InteractionResult result = AttackBlockCallback.EVENT.invoker().interact(player, level, InteractionHand.MAIN_HAND, pos, direction); if (result != InteractionResult.PASS) { @@ -82,8 +82,8 @@ public void startBlockBreak(BlockPos pos, ServerboundPlayerActionPacket.Action p } @Inject(at = @At("HEAD"), method = "useItemOn", cancellable = true) - public void interactBlock(ServerPlayer player, Level level, ItemStack stack, InteractionHand hand, BlockHitResult blockHitResult, CallbackInfoReturnable info) { - InteractionResult result = UseBlockCallback.EVENT.invoker().interact(player, level, hand, blockHitResult); + public void interactBlock(ServerPlayer player, Level level, ItemStack itemStack, InteractionHand hand, BlockHitResult hitResult, CallbackInfoReturnable info) { + InteractionResult result = UseBlockCallback.EVENT.invoker().interact(player, level, hand, hitResult); if (result != InteractionResult.PASS) { info.setReturnValue(result); @@ -93,7 +93,7 @@ public void interactBlock(ServerPlayer player, Level level, ItemStack stack, Int } @Inject(at = @At("HEAD"), method = "useItem", cancellable = true) - public void interactItem(ServerPlayer player, Level level, ItemStack stack, InteractionHand hand, CallbackInfoReturnable info) { + public void interactItem(ServerPlayer player, Level level, ItemStack itemStack, InteractionHand hand, CallbackInfoReturnable info) { InteractionResult result = UseItemCallback.EVENT.invoker().interact(player, level, hand); if (result != InteractionResult.PASS) { @@ -104,18 +104,18 @@ public void interactItem(ServerPlayer player, Level level, ItemStack stack, Inte } @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/Block;playerWillDestroy(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/entity/player/Player;)Lnet/minecraft/world/level/block/state/BlockState;"), method = "destroyBlock", cancellable = true) - private void breakBlock(BlockPos pos, CallbackInfoReturnable cir, @Local(name = "blockEntity") BlockEntity entity, @Local(name = "state") BlockState state) { - boolean result = PlayerBlockBreakEvents.BEFORE.invoker().beforeBlockBreak(this.level, this.player, pos, state, entity); + private void breakBlock(BlockPos pos, CallbackInfoReturnable cir, @Local(name = "blockEntity") BlockEntity blockEntity, @Local(name = "state") BlockState state) { + boolean result = PlayerBlockBreakEvents.BEFORE.invoker().beforeBlockBreak(this.level, this.player, pos, state, blockEntity); if (!result) { - PlayerBlockBreakEvents.CANCELED.invoker().onBlockBreakCanceled(this.level, this.player, pos, state, entity); + PlayerBlockBreakEvents.CANCELED.invoker().onBlockBreakCanceled(this.level, this.player, pos, state, blockEntity); cir.setReturnValue(false); } } @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/Block;destroy(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)V"), method = "destroyBlock") - private void onBlockBroken(BlockPos pos, CallbackInfoReturnable cir, @Local(name = "blockEntity") BlockEntity entity, @Local(name = "adjustedState") BlockState state) { - PlayerBlockBreakEvents.AFTER.invoker().afterBlockBreak(this.level, this.player, pos, state, entity); + private void onBlockBroken(BlockPos pos, CallbackInfoReturnable cir, @Local(name = "blockEntity") BlockEntity blockEntity, @Local(name = "adjustedState") BlockState adjustedState) { + PlayerBlockBreakEvents.AFTER.invoker().afterBlockBreak(this.level, this.player, pos, adjustedState, blockEntity); } } diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerMixin.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerMixin.java index 2e3c7984bc4..d2db8418159 100644 --- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerMixin.java +++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/event/interaction/ServerPlayerMixin.java @@ -34,9 +34,9 @@ @Mixin(ServerPlayer.class) public class ServerPlayerMixin { @Inject(method = "attack", at = @At("HEAD"), cancellable = true) - public void onPlayerInteractEntity(Entity target, CallbackInfo info) { + public void onPlayerInteractEntity(Entity entity, CallbackInfo info) { ServerPlayer player = (ServerPlayer) (Object) this; - InteractionResult result = AttackEntityCallback.EVENT.invoker().interact(player, player.level(), InteractionHand.MAIN_HAND, target, null); + InteractionResult result = AttackEntityCallback.EVENT.invoker().interact(player, player.level(), InteractionHand.MAIN_HAND, entity, null); if (result != InteractionResult.PASS) { info.cancel(); @@ -44,7 +44,7 @@ public void onPlayerInteractEntity(Entity target, CallbackInfo info) { } @Inject(method = "calculateGameModeForNewPlayer", at = @At("HEAD"), cancellable = true) - public void fakePlayerGameMode(GameType backupGameMode, CallbackInfoReturnable cir) { + public void fakePlayerGameMode(GameType loadedGameType, CallbackInfoReturnable cir) { // Set the default game mode of the fake player to survival, regardless of the servers forced game mode. if ((Object) this instanceof FakePlayer) { cir.setReturnValue(GameType.SURVIVAL); diff --git a/fabric-game-rule-api-v1/src/client/java/net/fabricmc/fabric/mixin/gamerule/client/EditGameRulesScreenRuleListMixin.java b/fabric-game-rule-api-v1/src/client/java/net/fabricmc/fabric/mixin/gamerule/client/EditGameRulesScreenRuleListMixin.java index 726e89c6542..ee369849d66 100644 --- a/fabric-game-rule-api-v1/src/client/java/net/fabricmc/fabric/mixin/gamerule/client/EditGameRulesScreenRuleListMixin.java +++ b/fabric-game-rule-api-v1/src/client/java/net/fabricmc/fabric/mixin/gamerule/client/EditGameRulesScreenRuleListMixin.java @@ -59,10 +59,10 @@ private void initializeFabricGameruleCategories(EditGameRulesScreen screen, Game // Synthetic method @Inject(method = "lambda$new$1(Ljava/util/Map$Entry;)V", at = @At("HEAD"), cancellable = true) - private void ignoreKeysWithCustomCategories(Map.Entry, EditGameRulesScreen.RuleEntry> entry, CallbackInfo ci) { - final GameRule rule = entry.getKey(); + private void ignoreKeysWithCustomCategories(Map.Entry, EditGameRulesScreen.RuleEntry> v, CallbackInfo ci) { + final GameRule rule = v.getKey(); CustomGameRuleCategory.getCategory(rule).ifPresent(category -> { - this.fabricCategories.computeIfAbsent(category, c -> new ArrayList<>()).add(entry.getValue()); + this.fabricCategories.computeIfAbsent(category, c -> new ArrayList<>()).add(v.getValue()); ci.cancel(); }); } diff --git a/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/GameRuleCommandVisitorMixin.java b/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/GameRuleCommandVisitorMixin.java index 55d6f42872d..1a42081f76e 100644 --- a/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/GameRuleCommandVisitorMixin.java +++ b/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/GameRuleCommandVisitorMixin.java @@ -38,11 +38,11 @@ public abstract class GameRuleCommandVisitorMixin { LiteralArgumentBuilder val$base; @Inject(at = @At("HEAD"), method = "visit", cancellable = true) - private void onRegisterCommand(GameRule rule, CallbackInfo ci) { + private void onRegisterCommand(GameRule gameRule, CallbackInfo ci) { // Check if our type is a EnumRuleType - if (((RuleTypeExtensions) (Object) rule).fabric_getType() == FabricGameRuleType.ENUM) { + if (((RuleTypeExtensions) (Object) gameRule).fabric_getType() == FabricGameRuleType.ENUM) { //noinspection rawtypes,unchecked - EnumRuleCommand.register(this.val$base, (GameRule) rule); + EnumRuleCommand.register(this.val$base, (GameRule) gameRule); ci.cancel(); } } diff --git a/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/GameRulesServiceGameRuleUpdateMixin.java b/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/GameRulesServiceGameRuleUpdateMixin.java index 67490c9283e..812cf668ce3 100644 --- a/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/GameRulesServiceGameRuleUpdateMixin.java +++ b/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/GameRulesServiceGameRuleUpdateMixin.java @@ -57,8 +57,8 @@ public void setFabricType(FabricGameRuleType type) { } @Inject(method = "", at = @At("RETURN")) - private void updateFabricType(GameRule rule, Object value, CallbackInfo ci) { - FabricGameRuleType type = ((RuleTypeExtensions) (Object) rule).fabric_getType(); + private void updateFabricType(GameRule gameRule, Object value, CallbackInfo ci) { + FabricGameRuleType type = ((RuleTypeExtensions) (Object) gameRule).fabric_getType(); if (type == null) { return; diff --git a/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/MinecraftServerMixin.java b/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/MinecraftServerMixin.java index afcc73fb6c8..7aa0a6382e7 100644 --- a/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/MinecraftServerMixin.java +++ b/fabric-game-rule-api-v1/src/main/java/net/fabricmc/fabric/mixin/gamerule/MinecraftServerMixin.java @@ -31,8 +31,8 @@ @Mixin(MinecraftServer.class) public class MinecraftServerMixin { @Inject(method = "onGameRuleChanged", at = @At("RETURN")) - private void handleGameRuleUpdate(GameRule gameRule, T value, CallbackInfo ci) { - Event> event = GameRuleEventsImpl.getValueUpdate(gameRule); + private void handleGameRuleUpdate(GameRule rule, T value, CallbackInfo ci) { + Event> event = GameRuleEventsImpl.getValueUpdate(rule); if (event != null) { event.invoker().onGameRuleUpdated(value, (MinecraftServer) (Object) this); diff --git a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/RegistryDataLoaderMixin.java b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/RegistryDataLoaderMixin.java index daa8d0f3615..3c68c848398 100644 --- a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/RegistryDataLoaderMixin.java +++ b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/RegistryDataLoaderMixin.java @@ -42,8 +42,8 @@ public class RegistryDataLoaderMixin { private static final AtomicBoolean LOADING_DYNAMIC_REGISTRIES = new AtomicBoolean(false); @Inject(method = "load(Lnet/minecraft/server/packs/resources/ResourceManager;Ljava/util/List;Ljava/util/List;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;", at = @At("HEAD")) - private static void loadFromResources(ResourceManager resourceManager, List> registries, List> entries, Executor executor, CallbackInfoReturnable cir) { - LOADING_DYNAMIC_REGISTRIES.set(entries.stream().anyMatch(entry -> entry.key() == Registries.TEST_INSTANCE)); + private static void loadFromResources(ResourceManager resourceManager, List> contextRegistries, List> registriesToLoad, Executor executor, CallbackInfoReturnable cir) { + LOADING_DYNAMIC_REGISTRIES.set(registriesToLoad.stream().anyMatch(entry -> entry.key() == Registries.TEST_INSTANCE)); } @Inject( diff --git a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTemplateManagerMixin.java b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTemplateManagerMixin.java index ba7b95a4450..e379b4c284f 100644 --- a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTemplateManagerMixin.java +++ b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/StructureTemplateManagerMixin.java @@ -52,7 +52,7 @@ public abstract class StructureTemplateManagerMixin { private ResourceManager resourceManager; @Shadow - public abstract StructureTemplate readStructure(CompoundTag compoundTag); + public abstract StructureTemplate readStructure(CompoundTag tag); @Unique private Optional fabric_loadSnbtFromResource(Identifier id) { @@ -79,7 +79,7 @@ private Stream streamTemplatesFromResource() { } @Inject(method = "", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableList$Builder;add(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder;", ordinal = 2, shift = At.Shift.AFTER)) - private void addFabricTemplateProvider(ResourceManager resourceManager, LevelStorageSource.LevelStorageAccess storageAccess, DataFixer dataFixer, HolderGetter blockLookup, CallbackInfo ci, @Local(name = "builder") ImmutableList.Builder builder) { + private void addFabricTemplateProvider(ResourceManager resourceManager, LevelStorageSource.LevelStorageAccess storage, DataFixer fixerUpper, HolderGetter blockLookup, CallbackInfo ci, @Local(name = "builder") ImmutableList.Builder builder) { builder.add(new StructureTemplateManager.Source(this::fabric_loadSnbtFromResource, this::streamTemplatesFromResource)); } } diff --git a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java index ddc772a64ac..2df034cd901 100644 --- a/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java +++ b/fabric-gametest-api-v1/src/main/java/net/fabricmc/fabric/mixin/gametest/server/MainMixin.java @@ -42,9 +42,9 @@ private static boolean isEulaAgreedTo(boolean isEulaAgreedTo) { @Definition(id = "createPackRepository", method = "Lnet/minecraft/server/packs/repository/ServerPacksSource;createPackRepository(Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;)Lnet/minecraft/server/packs/repository/PackRepository;") @Expression("? = createPackRepository(?)") @Inject(method = "main", cancellable = true, at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER)) - private static void main(String[] args, CallbackInfo info, @Local(name = "access") LevelStorageSource.LevelStorageAccess storageAccess, @Local(name = "packRepository") PackRepository packRepository) { + private static void main(String[] args, CallbackInfo info, @Local(name = "access") LevelStorageSource.LevelStorageAccess access, @Local(name = "packRepository") PackRepository packRepository) { if (FabricGameTestRunner.ENABLED) { - FabricGameTestRunner.runHeadlessServer(storageAccess, packRepository); + FabricGameTestRunner.runHeadlessServer(access, packRepository); info.cancel(); // Do not progress in starting the normal dedicated server } } diff --git a/fabric-item-api-v1/src/client/java/net/fabricmc/fabric/mixin/item/client/ItemStackMixin.java b/fabric-item-api-v1/src/client/java/net/fabricmc/fabric/mixin/item/client/ItemStackMixin.java index 70e0cacccc1..ec90ef66259 100644 --- a/fabric-item-api-v1/src/client/java/net/fabricmc/fabric/mixin/item/client/ItemStackMixin.java +++ b/fabric-item-api-v1/src/client/java/net/fabricmc/fabric/mixin/item/client/ItemStackMixin.java @@ -36,7 +36,7 @@ public abstract class ItemStackMixin { // Only target the second RETURN, the first RETURN is for no tooltip @Inject(method = "getTooltipLines", at = @At(value = "RETURN", ordinal = 1)) - private void getTooltip(Item.TooltipContext tooltipContext, @Nullable Player entity, TooltipFlag tooltipFlag, CallbackInfoReturnable> info) { - ItemTooltipCallback.EVENT.invoker().getTooltip((ItemStack) (Object) this, tooltipContext, tooltipFlag, info.getReturnValue()); + private void getTooltip(Item.TooltipContext context, @Nullable Player player, TooltipFlag tooltipFlag, CallbackInfoReturnable> info) { + ItemTooltipCallback.EVENT.invoker().getTooltip((ItemStack) (Object) this, context, tooltipFlag, info.getReturnValue()); } } diff --git a/fabric-item-api-v1/src/client/java/net/fabricmc/fabric/mixin/item/client/MultiPlayerGameModeMixin.java b/fabric-item-api-v1/src/client/java/net/fabricmc/fabric/mixin/item/client/MultiPlayerGameModeMixin.java index daf0e9f5839..617445e43fc 100644 --- a/fabric-item-api-v1/src/client/java/net/fabricmc/fabric/mixin/item/client/MultiPlayerGameModeMixin.java +++ b/fabric-item-api-v1/src/client/java/net/fabricmc/fabric/mixin/item/client/MultiPlayerGameModeMixin.java @@ -49,8 +49,8 @@ public class MultiPlayerGameModeMixin { ), method = "sameDestroyTarget" ) - private boolean fabricItemContinueBlockBreakingInject(ItemStack stack, ItemStack otherStack) { - boolean stackUnchanged = ItemStack.isSameItemSameComponents(stack, this.destroyingItem); + private boolean fabricItemContinueBlockBreakingInject(ItemStack a, ItemStack b) { + boolean stackUnchanged = ItemStack.isSameItemSameComponents(a, this.destroyingItem); if (!stackUnchanged) { // The stack changed and vanilla is about to cancel block breaking progress. Check if the item wants to continue block breaking instead. diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AbstractFurnaceBlockEntityMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AbstractFurnaceBlockEntityMixin.java index b76b2b63688..99b7cdbcd71 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AbstractFurnaceBlockEntityMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AbstractFurnaceBlockEntityMixin.java @@ -36,8 +36,8 @@ public abstract class AbstractFurnaceBlockEntityMixin { private static final ThreadLocal REMAINDER_STACK = new ThreadLocal<>(); @Inject(method = "serverTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;getItem()Lnet/minecraft/world/item/Item;"), allow = 1) - private static void getStackRemainder(ServerLevel level, BlockPos pos, BlockState state, AbstractFurnaceBlockEntity blockEntity, CallbackInfo ci, @Local(name = "fuel") ItemStack itemStack) { - REMAINDER_STACK.set(itemStack.getCraftingRemainder()); + private static void getStackRemainder(ServerLevel level, BlockPos pos, BlockState state, AbstractFurnaceBlockEntity entity, CallbackInfo ci, @Local(name = "fuel") ItemStack fuel) { + REMAINDER_STACK.set(fuel.getCraftingRemainder()); } @ModifyArg(method = "serverTick", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/NonNullList;set(ILjava/lang/Object;)Ljava/lang/Object;"), index = 1, allow = 1) diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AnvilMenuMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AnvilMenuMixin.java index c34200de53f..86b34937c89 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AnvilMenuMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/AnvilMenuMixin.java @@ -47,7 +47,7 @@ abstract class AnvilMenuMixin extends ItemCombinerMenu { target = "Lnet/minecraft/world/item/enchantment/Enchantment;canEnchant(Lnet/minecraft/world/item/ItemStack;)Z" ) ) - private boolean callAllowEnchantingEvent(Enchantment instance, ItemStack stack, @Local(name = "enchantmentHolder") Holder holder) { - return stack.canBeEnchantedWith(holder, EnchantingContext.ACCEPTABLE); + private boolean callAllowEnchantingEvent(Enchantment instance, ItemStack itemStack, @Local(name = "enchantmentHolder") Holder enchantmentHolder) { + return itemStack.canBeEnchantedWith(enchantmentHolder, EnchantingContext.ACCEPTABLE); } } diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/BrewingStandBlockEntityMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/BrewingStandBlockEntityMixin.java index 24e0489a62b..5b06f6961bf 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/BrewingStandBlockEntityMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/BrewingStandBlockEntityMixin.java @@ -37,8 +37,8 @@ public class BrewingStandBlockEntityMixin { private static final ThreadLocal REMAINDER_STACK = new ThreadLocal<>(); @Inject(method = "doBrew", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;shrink(I)V", shift = At.Shift.AFTER)) - private static void captureItemStack(Level level, BlockPos pos, NonNullList slots, CallbackInfo ci, @Local(name = "ingredient") ItemStack itemStack) { - REMAINDER_STACK.set(itemStack.getCraftingRemainder()); + private static void captureItemStack(Level level, BlockPos pos, NonNullList items, CallbackInfo ci, @Local(name = "ingredient") ItemStack ingredient) { + REMAINDER_STACK.set(ingredient.getCraftingRemainder()); } /** diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/DataComponentMapBuilderMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/DataComponentMapBuilderMixin.java index 257a0730df5..b0e16c17a07 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/DataComponentMapBuilderMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/DataComponentMapBuilderMixin.java @@ -40,7 +40,7 @@ abstract class DataComponentMapBuilderMixin implements FabricComponentMapBuilder private Reference2ObjectMap, Object> map; @Shadow - public abstract DataComponentMap.Builder set(DataComponentType dataComponentType, @Nullable T object); + public abstract DataComponentMap.Builder set(DataComponentType type, @Nullable T value); @Override @SuppressWarnings("unchecked") diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantCommandMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantCommandMixin.java index e31d528d0e2..15a73e282bf 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantCommandMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantCommandMixin.java @@ -37,7 +37,7 @@ abstract class EnchantCommandMixin { method = "enchant", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/enchantment/Enchantment;canEnchant(Lnet/minecraft/world/item/ItemStack;)Z") ) - private static boolean callAllowEnchantingEvent(Enchantment instance, ItemStack stack, CommandSourceStack source, Collection targets, Holder enchantment) { - return stack.canBeEnchantedWith(enchantment, EnchantingContext.ACCEPTABLE); + private static boolean callAllowEnchantingEvent(Enchantment instance, ItemStack itemStack, CommandSourceStack source, Collection targets, Holder enchantmentHolder) { + return itemStack.canBeEnchantedWith(enchantmentHolder, EnchantingContext.ACCEPTABLE); } } diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantRandomlyFunctionMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantRandomlyFunctionMixin.java index 6332397304c..9a0a8461f61 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantRandomlyFunctionMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantRandomlyFunctionMixin.java @@ -33,7 +33,7 @@ abstract class EnchantRandomlyFunctionMixin { method = "lambda$run$1", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/enchantment/Enchantment;canEnchant(Lnet/minecraft/world/item/ItemStack;)Z") ) - private static boolean callAllowEnchantingEvent(Enchantment enchantment, ItemStack stack, boolean bl, ItemStack itemStack, Holder holder) { - return stack.canBeEnchantedWith(holder, EnchantingContext.ACCEPTABLE); + private static boolean callAllowEnchantingEvent(Enchantment enchantment, ItemStack itemStack, boolean shouldCheckCompatibility, ItemStack itemStack1, Holder candidate) { + return itemStack.canBeEnchantedWith(candidate, EnchantingContext.ACCEPTABLE); } } diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantmentHelperMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantmentHelperMixin.java index 5a4da78ed0c..e4c15ecff46 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantmentHelperMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/EnchantmentHelperMixin.java @@ -33,7 +33,7 @@ abstract class EnchantmentHelperMixin { method = "lambda$getAvailableEnchantmentResults$0", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/enchantment/Enchantment;isPrimaryItem(Lnet/minecraft/world/item/ItemStack;)Z") ) - private static boolean useCustomEnchantingChecks(Enchantment instance, ItemStack stack, ItemStack itemStack, boolean bl, Holder holder) { - return stack.canBeEnchantedWith(holder, EnchantingContext.PRIMARY); + private static boolean useCustomEnchantingChecks(Enchantment instance, ItemStack item, ItemStack itemStack, boolean isBook, Holder enchantment) { + return item.canBeEnchantedWith(enchantment, EnchantingContext.PRIMARY); } } diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/ItemStackMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/ItemStackMixin.java index d67b2de3be4..cef2508b4b5 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/ItemStackMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/ItemStackMixin.java @@ -61,10 +61,10 @@ public abstract class ItemStackMixin implements FabricItemStack { public abstract Item getItem(); @Shadow - public abstract void shrink(int i); + public abstract void shrink(int amount); @WrapOperation(method = "hurtAndBreak(ILnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/EquipmentSlot;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;hurtAndBreak(ILnet/minecraft/server/level/ServerLevel;Lnet/minecraft/server/level/ServerPlayer;Ljava/util/function/Consumer;)V")) - private void hookDamage(ItemStack instance, int amount, ServerLevel serverLevel, ServerPlayer serverPlayer, Consumer consumer, Operation original, @Local(argsOnly = true, name = "owner") LivingEntity entity, @Local(argsOnly = true, name = "slot") EquipmentSlot slot) { + private void hookDamage(ItemStack instance, int amount, ServerLevel level, ServerPlayer player, Consumer onBreak, Operation original, @Local(argsOnly = true, name = "owner") LivingEntity owner, @Local(argsOnly = true, name = "slot") EquipmentSlot slot) { CustomDamageHandler handler = ((ItemExtensions) getItem()).fabric_getCustomDamageHandler(); /* @@ -75,32 +75,32 @@ The other damage method (which original.call discards) handles the creative mode we preserve the pre-24w21a behavior of not calling in creative mode. */ - if (handler != null && !entity.hasInfiniteMaterials()) { + if (handler != null && !owner.hasInfiniteMaterials()) { // Track whether an item has been broken by custom handler MutableBoolean mut = new MutableBoolean(false); - amount = handler.hurtAndBreak((ItemStack) (Object) this, amount, entity, slot, () -> { + amount = handler.hurtAndBreak((ItemStack) (Object) this, amount, owner, slot, () -> { mut.setTrue(); this.shrink(1); - consumer.accept(this.getItem()); + onBreak.accept(this.getItem()); }); // If item is broken, there's no reason to call the original. if (mut.booleanValue()) return; } - original.call(instance, amount, serverLevel, serverPlayer, consumer); + original.call(instance, amount, level, player, onBreak); } @ModifyArg(method = "addDetailsToTooltip", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;addToTooltip(Lnet/minecraft/core/component/DataComponentType;Lnet/minecraft/world/item/Item$TooltipContext;Lnet/minecraft/world/item/component/TooltipDisplay;Ljava/util/function/Consumer;Lnet/minecraft/world/item/TooltipFlag;)V")) private DataComponentType preAppendComponentTooltip( DataComponentType componentType, @Local(argsOnly = true, name = "context") Item.TooltipContext context, - @Local(argsOnly = true, name = "display") TooltipDisplay displayComponent, - @Local(argsOnly = true, name = "tooltipFlag") TooltipFlag type, - @Local(argsOnly = true, name = "builder") Consumer componentConsumer, + @Local(argsOnly = true, name = "display") TooltipDisplay display, + @Local(argsOnly = true, name = "tooltipFlag") TooltipFlag tooltipFlag, + @Local(argsOnly = true, name = "builder") Consumer builder, @Share("index") LocalIntRef index ) { - preAppendTooltip(componentType, context, displayComponent, componentConsumer, type, index); + preAppendTooltip(componentType, context, display, builder, tooltipFlag, index); return componentType; } @@ -108,54 +108,54 @@ private DataComponentType preAppendComponentTooltip( private DataComponentType preShouldDisplay( DataComponentType componentType, @Local(argsOnly = true, name = "context") Item.TooltipContext context, - @Local(argsOnly = true, name = "display") TooltipDisplay displayComponent, - @Local(argsOnly = true, name = "tooltipFlag") TooltipFlag type, - @Local(argsOnly = true, name = "builder") Consumer componentConsumer, + @Local(argsOnly = true, name = "display") TooltipDisplay display, + @Local(argsOnly = true, name = "tooltipFlag") TooltipFlag tooltipFlag, + @Local(argsOnly = true, name = "builder") Consumer builder, @Share("index") LocalIntRef index ) { - preAppendTooltip(componentType, context, displayComponent, componentConsumer, type, index); + preAppendTooltip(componentType, context, display, builder, tooltipFlag, index); return componentType; } @Inject(method = "addDetailsToTooltip", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;addAttributeTooltips(Ljava/util/function/Consumer;Lnet/minecraft/world/item/component/TooltipDisplay;Lnet/minecraft/world/entity/player/Player;)V")) private void preAttributeModifiers( Item.TooltipContext context, - TooltipDisplay displayComponent, + TooltipDisplay display, @Nullable Player player, - TooltipFlag type, - Consumer componentConsumer, + TooltipFlag tooltipFlag, + Consumer builder, CallbackInfo ci, @Share("index") LocalIntRef index ) { // Special case: attribute modifiers are extracted into a separate method - preAppendTooltip(DataComponents.ATTRIBUTE_MODIFIERS, context, displayComponent, componentConsumer, type, index); + preAppendTooltip(DataComponents.ATTRIBUTE_MODIFIERS, context, display, builder, tooltipFlag, index); } @Inject(method = "addDetailsToTooltip", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/DefaultedRegistry;getKey(Ljava/lang/Object;)Lnet/minecraft/resources/Identifier;")) private void postTooltipsAdvanced( Item.TooltipContext context, - TooltipDisplay displayComponent, + TooltipDisplay display, @Nullable Player player, - TooltipFlag type, - Consumer componentConsumer, + TooltipFlag tooltipFlag, + Consumer builder, CallbackInfo ci, @Share("index") LocalIntRef index ) { - preAppendTooltip(null, context, displayComponent, componentConsumer, type, index); + preAppendTooltip(null, context, display, builder, tooltipFlag, index); } @ModifyExpressionValue(method = "addDetailsToTooltip", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/TooltipFlag;isAdvanced()Z")) private boolean postTooltipsNonAdvanced( boolean isAdvanced, Item.TooltipContext context, - TooltipDisplay displayComponent, + TooltipDisplay display, @Nullable Player player, - TooltipFlag type, - Consumer componentConsumer, + TooltipFlag tooltipFlag, + Consumer builder, @Share("index") LocalIntRef index ) { if (!isAdvanced) { - preAppendTooltip(null, context, displayComponent, componentConsumer, type, index); + preAppendTooltip(null, context, display, builder, tooltipFlag, index); } return isAdvanced; @@ -165,8 +165,8 @@ private boolean postTooltipsNonAdvanced( private void preAppendTooltip( @Nullable DataComponentType componentType, Item.TooltipContext context, - TooltipDisplay displayComponent, - Consumer componentConsumer, + TooltipDisplay display, + Consumer builder, TooltipFlag tooltipFlag, LocalIntRef index ) { @@ -175,7 +175,7 @@ private void preAppendTooltip( } if (index.get() == 0) { - ItemComponentTooltipProviderRegistryImpl.onFirst((ItemStack) (Object) this, context, displayComponent, componentConsumer, tooltipFlag); + ItemComponentTooltipProviderRegistryImpl.onFirst((ItemStack) (Object) this, context, display, builder, tooltipFlag); } List> vanillaOrder = VanillaTooltipProviderOrder.getVanillaOrder(); @@ -191,7 +191,7 @@ private void preAppendTooltip( DataComponentType prevComponentInOrder = vanillaOrder.get(index.get() - 1); HashSet> cycleDetector = new HashSet<>(); cycleDetector.add(prevComponentInOrder); - ItemComponentTooltipProviderRegistryImpl.onAfter((ItemStack) (Object) this, prevComponentInOrder, context, displayComponent, componentConsumer, tooltipFlag, cycleDetector); + ItemComponentTooltipProviderRegistryImpl.onAfter((ItemStack) (Object) this, prevComponentInOrder, context, display, builder, tooltipFlag, cycleDetector); } if (index.get() == vanillaOrder.size()) { @@ -202,7 +202,7 @@ private void preAppendTooltip( DataComponentType componentInOrder = vanillaOrder.get(index.get()); HashSet> cycleDetector = new HashSet<>(); cycleDetector.add(componentInOrder); - ItemComponentTooltipProviderRegistryImpl.onBefore((ItemStack) (Object) this, componentInOrder, context, displayComponent, componentConsumer, tooltipFlag, cycleDetector); + ItemComponentTooltipProviderRegistryImpl.onBefore((ItemStack) (Object) this, componentInOrder, context, display, builder, tooltipFlag, cycleDetector); index.set(index.get() + 1); if (componentInOrder == componentType) { @@ -211,7 +211,7 @@ private void preAppendTooltip( } if (componentType == null) { - ItemComponentTooltipProviderRegistryImpl.onLast((ItemStack) (Object) this, context, displayComponent, componentConsumer, tooltipFlag); + ItemComponentTooltipProviderRegistryImpl.onLast((ItemStack) (Object) this, context, display, builder, tooltipFlag); } } } diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/LivingEntityMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/LivingEntityMixin.java index 602f127df23..2840697ff26 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/LivingEntityMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/LivingEntityMixin.java @@ -31,11 +31,11 @@ @Mixin(LivingEntity.class) abstract class LivingEntityMixin { @Inject(method = "getEquipmentSlotForItem", at = @At(value = "HEAD"), cancellable = true) - private void onGetPreferredEquipmentSlot(ItemStack stack, CallbackInfoReturnable info) { - EquipmentSlotProvider equipmentSlotProvider = ((ItemExtensions) stack.getItem()).fabric_getEquipmentSlotProvider(); + private void onGetPreferredEquipmentSlot(ItemStack itemStack, CallbackInfoReturnable info) { + EquipmentSlotProvider equipmentSlotProvider = ((ItemExtensions) itemStack.getItem()).fabric_getEquipmentSlotProvider(); if (equipmentSlotProvider != null) { - info.setReturnValue(equipmentSlotProvider.getEquipmentSlotForItem((LivingEntity) (Object) this, stack)); + info.setReturnValue(equipmentSlotProvider.getEquipmentSlotForItem((LivingEntity) (Object) this, itemStack)); } } } diff --git a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/RegistryDataLoaderResourceManagerRegistryLoadTaskMixin.java b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/RegistryDataLoaderResourceManagerRegistryLoadTaskMixin.java index 1c164230cb1..4c9f30fad6e 100644 --- a/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/RegistryDataLoaderResourceManagerRegistryLoadTaskMixin.java +++ b/fabric-item-api-v1/src/main/java/net/fabricmc/fabric/mixin/item/RegistryDataLoaderResourceManagerRegistryLoadTaskMixin.java @@ -36,10 +36,10 @@ @Mixin(RegistryDataLoader.ResourceManagerRegistryLoadTask.class) public class RegistryDataLoaderResourceManagerRegistryLoadTaskMixin { @WrapOperation(method = "lambda$load$2", at = @At(value = "NEW", target = "net/minecraft/resources/RegistryDataLoader$PendingRegistration")) - private RegistryDataLoader.PendingRegistration modify(ResourceKey key, Either value, RegistrationInfo registrationInfo, Operation> original, @Local(argsOnly = true, name = "thunk") Resource resource) { + private RegistryDataLoader.PendingRegistration modify(ResourceKey key, Either value, RegistrationInfo registrationInfo, Operation> original, @Local(argsOnly = true, name = "thunk") Resource thunk) { if (value.left().isPresent()) { if (value.left().get() instanceof Enchantment enchantment) { - Enchantment modified = EnchantmentUtil.modify((ResourceKey) key, enchantment, EnchantmentUtil.determineSource(resource)); + Enchantment modified = EnchantmentUtil.modify((ResourceKey) key, enchantment, EnchantmentUtil.determineSource(thunk)); if (modified != null) { // Clear the knownPackInfo to force the server to sync the data pack to the client diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java index 1845356f87b..3e0c82b5e25 100644 --- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java +++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientChunkCacheMixin.java @@ -45,20 +45,20 @@ public abstract class ClientChunkCacheMixin { private ClientLevel level; @Inject(method = "replaceWithPacketData", at = @At("TAIL")) - private void onChunkLoad(int x, int z, FriendlyByteBuf friendlyByteBuf, Map highmap, Consumer consumer, CallbackInfoReturnable info) { + private void onChunkLoad(int chunkX, int chunkZ, FriendlyByteBuf readBuffer, Map heightmaps, Consumer blockEntities, CallbackInfoReturnable info) { ClientChunkEvents.CHUNK_LOAD.invoker().onChunkLoad(this.level, info.getReturnValue()); } @Inject(method = "replaceWithPacketData", at = @At(value = "NEW", target = "net/minecraft/world/level/chunk/LevelChunk")) - private void onChunkUnload(int x, int z, FriendlyByteBuf buf, Map highmap, Consumer consumer, CallbackInfoReturnable info, @Local(name = "chunk") LevelChunk levelChunk) { - if (levelChunk != null) { - ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, levelChunk); + private void onChunkUnload(int chunkX, int chunkZ, FriendlyByteBuf readBuffer, Map heightmaps, Consumer blockEntities, CallbackInfoReturnable info, @Local(name = "chunk") LevelChunk chunk) { + if (chunk != null) { + ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, chunk); } } @Inject(method = "drop", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/multiplayer/ClientChunkCache$Storage;drop(ILnet/minecraft/world/level/chunk/LevelChunk;)V")) - private void onChunkUnload(ChunkPos pos, CallbackInfo ci, @Local(name = "currentChunk") LevelChunk chunk) { - ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, chunk); + private void onChunkUnload(ChunkPos pos, CallbackInfo ci, @Local(name = "currentChunk") LevelChunk currentChunk) { + ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, currentChunk); } @Inject( @@ -68,9 +68,9 @@ private void onChunkUnload(ChunkPos pos, CallbackInfo ci, @Local(name = "current target = "Lnet/minecraft/client/multiplayer/ClientChunkCache$Storage;inRange(II)Z" ) ) - private void onUpdateLoadDistance(int loadDistance, CallbackInfo ci, @Local(name = "newStorage") ClientChunkCache.Storage clientChunkCacheStorage, @Local(name = "chunk") LevelChunk oldChunk, @Local(name = "pos") ChunkPos chunkPos) { - if (!clientChunkCacheStorage.inRange(chunkPos.x, chunkPos.z)) { - ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, oldChunk); + private void onUpdateLoadDistance(int viewRange, CallbackInfo ci, @Local(name = "newStorage") ClientChunkCache.Storage newStorage, @Local(name = "chunk") LevelChunk chunk, @Local(name = "pos") ChunkPos pos) { + if (!newStorage.inRange(pos.x, pos.z)) { + ClientChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, chunk); } } } diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientConfigurationPacketListenerImplMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientConfigurationPacketListenerImplMixin.java index 2282e24218e..690c4c0b80b 100644 --- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientConfigurationPacketListenerImplMixin.java +++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/ClientConfigurationPacketListenerImplMixin.java @@ -30,7 +30,7 @@ @Mixin(ClientConfigurationPacketListenerImpl.class) public class ClientConfigurationPacketListenerImplMixin { @Inject(method = "lambda$handleConfigurationFinished$0", at = @At(value = "RETURN")) - private void invokeTagsLoaded(ResourceProvider provider, CallbackInfoReturnable cir) { + private void invokeTagsLoaded(ResourceProvider knownPacksProvider, CallbackInfoReturnable cir) { CommonLifecycleEvents.TAGS_LOADED.invoker().onTagsLoaded(cir.getReturnValue(), true); } } diff --git a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/LevelChunkMixin.java b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/LevelChunkMixin.java index c33d8bb8d45..9ec1b54e80d 100644 --- a/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/LevelChunkMixin.java +++ b/fabric-lifecycle-events-v1/src/client/java/net/fabricmc/fabric/mixin/event/lifecycle/client/LevelChunkMixin.java @@ -62,12 +62,12 @@ private V onLoadBlockEntity(V removedBlockEntity, BlockEntity blockEntity) { } @Inject(method = "setBlockEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/entity/BlockEntity;setRemoved()V", shift = At.Shift.AFTER)) - private void onRemoveBlockEntity(BlockEntity blockEntity, CallbackInfo info, @Local(name = "previousEntry") BlockEntity removedBlockEntity) { - if (removedBlockEntity != null) { + private void onRemoveBlockEntity(BlockEntity blockEntity, CallbackInfo info, @Local(name = "previousEntry") BlockEntity previousEntry) { + if (previousEntry != null) { if (this.getLevel() instanceof ServerLevel) { - ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removedBlockEntity, (ServerLevel) this.getLevel()); + ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(previousEntry, (ServerLevel) this.getLevel()); } else if (this.getLevel() instanceof ClientLevel) { - ClientBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removedBlockEntity, (ClientLevel) this.getLevel()); + ClientBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(previousEntry, (ClientLevel) this.getLevel()); } } } @@ -90,12 +90,12 @@ private Object onRemoveBlockEntity(Map map, K key) { } @Inject(method = "removeBlockEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/entity/BlockEntity;setRemoved()V")) - private void onRemoveBlockEntity(BlockPos pos, CallbackInfo ci, @Local(name = "removeThis") @Nullable BlockEntity removed) { - if (removed != null) { + private void onRemoveBlockEntity(BlockPos pos, CallbackInfo ci, @Local(name = "removeThis") @Nullable BlockEntity removeThis) { + if (removeThis != null) { if (this.getLevel() instanceof ServerLevel) { - ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removed, (ServerLevel) this.getLevel()); + ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removeThis, (ServerLevel) this.getLevel()); } else if (this.getLevel() instanceof ClientLevel) { - ClientBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removed, (ClientLevel) this.getLevel()); + ClientBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removeThis, (ClientLevel) this.getLevel()); } } } diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkHolderMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkHolderMixin.java index fa871980d59..2d6ed619c62 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkHolderMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkHolderMixin.java @@ -68,7 +68,7 @@ private ChunkHolderMixin(ChunkPos pos) { * Handles INACCESSIBLE -> FULL for chunks that are immediately loaded and available. {@link ChunkStatusTasksMixin} handles the rest. */ @Inject(method = "updateFutures", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ChunkHolder;addSaveDependency(Ljava/util/concurrent/CompletableFuture;)V", shift = At.Shift.AFTER, ordinal = 0)) - private void updateFutures$inaccessibleToFull(ChunkMap chunkMap, Executor executor, CallbackInfo ci) { + private void updateFutures$inaccessibleToFull(ChunkMap scheduler, Executor mainThreadExecutor, CallbackInfo ci) { if (this.getChunkIfPresentUnchecked(ChunkStatus.FULL) instanceof LevelChunk && this.fabric_currentEventFullChunkStatus == INACCESSIBLE) { // prevent duplicate events with ChunkStatusTasksMixin ServerChunkEvents.FULL_CHUNK_STATUS_CHANGE.invoker().onFullChunkStatusChange((ServerLevel) levelHeightAccessor, (LevelChunk) this.getChunkIfPresentUnchecked(ChunkStatus.FULL), INACCESSIBLE, FULL); this.fabric_currentEventFullChunkStatus = FULL; @@ -79,7 +79,7 @@ private ChunkHolderMixin(ChunkPos pos) { * Handles FULL -> BLOCK_TICKING. */ @Inject(method = "updateFutures", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ChunkHolder;addSaveDependency(Ljava/util/concurrent/CompletableFuture;)V", shift = At.Shift.AFTER, ordinal = 1)) - private void updateFutures$fullToBlockTicking(ChunkMap chunkMap, Executor executor, CallbackInfo ci) { + private void updateFutures$fullToBlockTicking(ChunkMap scheduler, Executor mainThreadExecutor, CallbackInfo ci) { if (fabric_currentEventFullChunkStatus == FULL) { // if INACCESSIBLE->FULL did not fire immediately, then ChunkStatusTasksMixin will handle this later. ServerChunkEvents.FULL_CHUNK_STATUS_CHANGE.invoker().onFullChunkStatusChange((ServerLevel) levelHeightAccessor, (LevelChunk) this.getChunkIfPresentUnchecked(ChunkStatus.FULL), FULL, BLOCK_TICKING); this.fabric_currentEventFullChunkStatus = BLOCK_TICKING; @@ -90,7 +90,7 @@ private ChunkHolderMixin(ChunkPos pos) { * Handles BLOCK_TICKING -> ENTITY_TICKING. */ @Inject(method = "updateFutures", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ChunkHolder;addSaveDependency(Ljava/util/concurrent/CompletableFuture;)V", shift = At.Shift.AFTER, ordinal = 2)) - private void updateFutures$blockTickingToEntityTicking(ChunkMap chunkMap, Executor executor, CallbackInfo ci) { + private void updateFutures$blockTickingToEntityTicking(ChunkMap scheduler, Executor mainThreadExecutor, CallbackInfo ci) { if (fabric_currentEventFullChunkStatus == BLOCK_TICKING) { // if INACCESSIBLE->FULL->BLOCK_TICKING did not fire immediately, then ChunkStatusTasksMixin will handle this later. ServerChunkEvents.FULL_CHUNK_STATUS_CHANGE.invoker().onFullChunkStatusChange((ServerLevel) levelHeightAccessor, (LevelChunk) this.getChunkIfPresentUnchecked(ChunkStatus.FULL), BLOCK_TICKING, ENTITY_TICKING); this.fabric_currentEventFullChunkStatus = ENTITY_TICKING; @@ -101,11 +101,11 @@ private ChunkHolderMixin(ChunkPos pos) { * Fire right before onFullChunkStatusChange() is called. */ @Inject(method = "demoteFullChunk", at = @At("HEAD")) - private void decreaseLevel(ChunkMap chunkMap, FullChunkStatus target, CallbackInfo ci) { + private void decreaseLevel(ChunkMap scheduler, FullChunkStatus status, CallbackInfo ci) { FullChunkStatus previous = ChunkLevel.fullStatus(this.oldTicketLevel); ServerLevel serverLevel = (ServerLevel) levelHeightAccessor; - for (int i = previous.ordinal(); i > target.ordinal(); i--) { + for (int i = previous.ordinal(); i > status.ordinal(); i--) { FullChunkStatus oldStatus = fabric_FULL_CHUNK_STATUSES[i]; FullChunkStatus newStatus = fabric_FULL_CHUNK_STATUSES[i-1]; if (this.fabric_currentEventFullChunkStatus.isOrAfter(oldStatus)) { // if a promotion event got cancelled or never finished, then do _not_ fire an equivalent demotion event diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java index 02abade4e78..f830ff9d9e0 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkMapMixin.java @@ -45,7 +45,7 @@ public abstract class ChunkMapMixin { * We inject just after "setLoaded" is made false, since here the LevelChunk is guaranteed to be unloaded. */ @Inject(method = "lambda$scheduleUnload$0", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ChunkMap;save(Lnet/minecraft/world/level/chunk/ChunkAccess;)Z")) - private void onChunkUnload(ChunkHolder chunkHolder, CompletableFuture completableFuture, long l, CallbackInfo ci, @Local(name = "chunk") ChunkAccess chunk) { + private void onChunkUnload(ChunkHolder chunkHolder, CompletableFuture saveSyncFuture, long pos, CallbackInfo ci, @Local(name = "chunk") ChunkAccess chunk) { if (chunk instanceof LevelChunk levelChunk) { ServerChunkEvents.CHUNK_UNLOAD.invoker().onChunkUnload(this.level, levelChunk); } diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkStatusTasksMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkStatusTasksMixin.java index 4d4545cd49b..df67e113a17 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkStatusTasksMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ChunkStatusTasksMixin.java @@ -39,23 +39,23 @@ abstract class ChunkStatusTasksMixin { private static final FullChunkStatus[] fabric_FULL_CHUNK_STATUSES = FullChunkStatus.values(); // values() clones the internal array each call, so cache the return @Inject(method = "lambda$full$0", at = @At("TAIL")) - private static void onChunkLoad(ChunkAccess chunk, WorldGenContext worldGenContext, GenerationChunkHolder chunkHolder, CallbackInfoReturnable callbackInfoReturnable) { + private static void onChunkLoad(ChunkAccess chunk, WorldGenContext context, GenerationChunkHolder holder, CallbackInfoReturnable callbackInfoReturnable) { LevelChunk levelChunk = (LevelChunk) callbackInfoReturnable.getReturnValue(); // We fire the event at TAIL since the chunk is guaranteed to be a LevelChunk then. - ServerChunkEvents.CHUNK_LOAD.invoker().onChunkLoad(worldGenContext.level(), levelChunk); + ServerChunkEvents.CHUNK_LOAD.invoker().onChunkLoad(context.level(), levelChunk); if (!(chunk instanceof ImposterProtoChunk)) { - ServerChunkEvents.CHUNK_GENERATE.invoker().onChunkGenerate(worldGenContext.level(), levelChunk); + ServerChunkEvents.CHUNK_GENERATE.invoker().onChunkGenerate(context.level(), levelChunk); } // Handles the case where the chunk becomes accessible from being completely unloaded, only fires if chunkHolder has been set to at least that full chunk status - FullChunkStatusEventTracker chunkStatusTracker = (FullChunkStatusEventTracker) chunkHolder; + FullChunkStatusEventTracker chunkStatusTracker = (FullChunkStatusEventTracker) holder; - for (int i = chunkStatusTracker.fabric_getCurrentEventFullChunkStatus().ordinal(); i < chunkHolder.getFullStatus().ordinal(); i++) { + for (int i = chunkStatusTracker.fabric_getCurrentEventFullChunkStatus().ordinal(); i < holder.getFullStatus().ordinal(); i++) { FullChunkStatus oldStatus = fabric_FULL_CHUNK_STATUSES[i]; FullChunkStatus newStatus = fabric_FULL_CHUNK_STATUSES[i+1]; - ServerChunkEvents.FULL_CHUNK_STATUS_CHANGE.invoker().onFullChunkStatusChange(worldGenContext.level(), levelChunk, oldStatus, newStatus); + ServerChunkEvents.FULL_CHUNK_STATUS_CHANGE.invoker().onFullChunkStatusChange(context.level(), levelChunk, oldStatus, newStatus); chunkStatusTracker.fabric_setCurrentEventFullChunkStatus(newStatus); } } diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/LivingEntityMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/LivingEntityMixin.java index 64f9fdcb77a..eb8f6507d39 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/LivingEntityMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/LivingEntityMixin.java @@ -34,7 +34,7 @@ @Mixin(LivingEntity.class) public abstract class LivingEntityMixin { @Inject(method = "collectEquipmentChanges", at = @At(value = "INVOKE", target = "Ljava/util/Map;put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;")) - private void getEquipmentChanges(CallbackInfoReturnable<@Nullable Map> cir, @Local(name = "slot") EquipmentSlot equipmentSlot, @Local(name = "previous") ItemStack previousStack, @Local(name = "current") ItemStack currentStack) { - ServerEntityEvents.EQUIPMENT_CHANGE.invoker().onChange((LivingEntity) (Object) this, equipmentSlot, previousStack, currentStack); + private void getEquipmentChanges(CallbackInfoReturnable<@Nullable Map> cir, @Local(name = "slot") EquipmentSlot slot, @Local(name = "previous") ItemStack previous, @Local(name = "current") ItemStack current) { + ServerEntityEvents.EQUIPMENT_CHANGE.invoker().onChange((LivingEntity) (Object) this, slot, previous, current); } } diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MinecraftServerMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MinecraftServerMixin.java index 297f3983192..dd99d6c2b5e 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MinecraftServerMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/MinecraftServerMixin.java @@ -64,12 +64,12 @@ private void afterShutdownServer(CallbackInfo info) { } @Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/server/MinecraftServer;tickChildren(Ljava/util/function/BooleanSupplier;)V"), method = "tickServer") - private void onStartTick(BooleanSupplier shouldKeepTicking, CallbackInfo ci) { + private void onStartTick(BooleanSupplier haveTime, CallbackInfo ci) { ServerTickEvents.START_SERVER_TICK.invoker().onStartTick((MinecraftServer) (Object) this); } @Inject(at = @At("TAIL"), method = "tickServer") - private void onEndTick(BooleanSupplier shouldKeepTicking, CallbackInfo info) { + private void onEndTick(BooleanSupplier haveTime, CallbackInfo info) { ServerTickEvents.END_SERVER_TICK.invoker().onEndTick((MinecraftServer) (Object) this); } @@ -82,17 +82,17 @@ private V onLoadWorld(Map levels, K dimension, V level, Operation collection, CallbackInfoReturnable> cir) { + private void startResourceReload(Collection packsToEnable, CallbackInfoReturnable> cir) { ServerLifecycleEvents.START_DATA_PACK_RELOAD.invoker().startDataPackReload((MinecraftServer) (Object) this, this.resources.resourceManager()); } @Inject(method = "reloadResources", at = @At("TAIL")) - private void endResourceReload(Collection collection, CallbackInfoReturnable> cir) { + private void endResourceReload(Collection packsToEnable, CallbackInfoReturnable> cir) { cir.getReturnValue().handleAsync((value, throwable) -> { // Hook into fail ServerLifecycleEvents.END_DATA_PACK_RELOAD.invoker().endDataPackReload((MinecraftServer) (Object) this, this.resources.resourceManager(), throwable == null); @@ -101,12 +101,12 @@ private void endResourceReload(Collection collection, CallbackInfoReturn } @Inject(method = "saveAllChunks", at = @At("HEAD")) - private void startSave(boolean suppressLogs, boolean flush, boolean force, CallbackInfoReturnable cir) { + private void startSave(boolean silent, boolean flush, boolean force, CallbackInfoReturnable cir) { ServerLifecycleEvents.BEFORE_SAVE.invoker().onBeforeSave((MinecraftServer) (Object) this, flush, force); } @Inject(method = "saveAllChunks", at = @At("TAIL")) - private void endSave(boolean suppressLogs, boolean flush, boolean force, CallbackInfoReturnable cir) { + private void endSave(boolean silent, boolean flush, boolean force, CallbackInfoReturnable cir) { ServerLifecycleEvents.AFTER_SAVE.invoker().onAfterSave((MinecraftServer) (Object) this, flush, force); } } diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/PlayerListMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/PlayerListMixin.java index 6450630502b..40e4a6961b2 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/PlayerListMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/PlayerListMixin.java @@ -34,7 +34,7 @@ public class PlayerListMixin { method = "placeNewPlayer", at = @At(value = "NEW", target = "net/minecraft/network/protocol/game/ClientboundUpdateRecipesPacket") ) - private void hookOnPlayerConnect(Connection connection, ServerPlayer player, CommonListenerCookie arg, CallbackInfo ci) { + private void hookOnPlayerConnect(Connection connection, ServerPlayer player, CommonListenerCookie cookie, CallbackInfo ci) { ServerLifecycleEvents.SYNC_DATA_PACK_CONTENTS.invoker().onSyncDataPackContents(player, true); } diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ReloadableServerResourcesMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ReloadableServerResourcesMixin.java index 2e4c7fb350a..1e837ff8c48 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ReloadableServerResourcesMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ReloadableServerResourcesMixin.java @@ -41,8 +41,8 @@ public class ReloadableServerResourcesMixin { private RegistryAccess layeredRegistries; @Inject(method = "", at = @At("TAIL")) - private void init(LayeredRegistryAccess layeredRegistries, HolderLookup.Provider registries, FeatureFlagSet enabledFeatures, Commands.CommandSelection environment, List pendingTagLoads, PermissionSet permissionPredicate, CallbackInfo ci) { - this.layeredRegistries = layeredRegistries.compositeAccess(); + private void init(LayeredRegistryAccess fullLayers, HolderLookup.Provider loadingContext, FeatureFlagSet enabledFeatures, Commands.CommandSelection commandSelection, List postponedTags, PermissionSet functionCompilationPermissions, CallbackInfo ci) { + this.layeredRegistries = fullLayers.compositeAccess(); } @Inject(method = "updateStaticRegistryTags", at = @At("TAIL")) diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ServerLevelMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ServerLevelMixin.java index 42eb4e413cd..2bba3dd0297 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ServerLevelMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/ServerLevelMixin.java @@ -32,12 +32,12 @@ public abstract class ServerLevelMixin { // Make sure "insideBlockTick" is true before we call the start tick, so inject after it is set @Inject(method = "tick", at = @At(value = "FIELD", target = "Lnet/minecraft/server/level/ServerLevel;handlingTick:Z", opcode = Opcodes.PUTFIELD, ordinal = 0, shift = At.Shift.AFTER)) - private void startLevelTick(BooleanSupplier shouldKeepTicking, CallbackInfo ci) { + private void startLevelTick(BooleanSupplier haveTime, CallbackInfo ci) { ServerTickEvents.START_LEVEL_TICK.invoker().onStartTick((ServerLevel) (Object) this); } @Inject(method = "tick", at = @At(value = "TAIL")) - private void endLevelTick(BooleanSupplier shouldKeepTicking, CallbackInfo ci) { + private void endLevelTick(BooleanSupplier haveTime, CallbackInfo ci) { ServerTickEvents.END_LEVEL_TICK.invoker().onEndTick((ServerLevel) (Object) this); } } diff --git a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/server/LevelChunkMixin.java b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/server/LevelChunkMixin.java index 3bbe8decfa8..658a4bba6d5 100644 --- a/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/server/LevelChunkMixin.java +++ b/fabric-lifecycle-events-v1/src/main/java/net/fabricmc/fabric/mixin/event/lifecycle/server/LevelChunkMixin.java @@ -63,9 +63,9 @@ private V onLoadBlockEntity(V removedBlockEntity, BlockEntity blockEntity) { } @Inject(method = "setBlockEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/entity/BlockEntity;setRemoved()V", shift = At.Shift.AFTER)) - private void onRemoveBlockEntity(BlockEntity blockEntity, CallbackInfo info, @Local(name = "previousEntry") BlockEntity removedBlockEntity) { + private void onRemoveBlockEntity(BlockEntity blockEntity, CallbackInfo info, @Local(name = "previousEntry") BlockEntity previousEntry) { if (this.getLevel() instanceof ServerLevel) { - ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removedBlockEntity, (ServerLevel) this.getLevel()); + ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(previousEntry, (ServerLevel) this.getLevel()); } } @@ -83,9 +83,9 @@ private Object onRemoveBlockEntity(Map map, K key) { } @Inject(method = "removeBlockEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/entity/BlockEntity;setRemoved()V")) - private void onRemoveBlockEntity(BlockPos pos, CallbackInfo ci, @Local(name = "removeThis") @Nullable BlockEntity removed) { - if (removed != null && this.getLevel() instanceof ServerLevel) { - ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removed, (ServerLevel) this.getLevel()); + private void onRemoveBlockEntity(BlockPos pos, CallbackInfo ci, @Local(name = "removeThis") @Nullable BlockEntity removeThis) { + if (removeThis != null && this.getLevel() instanceof ServerLevel) { + ServerBlockEntityEvents.BLOCK_ENTITY_UNLOAD.invoker().onUnload(removeThis, (ServerLevel) this.getLevel()); } } } diff --git a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/LootTableMixin.java b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/LootTableMixin.java index 034185f3f2a..0011c5afaff 100644 --- a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/LootTableMixin.java +++ b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/LootTableMixin.java @@ -45,7 +45,7 @@ class LootTableMixin implements FabricLootTable { Holder holder = null; @WrapMethod(method = "getRandomItemsRaw(Lnet/minecraft/world/level/storage/loot/LootContext;Ljava/util/function/Consumer;)V") - private void fabric$modifyDrops(LootContext context, Consumer lootConsumer, Operation original) { + private void fabric$modifyDrops(LootContext context, Consumer output, Operation original) { if (holder == null) { this.holder = LootUtil.getEntryOrDirect(context.getLevel(), (LootTable) (Object) this); } @@ -57,7 +57,7 @@ class LootTableMixin implements FabricLootTable { context, list ); - list.forEach(lootConsumer); + list.forEach(output); } @Override diff --git a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/ReloadableServerRegistriesMixin.java b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/ReloadableServerRegistriesMixin.java index cf3ed1d39fb..1e718f704d2 100644 --- a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/ReloadableServerRegistriesMixin.java +++ b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/ReloadableServerRegistriesMixin.java @@ -67,8 +67,8 @@ abstract class ReloadableServerRegistriesMixin { private static final WeakHashMap, HolderLookup.Provider> WRAPPERS = new WeakHashMap<>(); @WrapOperation(method = "reload", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/HolderLookup$Provider;createSerializationContext(Lcom/mojang/serialization/DynamicOps;)Lnet/minecraft/resources/RegistryOps;")) - private static RegistryOps storeOps(HolderLookup.Provider holder, DynamicOps ops, Operation> original) { - RegistryOps created = original.call(holder, ops); + private static RegistryOps storeOps(HolderLookup.Provider holder, DynamicOps parent, Operation> original) { + RegistryOps created = original.call(holder, parent); WRAPPERS.put(created, holder); return created; } @@ -82,8 +82,8 @@ private static CompletableFuture> removeOps } @Inject(method = "lambda$scheduleRegistryLoad$0", at = @At(value = "INVOKE", target = "Ljava/util/Map;forEach(Ljava/util/function/BiConsumer;)V")) - private static void modifyLootTable(LootDataType lootDataType, ResourceManager resourceManager, RegistryOps registryOps, CallbackInfoReturnable> cir, @Local(name = "elements") Map map) { - map.replaceAll((identifier, t) -> modifyLootTable(t, identifier, registryOps)); + private static void modifyLootTable(LootDataType type, ResourceManager manager, RegistryOps ops, CallbackInfoReturnable> cir, @Local(name = "elements") Map elements) { + elements.replaceAll((identifier, t) -> modifyLootTable(t, identifier, ops)); } @Unique @@ -114,12 +114,12 @@ private static T modifyLootTable(T value, Identifier id, RegistryOps void onLootTablesLoaded(LootDataType lootDataType, ResourceManager resourceManager, RegistryOps registryOps, CallbackInfoReturnable> cir) { - if (lootDataType != LootDataType.TABLE) return; + private static void onLootTablesLoaded(LootDataType type, ResourceManager manager, RegistryOps ops, CallbackInfoReturnable> cir) { + if (type != LootDataType.TABLE) return; Registry lootTableRegistry = (Registry) cir.getReturnValue(); - LootTableEvents.ALL_LOADED.invoker().onLootTablesLoaded(resourceManager, lootTableRegistry); + LootTableEvents.ALL_LOADED.invoker().onLootTablesLoaded(manager, lootTableRegistry); LootUtil.SOURCES.remove(); lootTableRegistry.listElements().forEach(reference -> ((FabricLootTable) reference.value()).fabric$setHolder(reference)); } diff --git a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java index 3cdd364425e..42398dc9942 100644 --- a/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java +++ b/fabric-loot-api-v3/src/main/java/net/fabricmc/fabric/mixin/loot/SimpleJsonResourceReloadListenerMixin.java @@ -43,8 +43,8 @@ public class SimpleJsonResourceReloadListenerMixin { @Definition(id = "fileToId", method = "Lnet/minecraft/resources/FileToIdConverter;fileToId(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/resources/Identifier;") @Expression("? = ?.fileToId(?)") @Inject(method = "scanDirectory(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/resources/FileToIdConverter;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Codec;Ljava/util/Map;)V", at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER)) - private static void fillSourceMap(ResourceManager manager, FileToIdConverter fileToIdConverter, DynamicOps ops, Codec codec, Map result, CallbackInfo ci, @Local(name = "entry") Map.Entry entry, @Local(name = "id") Identifier id) { - final String dirName = ((FileToIdConverterAccessor) fileToIdConverter).getPrefix(); + private static void fillSourceMap(ResourceManager manager, FileToIdConverter lister, DynamicOps ops, Codec codec, Map result, CallbackInfo ci, @Local(name = "entry") Map.Entry entry, @Local(name = "id") Identifier id) { + final String dirName = ((FileToIdConverterAccessor) lister).getPrefix(); if (!LootDataType.TABLE.registryKey().identifier().getPath().equals(dirName)) return; LootUtil.SOURCES.get().put(id, LootUtil.determineSource(entry.getValue())); diff --git a/fabric-menu-api-v1/src/main/java/net/fabricmc/fabric/mixin/menu/ServerPlayerMixin.java b/fabric-menu-api-v1/src/main/java/net/fabricmc/fabric/mixin/menu/ServerPlayerMixin.java index 6d7c0069382..2897d9547c4 100644 --- a/fabric-menu-api-v1/src/main/java/net/fabricmc/fabric/mixin/menu/ServerPlayerMixin.java +++ b/fabric-menu-api-v1/src/main/java/net/fabricmc/fabric/mixin/menu/ServerPlayerMixin.java @@ -56,8 +56,8 @@ private ServerPlayerMixin(Level level, GameProfile gameProfile) { public abstract void closeContainer(); @Redirect(method = "openMenu(Lnet/minecraft/world/MenuProvider;)Ljava/util/OptionalInt;", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ServerPlayer;closeContainer()V")) - private void fabric_closeContainerScreenIfAllowed(ServerPlayer player, MenuProvider factory) { - if (factory.shouldCloseCurrentScreen()) { + private void fabric_closeContainerScreenIfAllowed(ServerPlayer player, MenuProvider provider) { + if (provider.shouldCloseCurrentScreen()) { this.closeContainer(); } else { // Called by closeContainer in vanilla @@ -66,8 +66,8 @@ private void fabric_closeContainerScreenIfAllowed(ServerPlayer player, MenuProvi } @Inject(method = "openMenu(Lnet/minecraft/world/MenuProvider;)Ljava/util/OptionalInt;", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerGamePacketListenerImpl;send(Lnet/minecraft/network/protocol/Packet;)V")) - private void fabric_storeOpenedMenu(MenuProvider factory, CallbackInfoReturnable info, @Local(name = "menu") AbstractContainerMenu menu) { - if (factory instanceof ExtendedMenuProvider || (factory instanceof SimpleMenuProvider simpleFactory && simpleFactory.menuConstructor instanceof ExtendedMenuProvider)) { + private void fabric_storeOpenedMenu(MenuProvider provider, CallbackInfoReturnable info, @Local(name = "menu") AbstractContainerMenu menu) { + if (provider instanceof ExtendedMenuProvider || (provider instanceof SimpleMenuProvider simpleFactory && simpleFactory.menuConstructor instanceof ExtendedMenuProvider)) { // Set the menu, so the factory method can access it through the player. containerMenu = menu; } else if (menu.getType() instanceof ExtendedMenuType) { @@ -77,12 +77,12 @@ private void fabric_storeOpenedMenu(MenuProvider factory, CallbackInfoReturnable } @Redirect(method = "openMenu(Lnet/minecraft/world/MenuProvider;)Ljava/util/OptionalInt;", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerGamePacketListenerImpl;send(Lnet/minecraft/network/protocol/Packet;)V")) - private void fabric_replaceVanillaScreenPacket(ServerGamePacketListenerImpl networkHandler, Packet packet, MenuProvider factory) { - if (factory instanceof SimpleMenuProvider simpleProvider && simpleProvider.menuConstructor instanceof ExtendedMenuProvider extendedProvider) { - factory = extendedProvider; + private void fabric_replaceVanillaScreenPacket(ServerGamePacketListenerImpl networkHandler, Packet packet, MenuProvider provider) { + if (provider instanceof SimpleMenuProvider simpleProvider && simpleProvider.menuConstructor instanceof ExtendedMenuProvider extendedProvider) { + provider = extendedProvider; } - if (factory instanceof ExtendedMenuProvider extendedFactory) { + if (provider instanceof ExtendedMenuProvider extendedFactory) { AbstractContainerMenu handler = Objects.requireNonNull(containerMenu); if (handler.getType() instanceof ExtendedMenuType) { diff --git a/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ChatListenerMixin.java b/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ChatListenerMixin.java index ab16607a9c0..9d7ac8781e0 100644 --- a/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ChatListenerMixin.java +++ b/fabric-message-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/message/ChatListenerMixin.java @@ -39,22 +39,22 @@ @Mixin(ChatListener.class) public abstract class ChatListenerMixin { @Inject(method = "showMessageToPlayer", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;getChat()Lnet/minecraft/client/gui/components/ChatComponent;", ordinal = 0), cancellable = true) - private void fabric_onSignedChatMessage(ChatType.Bound boundChatType, PlayerChatMessage message, Component decorated, GameProfile sender, boolean onlyShowSecureChat, Instant receptionTimestamp, CallbackInfoReturnable cir) { - fabric_onChatMessage(decorated, message, sender, boundChatType, receptionTimestamp, cir); + private void fabric_onSignedChatMessage(ChatType.Bound boundChatType, PlayerChatMessage message, Component decoratedMessage, GameProfile sender, boolean onlyShowSecure, Instant received, CallbackInfoReturnable cir) { + fabric_onChatMessage(decoratedMessage, message, sender, boundChatType, received, cir); } @Inject(method = "showMessageToPlayer", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;getChat()Lnet/minecraft/client/gui/components/ChatComponent;", ordinal = 1), cancellable = true) - private void fabric_onFilteredSignedChatMessage(ChatType.Bound boundChatType, PlayerChatMessage message, Component decorated, GameProfile sender, boolean onlyShowSecureChat, Instant receptionTimestamp, CallbackInfoReturnable cir) { + private void fabric_onFilteredSignedChatMessage(ChatType.Bound boundChatType, PlayerChatMessage message, Component decoratedMessage, GameProfile sender, boolean onlyShowSecure, Instant received, CallbackInfoReturnable cir) { Component filtered = message.filterMask().applyWithFormatting(message.signedContent()); if (filtered != null) { - fabric_onChatMessage(boundChatType.decorate(filtered), message, sender, boundChatType, receptionTimestamp, cir); + fabric_onChatMessage(boundChatType.decorate(filtered), message, sender, boundChatType, received, cir); } } @Inject(method = "lambda$handleDisguisedChatMessage$0", at = @At("HEAD"), cancellable = true) - private void fabric_onProfilelessChatMessage(ChatType.Bound boundChatType, Component content, Instant receptionTimestamp, CallbackInfoReturnable cir) { - fabric_onChatMessage(boundChatType.decorate(content), null, null, boundChatType, receptionTimestamp, cir); + private void fabric_onProfilelessChatMessage(ChatType.Bound boundChatType, Component message, Instant received, CallbackInfoReturnable cir) { + fabric_onChatMessage(boundChatType.decorate(message), null, null, boundChatType, received, cir); } @Unique diff --git a/fabric-message-api-v1/src/main/java/net/fabricmc/fabric/mixin/message/PlayerListMixin.java b/fabric-message-api-v1/src/main/java/net/fabricmc/fabric/mixin/message/PlayerListMixin.java index b08ab11c210..bf5a2436a5e 100644 --- a/fabric-message-api-v1/src/main/java/net/fabricmc/fabric/mixin/message/PlayerListMixin.java +++ b/fabric-message-api-v1/src/main/java/net/fabricmc/fabric/mixin/message/PlayerListMixin.java @@ -42,17 +42,17 @@ public abstract class PlayerListMixin { private MinecraftServer server; @Inject(method = "broadcastChatMessage(Lnet/minecraft/network/chat/PlayerChatMessage;Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/network/chat/ChatType$Bound;)V", at = @At("HEAD"), cancellable = true) - private void onSendChatMessage(PlayerChatMessage message, ServerPlayer sender, ChatType.Bound boundChatType, CallbackInfo ci) { - if (!ServerMessageEvents.ALLOW_CHAT_MESSAGE.invoker().allowChatMessage(message, sender, boundChatType)) { + private void onSendChatMessage(PlayerChatMessage message, ServerPlayer sender, ChatType.Bound chatType, CallbackInfo ci) { + if (!ServerMessageEvents.ALLOW_CHAT_MESSAGE.invoker().allowChatMessage(message, sender, chatType)) { ci.cancel(); return; } - ServerMessageEvents.CHAT_MESSAGE.invoker().onChatMessage(message, sender, boundChatType); + ServerMessageEvents.CHAT_MESSAGE.invoker().onChatMessage(message, sender, chatType); } @Inject(method = "broadcastSystemMessage(Lnet/minecraft/network/chat/Component;Ljava/util/function/Function;Z)V", at = @At("HEAD"), cancellable = true) - private void onSendGameMessage(Component message, Function playerMessageFactory, boolean overlay, CallbackInfo ci) { + private void onSendGameMessage(Component message, Function playerMessages, boolean overlay, CallbackInfo ci) { if (!ServerMessageEvents.ALLOW_GAME_MESSAGE.invoker().allowGameMessage(this.server, message, overlay)) { ci.cancel(); return; @@ -62,12 +62,12 @@ private void onSendGameMessage(Component message, Function replaceWeightedCodec(Codec>> codec, Function to, Function from) { + private static Codec replaceWeightedCodec(Codec>> codec, Function _to, Function from) { return CustomUnbakedBlockStateModelRegistry.WEIGHTED_MODEL_CODEC; } @Redirect(method = "()V", at = @At(value = "INVOKE", target = "Lcom/mojang/serialization/Codec;flatComapMap(Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;", ordinal = 1)) - private static Codec replaceCodec(Codec> codec, Function to, Function from) { + private static Codec replaceCodec(Codec> codec, Function _to, Function from) { return CustomUnbakedBlockStateModelRegistry.MODEL_CODEC; } } diff --git a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java index 3810b7949c5..020b2b3e264 100644 --- a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java +++ b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelBakeryMixin.java @@ -83,7 +83,7 @@ private BiFunction hoo } @ModifyReturnValue(method = "bakeModels", at = @At("RETURN")) - private CompletableFuture withExtraModels(CompletableFuture models, @Local(argsOnly = true, name = "taskExecutor") Executor executor, @Local(name = "baker") ModelBakery.ModelBakerImpl baker) { + private CompletableFuture withExtraModels(CompletableFuture models, @Local(argsOnly = true, name = "taskExecutor") Executor taskExecutor, @Local(name = "baker") ModelBakery.ModelBakerImpl baker) { if (fabric_eventDispatcher == null) return models; CompletableFuture, Object>> extraModels = ParallelMapTransform.schedule(fabric_eventDispatcher.getExtraModels(), (key, model) -> { @@ -93,7 +93,7 @@ private CompletableFuture withExtraModels(CompletableF LOGGER.warn("Unable to bake extra model: '{}'", key, e); return null; } - }, executor); + }, taskExecutor); return models.thenCombine(extraModels, (res, extra) -> { ((BakedModelsHooks) (Object) res).fabric_setExtraModels(extra); return res; @@ -112,11 +112,11 @@ private static BlockStateModel wrapBlockModelBake(BlockStateModel.UnbakedRoot un } @WrapOperation(method = "lambda$bakeModels$1", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/item/ItemModel$Unbaked;bake(Lnet/minecraft/client/renderer/item/ItemModel$BakingContext;)Lnet/minecraft/client/renderer/item/ItemModel;")) - private ItemModel wrapItemModelBake(ItemModel.Unbaked unbakedModel, ItemModel.BakingContext bakeContext, Operation operation, @Local(argsOnly = true, name = "location") Identifier itemId) { + private ItemModel wrapItemModelBake(ItemModel.Unbaked unbakedModel, ItemModel.BakingContext bakeContext, Operation operation, @Local(argsOnly = true, name = "location") Identifier location) { if (fabric_eventDispatcher == null) { return operation.call(unbakedModel, bakeContext); } - return fabric_eventDispatcher.modifyItemModel(unbakedModel, itemId, bakeContext, operation); + return fabric_eventDispatcher.modifyItemModel(unbakedModel, location, bakeContext, operation); } } diff --git a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelManagerMixin.java b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelManagerMixin.java index a5cc8766a99..8295481cfc8 100644 --- a/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelManagerMixin.java +++ b/fabric-model-loading-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/model/loading/ModelManagerMixin.java @@ -69,8 +69,8 @@ abstract class ModelManagerMixin implements FabricModelManager { } @Inject(method = "reload", at = @At("HEAD")) - private void onHeadReload(PreparableReloadListener.SharedState sharedState, Executor prepareExecutor, PreparableReloadListener.PreparationBarrier synchronizer, Executor applyExecutor, CallbackInfoReturnable> cir) { - eventDispatcherFuture = ModelLoadingPluginManager.preparePlugins(sharedState, prepareExecutor).thenApplyAsync(ModelLoadingEventDispatcher::new, prepareExecutor); + private void onHeadReload(PreparableReloadListener.SharedState currentReload, Executor taskExecutor, PreparableReloadListener.PreparationBarrier preparationBarrier, Executor reloadExecutor, CallbackInfoReturnable> cir) { + eventDispatcherFuture = ModelLoadingPluginManager.preparePlugins(currentReload, taskExecutor).thenApplyAsync(ModelLoadingEventDispatcher::new, taskExecutor); } @ModifyReturnValue(method = "reload", at = @At("RETURN")) @@ -118,12 +118,12 @@ private Function withModelDispatcher(Function function) { @Inject(method = "discoverModelDependencies", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/resources/model/ModelDiscovery;resolve()Ljava/util/Map;")) private static void resolveExtraModels( - Map modelMap, BlockStateModelLoader.LoadedModels stateDefinition, ClientItemInfoLoader.LoadedClientInfos result, CallbackInfoReturnable cir, - @Local(name = "result") ModelDiscovery collector + Map allModels, BlockStateModelLoader.LoadedModels blockStateModels, ClientItemInfoLoader.LoadedClientInfos itemInfos, CallbackInfoReturnable cir, + @Local(name = "result") ModelDiscovery result ) { // We know eventDispatcherFuture is available, as it is required by the item and block models (hookModels). ModelLoadingEventDispatcher eventDispatcher = ModelLoadingEventDispatcher.CURRENT.get(); - if (eventDispatcher != null) eventDispatcher.getExtraModels().values().forEach(collector::addRoot); + if (eventDispatcher != null) eventDispatcher.getExtraModels().values().forEach(result::addRoot); } @Inject(method = "apply", at = @At(value = "RETURN")) diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/BundlePacketMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/BundlePacketMixin.java index 9427181b67f..7b947febf70 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/BundlePacketMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/BundlePacketMixin.java @@ -30,10 +30,10 @@ @Mixin(BundlePacket.class) public class BundlePacketMixin { @ModifyVariable(method = "", at = @At("HEAD"), argsOnly = true, name = "packets") - private static Iterable> flattenBundlePackets(Iterable> value) { - var packets = new ArrayList>(); - iterateBundle(value, packets); - return packets; + private static Iterable> flattenBundlePackets(Iterable> packets) { + var newPackets = new ArrayList>(); + iterateBundle(packets, newPackets); + return newPackets; } @Unique diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientboundCustomPayloadPacketMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientboundCustomPayloadPacketMixin.java index 9ad3d6967d6..3e8a62150e8 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientboundCustomPayloadPacketMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientboundCustomPayloadPacketMixin.java @@ -55,8 +55,8 @@ public class ClientboundCustomPayloadPacketMixin implements SplittablePacket, Ge ordinal = 0 ) ) - private static StreamCodec wrapPlayCodec(CustomPacketPayload.FallbackProvider unknownCodecFactory, List> types, Operation> original) { - StreamCodec codec = original.call(unknownCodecFactory, types); + private static StreamCodec wrapPlayCodec(CustomPacketPayload.FallbackProvider fallback, List> types, Operation> original) { + StreamCodec codec = original.call(fallback, types); FabricCustomPayloadStreamCodec fabricCodec = (FabricCustomPayloadStreamCodec) codec; fabricCodec.fabric_setCustomPayloadTypeProvider((buf, identifier) -> PayloadTypeRegistryImpl.CLIENTBOUND_PLAY.get(identifier)); return codec; @@ -70,8 +70,8 @@ private static StreamCodec wrapPla ordinal = 1 ) ) - private static StreamCodec wrapConfigCodec(CustomPacketPayload.FallbackProvider unknownCodecFactory, List> types, Operation> original) { - StreamCodec codec = original.call(unknownCodecFactory, types); + private static StreamCodec wrapConfigCodec(CustomPacketPayload.FallbackProvider fallback, List> types, Operation> original) { + StreamCodec codec = original.call(fallback, types); FabricCustomPayloadStreamCodec fabricCodec = (FabricCustomPayloadStreamCodec) codec; fabricCodec.fabric_setCustomPayloadTypeProvider((buf, identifier) -> PayloadTypeRegistryImpl.CLIENTBOUND_CONFIGURATION.get(identifier)); return codec; diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientboundCustomQueryPacketMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientboundCustomQueryPacketMixin.java index bede7a77a91..62bf27c4d48 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientboundCustomQueryPacketMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ClientboundCustomQueryPacketMixin.java @@ -38,7 +38,7 @@ public class ClientboundCustomQueryPacketMixin { private static int MAX_PAYLOAD_SIZE; @Inject(method = "readPayload", at = @At("HEAD"), cancellable = true) - private static void readPayload(Identifier id, FriendlyByteBuf buf, CallbackInfoReturnable cir) { - cir.setReturnValue(new FriendlyByteBufLoginQueryRequestPayload(id, PayloadHelper.read(buf, MAX_PAYLOAD_SIZE))); + private static void readPayload(Identifier id, FriendlyByteBuf input, CallbackInfoReturnable cir) { + cir.setReturnValue(new FriendlyByteBufLoginQueryRequestPayload(id, PayloadHelper.read(input, MAX_PAYLOAD_SIZE))); } } diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/CommandsMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/CommandsMixin.java index 02adbf9493e..d6f09315648 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/CommandsMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/CommandsMixin.java @@ -39,7 +39,7 @@ public class CommandsMixin { private CommandDispatcher dispatcher; @Inject(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/commands/BanIpCommands;register(Lcom/mojang/brigadier/CommandDispatcher;)V")) - private void init(Commands.CommandSelection environment, CommandBuildContext context, CallbackInfo ci) { + private void init(Commands.CommandSelection commandSelection, CommandBuildContext context, CallbackInfo ci) { if (SharedConstants.IS_RUNNING_IN_IDE) { // Command is registered when isDevelopment is set. return; diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java index 4a6a09d2dfe..df977451f7a 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ConnectionMixin.java @@ -61,26 +61,26 @@ abstract class ConnectionMixin implements ChannelInfoHolder { private Map> playChannels; @Inject(method = "", at = @At("RETURN")) - private void initAddedFields(PacketFlow flow, CallbackInfo ci) { + private void initAddedFields(PacketFlow receiving, CallbackInfo ci) { this.playChannels = new ConcurrentHashMap<>(); } @Inject(method = "sendPacket", at = @At(value = "FIELD", target = "Lnet/minecraft/network/Connection;sentPackets:I", opcode = Opcodes.GETFIELD)) - private void checkPacket(Packet packet, ChannelFutureListener callback, boolean flush, CallbackInfo ci) { + private void checkPacket(Packet packet, ChannelFutureListener listener, boolean flush, CallbackInfo ci) { if (this.packetListener instanceof PacketCallbackListener) { ((PacketCallbackListener) this.packetListener).sent(packet); } } @Inject(method = "validateListener", at = @At("HEAD")) - private void unwatchAddon(ProtocolInfo protocolInfo, PacketListener listener, CallbackInfo ci) { + private void unwatchAddon(ProtocolInfo protocol, PacketListener packetListener, CallbackInfo ci) { if (this.packetListener instanceof PacketListenerExtensions oldListener) { oldListener.getAddon().endSession(); } } @Inject(method = "channelInactive", at = @At("HEAD")) - private void disconnectAddon(ChannelHandlerContext channelHandlerContext, CallbackInfo ci) { + private void disconnectAddon(ChannelHandlerContext ctx, CallbackInfo ci) { if (packetListener instanceof PacketListenerExtensions extension) { extension.getAddon().handleDisconnect(); } @@ -94,22 +94,22 @@ private void disconnectAddon(CallbackInfo ci) { } @ModifyArg(method = "setupInboundProtocol", at = @At(value = "INVOKE", target = "Lio/netty/channel/Channel;writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;")) - private Object injectFabricPacketSlitterHandlerInbound(Object transitioner, @Local(argsOnly = true, name = "protocol") ProtocolInfo protocolInfo) { - PayloadTypeRegistryImpl payloadTypeRegistry = PayloadTypeRegistryImpl.get(protocolInfo); + private Object injectFabricPacketSlitterHandlerInbound(Object transitioner, @Local(argsOnly = true, name = "protocol") ProtocolInfo protocol) { + PayloadTypeRegistryImpl payloadTypeRegistry = PayloadTypeRegistryImpl.get(protocol); if (payloadTypeRegistry == null) { return transitioner; } return ((UnconfiguredPipelineHandler.InboundConfigurationTask) transitioner).andThen((context) -> { - FabricPacketMerger merger = new FabricPacketMerger(context.pipeline().get(PacketDecoder.class), payloadTypeRegistry, VanillaPacketTypes.get(protocolInfo)); + FabricPacketMerger merger = new FabricPacketMerger(context.pipeline().get(PacketDecoder.class), payloadTypeRegistry, VanillaPacketTypes.get(protocol)); context.pipeline().addAfter("decoder", "fabric:merger", merger); }); } @ModifyArg(method = "setupOutboundProtocol", at = @At(value = "INVOKE", target = "Lio/netty/channel/Channel;writeAndFlush(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;")) - private Object injectFabricPacketSlitterHandlerOutbound(Object transitioner, @Local(argsOnly = true, name = "protocol") ProtocolInfo protocolInfo) { - PayloadTypeRegistryImpl payloadTypeRegistry = PayloadTypeRegistryImpl.get(protocolInfo); + private Object injectFabricPacketSlitterHandlerOutbound(Object transitioner, @Local(argsOnly = true, name = "protocol") ProtocolInfo protocol) { + PayloadTypeRegistryImpl payloadTypeRegistry = PayloadTypeRegistryImpl.get(protocol); if (payloadTypeRegistry == null) { return transitioner; diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/IdDispatchCodecMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/IdDispatchCodecMixin.java index 67cf556330a..da47ae6d6cc 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/IdDispatchCodecMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/IdDispatchCodecMixin.java @@ -34,17 +34,17 @@ public abstract class IdDispatchCodecMixin implements StreamCodec { // Add the custom payload id to the error message @Inject(method = "encode(Lio/netty/buffer/ByteBuf;Ljava/lang/Object;)V", at = @At(value = "NEW", target = "(Ljava/lang/String;Ljava/lang/Throwable;)Lio/netty/handler/codec/EncoderException;")) - public void encode(B byteBuf, V packet, CallbackInfo ci, @Local(name = "type") T packetType, @Local(name = "e") Exception e) { + public void encode(B output, V value, CallbackInfo ci, @Local(name = "type") T type, @Local(name = "e") Exception e) { CustomPacketPayload payload = null; - if (packet instanceof ServerboundCustomPayloadPacket customPayloadPacket) { + if (value instanceof ServerboundCustomPayloadPacket customPayloadPacket) { payload = customPayloadPacket.payload(); - } else if (packet instanceof ClientboundCustomPayloadPacket customPayloadPacket) { + } else if (value instanceof ClientboundCustomPayloadPacket customPayloadPacket) { payload = customPayloadPacket.payload(); } if (payload != null && payload.type() != null) { - throw new EncoderException("Failed to encode packet '%s' (%s)".formatted(packetType, payload.type().id().toString()), e); + throw new EncoderException("Failed to encode packet '%s' (%s)".formatted(type, payload.type().id().toString()), e); } } } diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/PacketEncoderMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/PacketEncoderMixin.java index 96c472806ea..59222e374fc 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/PacketEncoderMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/PacketEncoderMixin.java @@ -32,9 +32,9 @@ @Mixin(value = PacketEncoder.class, priority = 500) public class PacketEncoderMixin { @Inject(method = "encode(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/protocol/Packet;Lio/netty/buffer/ByteBuf;)V", at = @At("HEAD"), cancellable = true) - private void handlePassthroughPacket(ChannelHandlerContext channelHandlerContext, Packet packet, ByteBuf byteBuf, CallbackInfo ci) { + private void handlePassthroughPacket(ChannelHandlerContext ctx, Packet packet, ByteBuf output, CallbackInfo ci) { if (packet instanceof PassthroughPacket passthroughPacket) { - byteBuf.writeBytes(passthroughPacket.buf()); + output.writeBytes(passthroughPacket.buf()); ci.cancel(); } } diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/PlayerListMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/PlayerListMixin.java index 75a9891b07f..84b36ea2184 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/PlayerListMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/PlayerListMixin.java @@ -31,7 +31,7 @@ @Mixin(PlayerList.class) abstract class PlayerListMixin { @Inject(method = "placeNewPlayer", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/protocol/game/ClientboundPlayerAbilitiesPacket;(Lnet/minecraft/world/entity/player/Abilities;)V")) - private void handlePlayerConnection(Connection connection, ServerPlayer player, CommonListenerCookie arg, CallbackInfo ci) { + private void handlePlayerConnection(Connection connection, ServerPlayer player, CommonListenerCookie cookie, CallbackInfo ci) { ServerNetworkingImpl.getAddon(player.connection).onClientReady(); } } diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerCommonPacketListenerImplMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerCommonPacketListenerImplMixin.java index ba4c4f7afd0..12358b35a22 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerCommonPacketListenerImplMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerCommonPacketListenerImplMixin.java @@ -63,9 +63,9 @@ private void handleCustomPayloadReceivedAsync(ServerboundCustomPayloadPacket pac } @Inject(method = "handlePong", at = @At("HEAD")) - private void onPlayPong(ServerboundPongPacket packet, CallbackInfo ci) { + private void onPlayPong(ServerboundPongPacket serverboundPongPacket, CallbackInfo ci) { if (getAddon() instanceof ServerConfigurationNetworkAddon addon) { - addon.onPong(packet.getId()); + addon.onPong(serverboundPongPacket.getId()); } } } diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerConfigurationPacketListenerImplMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerConfigurationPacketListenerImplMixin.java index 2f71b02342f..c9ae7d369a2 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerConfigurationPacketListenerImplMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerConfigurationPacketListenerImplMixin.java @@ -54,7 +54,7 @@ public abstract class ServerConfigurationPacketListenerImplMixin extends ServerC private ConfigurationTask currentTask; @Shadow - protected abstract void finishCurrentTask(ConfigurationTask.Type key); + protected abstract void finishCurrentTask(ConfigurationTask.Type taskTypeToFinish); @Shadow @Final @@ -177,8 +177,8 @@ public void completeTask(ConfigurationTask.Type key) { } @WrapOperation(method = "handleConfigurationFinished", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/RegistryFriendlyByteBuf;decorator(Lnet/minecraft/core/RegistryAccess;)Ljava/util/function/Function;")) - private Function bindChannelInfo(RegistryAccess registryManager, Operation> original) { - return original.call(registryManager).andThen(registryByteBuf -> { + private Function bindChannelInfo(RegistryAccess registryAccess, Operation> original) { + return original.call(registryAccess).andThen(registryByteBuf -> { FabricRegistryFriendlyByteBuf fabricRegistryFriendlyByteBuf = (FabricRegistryFriendlyByteBuf) registryByteBuf; fabricRegistryFriendlyByteBuf.fabric_setSendableConfigurationChannels(Set.copyOf(addon.getSendableChannels())); return registryByteBuf; diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerGamePacketListenerImplMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerGamePacketListenerImplMixin.java index 20e8d1f11c5..b27bb18f22b 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerGamePacketListenerImplMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerGamePacketListenerImplMixin.java @@ -73,8 +73,8 @@ private void handleCustomPayloadReceivedAsync(ServerboundCustomPayloadPacket pac } @WrapOperation(method = "handleConfigurationAcknowledged", at = @At(value = "INVOKE", target = "Lnet/minecraft/network/Connection;setupInboundProtocol(Lnet/minecraft/network/ProtocolInfo;Lnet/minecraft/network/PacketListener;)V")) - private void onAcknowledgeReconfiguration(Connection instance, ProtocolInfo protocolInfo, T packetListener, Operation original) { - original.call(instance, protocolInfo, packetListener); + private void onAcknowledgeReconfiguration(Connection instance, ProtocolInfo protocol, T packetListener, Operation original) { + original.call(instance, protocol, packetListener); ServerConfigurationPacketListenerImpl configPacketListener = (ServerConfigurationPacketListenerImpl) packetListener; ServerNetworkingImpl.getAddon(configPacketListener).setReconfiguring(); diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerLoginPacketListenerImplMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerLoginPacketListenerImplMixin.java index eae4c8e3298..6b74f889410 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerLoginPacketListenerImplMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerLoginPacketListenerImplMixin.java @@ -39,7 +39,7 @@ @Mixin(ServerLoginPacketListenerImpl.class) abstract class ServerLoginPacketListenerImplMixin implements PacketListenerExtensions, PacketCallbackListener { @Shadow - protected abstract void verifyLoginAndFinishConnectionSetup(GameProfile gameProfile); + protected abstract void verifyLoginAndFinishConnectionSetup(GameProfile profile); @Unique private ServerLoginNetworkAddon addon; diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerboundCustomPayloadPacketMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerboundCustomPayloadPacketMixin.java index fc9343f5700..3314edd6985 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerboundCustomPayloadPacketMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerboundCustomPayloadPacketMixin.java @@ -54,8 +54,8 @@ public class ServerboundCustomPayloadPacketMixin implements SplittablePacket, Ge target = "Lnet/minecraft/network/protocol/common/custom/CustomPacketPayload;codec(Lnet/minecraft/network/protocol/common/custom/CustomPacketPayload$FallbackProvider;Ljava/util/List;)Lnet/minecraft/network/codec/StreamCodec;" ) ) - private static StreamCodec wrapCodec(CustomPacketPayload.FallbackProvider unknownCodecFactory, List> types, Operation> original) { - StreamCodec codec = original.call(unknownCodecFactory, types); + private static StreamCodec wrapCodec(CustomPacketPayload.FallbackProvider fallback, List> types, Operation> original) { + StreamCodec codec = original.call(fallback, types); FabricCustomPayloadStreamCodec fabricCodec = (FabricCustomPayloadStreamCodec) codec; fabricCodec.fabric_setCustomPayloadTypeProvider((friendlyByteBuf, identifier) -> { // ServerboundCustomPayloadPacket does not have a separate codec for play/configuration. We know if the friendlyByteBuf is a FriendlyByteBuf we are in the play phase. diff --git a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerboundCustomQueryAnswerPacketMixin.java b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerboundCustomQueryAnswerPacketMixin.java index dc2583cd69f..219b3e56e8e 100644 --- a/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerboundCustomQueryAnswerPacketMixin.java +++ b/fabric-networking-api-v1/src/main/java/net/fabricmc/fabric/mixin/networking/ServerboundCustomQueryAnswerPacketMixin.java @@ -37,14 +37,14 @@ public class ServerboundCustomQueryAnswerPacketMixin { private static int MAX_PAYLOAD_SIZE; @Inject(method = "readPayload", at = @At("HEAD"), cancellable = true) - private static void readResponse(int queryId, FriendlyByteBuf buf, CallbackInfoReturnable cir) { - boolean hasPayload = buf.readBoolean(); + private static void readResponse(int transactionId, FriendlyByteBuf input, CallbackInfoReturnable cir) { + boolean hasPayload = input.readBoolean(); if (!hasPayload) { cir.setReturnValue(null); return; } - cir.setReturnValue(new FriendlyByteBufLoginQueryResponse(PayloadHelper.read(buf, MAX_PAYLOAD_SIZE))); + cir.setReturnValue(new FriendlyByteBufLoginQueryResponse(PayloadHelper.read(input, MAX_PAYLOAD_SIZE))); } } diff --git a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/HangingSignEditScreenMixin.java b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/HangingSignEditScreenMixin.java index 2bc57ac409b..7b44a3c359e 100644 --- a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/HangingSignEditScreenMixin.java +++ b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/HangingSignEditScreenMixin.java @@ -33,12 +33,12 @@ private HangingSignEditScreenMixin(SignBlockEntity blockEntity, boolean filtered } @WrapOperation(method = "", at = @At(value = "INVOKE", target = "Lnet/minecraft/resources/Identifier;withDefaultNamespace(Ljava/lang/String;)Lnet/minecraft/resources/Identifier;")) - private Identifier init(String id, Operation original) { + private Identifier init(String path, Operation original) { if (woodType.name().indexOf(Identifier.NAMESPACE_SEPARATOR) != -1) { Identifier identifier = Identifier.parse(woodType.name()); - return identifier.withPath(path -> "textures/gui/hanging_signs/" + path + ".png"); + return identifier.withPath(p -> "textures/gui/hanging_signs/" + p + ".png"); } - return original.call(id); + return original.call(path); } } diff --git a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/SheetsMixin.java b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/SheetsMixin.java index 46da449642a..636d5f57c7c 100644 --- a/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/SheetsMixin.java +++ b/fabric-object-builder-api-v1/src/client/java/net/fabricmc/fabric/mixin/object/builder/client/SheetsMixin.java @@ -37,12 +37,12 @@ private static void onReturnClinit(CallbackInfo ci) { } @Redirect(method = "createSignMaterial", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/MaterialMapper;defaultNamespaceApply(Ljava/lang/String;)Lnet/minecraft/client/resources/model/Material;")) - private static Material redirectSignVanillaId(MaterialMapper instance, String name) { - return instance.apply(Identifier.parse(name)); + private static Material redirectSignVanillaId(MaterialMapper instance, String path) { + return instance.apply(Identifier.parse(path)); } @Redirect(method = "createHangingSignMaterial", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/MaterialMapper;defaultNamespaceApply(Ljava/lang/String;)Lnet/minecraft/client/resources/model/Material;")) - private static Material redirectHangingVanillaId(MaterialMapper instance, String name) { - return instance.apply(Identifier.parse(name)); + private static Material redirectHangingVanillaId(MaterialMapper instance, String path) { + return instance.apply(Identifier.parse(path)); } } diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/BlockEntityTypeMixin.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/BlockEntityTypeMixin.java index f22242eafca..bb894ff8369 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/BlockEntityTypeMixin.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/BlockEntityTypeMixin.java @@ -42,7 +42,7 @@ public class BlockEntityTypeMixin implements FabricBlockE private Set validBlocks; @Inject(method = "", at = @At("RETURN")) - private void mutableBlocks(BlockEntityType.BlockEntitySupplier factory, Set blocks, CallbackInfo ci) { + private void mutableBlocks(BlockEntityType.BlockEntitySupplier factory, Set validBlocks, CallbackInfo ci) { if (!(this.validBlocks instanceof HashSet)) { this.validBlocks = new HashSet<>(this.validBlocks); } diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/DetectorRailBlockMixin.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/DetectorRailBlockMixin.java index 17bbdcfe4b1..0dd48a90b08 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/DetectorRailBlockMixin.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/DetectorRailBlockMixin.java @@ -38,7 +38,7 @@ @Mixin(DetectorRailBlock.class) public abstract class DetectorRailBlockMixin { @Shadow - protected abstract List getInteractingMinecartOfType(Level level, BlockPos blockPos, Class class_, Predicate predicate); + protected abstract List getInteractingMinecartOfType(Level level, BlockPos pos, Class type, Predicate containerEntitySelector); @Inject(at = @At("HEAD"), method = "getAnalogOutputSignal", cancellable = true) private void getCustomComparatorOutput(BlockState state, Level level, BlockPos pos, Direction direction, CallbackInfoReturnable cir) { diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/DimensionDataStorageMixin.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/DimensionDataStorageMixin.java index 6f8676efb5c..41e84c3cf3f 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/DimensionDataStorageMixin.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/DimensionDataStorageMixin.java @@ -32,11 +32,11 @@ class DimensionDataStorageMixin { * Handle mods passing a null DataFixTypes to a PersistentState.Type. */ @WrapOperation(method = "readTagFromDisk", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/datafix/DataFixTypes;update(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/nbt/CompoundTag;II)Lnet/minecraft/nbt/CompoundTag;")) - private CompoundTag handleNullDataFixType(DataFixTypes dataFixTypes, DataFixer dataFixer, CompoundTag nbt, int oldVersion, int newVersion, Operation original) { + private CompoundTag handleNullDataFixType(DataFixTypes dataFixTypes, DataFixer fixer, CompoundTag tag, int fromVersion, int toVersion, Operation original) { if (dataFixTypes == null) { - return nbt; + return tag; } - return original.call(dataFixTypes, dataFixer, nbt, oldVersion, newVersion); + return original.call(dataFixTypes, fixer, tag, fromVersion, toVersion); } } diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityDataSerializersMixin.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityDataSerializersMixin.java index 0d12128b134..e6b9e8341f6 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityDataSerializersMixin.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityDataSerializersMixin.java @@ -35,9 +35,9 @@ private static void storeVanillaHandlers(CallbackInfo ci) { } @Inject(method = "registerSerializer(Lnet/minecraft/network/syncher/EntityDataSerializer;)V", at = @At("HEAD")) - private static void onHeadRegister(EntityDataSerializer handler, CallbackInfo ci) { + private static void onHeadRegister(EntityDataSerializer serializer, CallbackInfo ci) { if (FabricEntityDataRegistryImpl.hasStoredVanillaHandlers() && FabricLoader.getInstance().isDevelopmentEnvironment()) { - throw new IllegalStateException("Tried to register entity data serializer " + handler + " using registerSerializer.registerSerializer. This is not allowed as it can lead to desynchronization issues; use FabricEntityDataRegistry.register instead."); + throw new IllegalStateException("Tried to register entity data serializer " + serializer + " using registerSerializer.registerSerializer. This is not allowed as it can lead to desynchronization issues; use FabricEntityDataRegistry.register instead."); } } } diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityTypeBuilderMixin.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityTypeBuilderMixin.java index 97fdf7e7799..da128e2d248 100644 --- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityTypeBuilderMixin.java +++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/mixin/object/builder/EntityTypeBuilderMixin.java @@ -43,7 +43,7 @@ @Mixin(EntityType.Builder.class) public abstract class EntityTypeBuilderMixin implements FabricEntityType.Builder, FabricEntityTypeImpl.Builder { @Shadow - public abstract EntityType build(ResourceKey> resourceKey); + public abstract EntityType build(ResourceKey> name); @Unique @Nullable @@ -70,7 +70,7 @@ public EntityType.Builder canPotentiallyExecuteCommands(boolean canPotentiall } @Inject(method = "build", at = @At("RETURN")) - private void applyChildBuilders(ResourceKey> resourceKey, CallbackInfoReturnable> cir) { + private void applyChildBuilders(ResourceKey> name, CallbackInfoReturnable> cir) { if (!(cir.getReturnValue() instanceof FabricEntityTypeImpl entityType)) { throw new IllegalStateException(); } @@ -100,13 +100,13 @@ private static EntityType castMob( } @WrapOperation(method = "build", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Util;fetchChoiceType(Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;")) - private @Nullable Type allowNoModdedDatafixers(DSL.TypeReference typeReference, String id, Operation> original, @Local(argsOnly = true, name = "name") ResourceKey> resourceKey) { - if (!resourceKey.identifier().getNamespace().equals(Identifier.DEFAULT_NAMESPACE)) { + private @Nullable Type allowNoModdedDatafixers(DSL.TypeReference reference, String id, Operation> original, @Local(argsOnly = true, name = "name") ResourceKey> name) { + if (!name.identifier().getNamespace().equals(Identifier.DEFAULT_NAMESPACE)) { // Don't try to resolve the choice type for modded entities. return null; } - return original.call(typeReference, id); + return original.call(reference, id); } @Override diff --git a/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java b/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java index b84780c700b..9a5fe5f584c 100644 --- a/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java +++ b/fabric-particles-v1/src/client/java/net/fabricmc/fabric/mixin/client/particle/TerrainParticleMixin.java @@ -58,23 +58,23 @@ private TerrainParticleMixin() { allow = 1, name = "blockState" ) - private BlockState removeUntintableParticles(BlockState state, @Local(argsOnly = true, name = "level") ClientLevel level, @Local(argsOnly = true, name = "pos") BlockPos blockPos) { - if (!ParticleRenderEvents.ALLOW_TERRAIN_PARTICLE_TINT.invoker().allowTerrainParticleTint(state, level, blockPos)) { + private BlockState removeUntintableParticles(BlockState blockState, @Local(argsOnly = true, name = "level") ClientLevel level, @Local(argsOnly = true, name = "pos") BlockPos pos) { + if (!ParticleRenderEvents.ALLOW_TERRAIN_PARTICLE_TINT.invoker().allowTerrainParticleTint(blockState, level, pos)) { // As of 1.20.1, vanilla hardcodes grass block particles to not get tinted. return Blocks.GRASS_BLOCK.defaultBlockState(); } - return state; + return blockState; } @Redirect(method = "createTerrainParticle", at = @At(value = "NEW", target = "(Lnet/minecraft/client/multiplayer/ClientLevel;DDDDDDLnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/particle/TerrainParticle;")) - private static TerrainParticle constructTerrainParticle(ClientLevel level, double x, double y, double z, double velocityX, double velocityY, double velocityZ, BlockState state, BlockParticleOption parameters, ClientLevel world1, double x1, double y1, double z1, double velocityX1, double velocityY1, double velocityZ1) { - BlockPos blockPos = parameters.getBlockPos(); + private static TerrainParticle constructTerrainParticle(ClientLevel level, double x, double y, double z, double xa, double ya, double za, BlockState blockState, BlockParticleOption options, ClientLevel level1, double x1, double y1, double z1, double xAux, double yAux, double zAux) { + BlockPos blockPos = options.getBlockPos(); if (blockPos != null) { - return new TerrainParticle(level, x, y, z, velocityX, velocityY, velocityZ, state, blockPos); + return new TerrainParticle(level, x, y, z, xa, ya, za, blockState, blockPos); } else { - return new TerrainParticle(level, x, y, z, velocityX, velocityY, velocityZ, state); + return new TerrainParticle(level, x, y, z, xa, ya, za, blockState); } } } diff --git a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/BrushItemMixin.java b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/BrushItemMixin.java index 90e06f81b22..37810a4aa9c 100644 --- a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/BrushItemMixin.java +++ b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/BrushItemMixin.java @@ -33,7 +33,7 @@ @Mixin(BrushItem.class) abstract class BrushItemMixin { @ModifyExpressionValue(method = "spawnDustParticles", at = @At(value = "NEW", target = "(Lnet/minecraft/core/particles/ParticleType;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/core/particles/BlockParticleOption;")) - private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, Level level, BlockHitResult hitResult, BlockState state, Vec3 userRotation, HumanoidArm arm) { + private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, Level level, BlockHitResult hitResult, BlockState state, Vec3 viewVector, HumanoidArm brushingArm) { ((BlockParticleOptionExtension) original).fabric_setBlockPos(hitResult.getBlockPos()); return original; } diff --git a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/EntityMixin.java b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/EntityMixin.java index b026366ebce..cd048937565 100644 --- a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/EntityMixin.java +++ b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/EntityMixin.java @@ -30,8 +30,8 @@ @Mixin(Entity.class) abstract class EntityMixin { @ModifyExpressionValue(method = "spawnSprintParticle", at = @At(value = "NEW", target = "(Lnet/minecraft/core/particles/ParticleType;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/core/particles/BlockParticleOption;")) - private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, @Local(name = "pos") BlockPos blockPos) { - ((BlockParticleOptionExtension) original).fabric_setBlockPos(blockPos); + private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, @Local(name = "pos") BlockPos pos) { + ((BlockParticleOptionExtension) original).fabric_setBlockPos(pos); return original; } } diff --git a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/LivingEntityMixin.java b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/LivingEntityMixin.java index 4092a6a7162..352f9618d7e 100644 --- a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/LivingEntityMixin.java +++ b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/LivingEntityMixin.java @@ -30,8 +30,8 @@ @Mixin(LivingEntity.class) abstract class LivingEntityMixin { @ModifyExpressionValue(method = "checkFallDamage", at = @At(value = "NEW", target = "(Lnet/minecraft/core/particles/ParticleType;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/core/particles/BlockParticleOption;")) - private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { - ((BlockParticleOptionExtension) original).fabric_setBlockPos(landedPosition); + private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, double ya, boolean onGround, BlockState onState, BlockPos pos) { + ((BlockParticleOptionExtension) original).fabric_setBlockPos(pos); return original; } } diff --git a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/ServerPlayerMixin.java b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/ServerPlayerMixin.java index be25509efea..9044cec0c99 100644 --- a/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/ServerPlayerMixin.java +++ b/fabric-particles-v1/src/main/java/net/fabricmc/fabric/mixin/particle/ServerPlayerMixin.java @@ -30,8 +30,8 @@ @Mixin(ServerPlayer.class) abstract class ServerPlayerMixin { @ModifyExpressionValue(method = "checkFallDamage", at = @At(value = "NEW", target = "(Lnet/minecraft/core/particles/ParticleType;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/core/particles/BlockParticleOption;")) - private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { - ((BlockParticleOptionExtension) original).fabric_setBlockPos(landedPosition); + private BlockParticleOption modifyBlockStateParticleOption(BlockParticleOption original, double ya, boolean onGround, BlockState onState, BlockPos pos) { + ((BlockParticleOptionExtension) original).fabric_setBlockPos(pos); return original; } } diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/RecipeManagerMixin.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/RecipeManagerMixin.java index 3a905393a0f..b47355f10ec 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/RecipeManagerMixin.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/RecipeManagerMixin.java @@ -48,8 +48,8 @@ public abstract class RecipeManagerMixin implements FabricRecipeManager { private SynchronizedRecipes synchronizedRecipes = SynchronizedRecipesImpl.EMPTY; @Inject(method = "apply(Lnet/minecraft/world/item/crafting/RecipeMap;Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/util/profiling/ProfilerFiller;)V", at = @At("HEAD")) - private void updateSynchronizedRecipes(RecipeMap preparedRecipes, ResourceManager resourceManager, ProfilerFiller profiler, CallbackInfo ci) { - this.synchronizedRecipes = new SynchronizedRecipesImpl(preparedRecipes); + private void updateSynchronizedRecipes(RecipeMap recipes, ResourceManager manager, ProfilerFiller profiler, CallbackInfo ci) { + this.synchronizedRecipes = new SynchronizedRecipesImpl(recipes); } @Override diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/IngredientMixin.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/IngredientMixin.java index c95c68bf7b5..3a168f84d58 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/IngredientMixin.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/IngredientMixin.java @@ -105,8 +105,8 @@ private static void onGetEntries(Ingredient ingredient, CallbackInfoReturnable cir) { - if (obj instanceof CustomIngredientImpl) { + private void onHeadEquals(Object o, CallbackInfoReturnable cir) { + if (o instanceof CustomIngredientImpl) { // This will only get called when this isn't custom and other is custom, in which case the // ingredients can never be equal. cir.setReturnValue(false); diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/PacketEncoderMixin.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/PacketEncoderMixin.java index d3c8c6ab9cd..c296e93fffb 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/PacketEncoderMixin.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/PacketEncoderMixin.java @@ -39,8 +39,8 @@ public class PacketEncoderMixin { ), method = "encode(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/protocol/Packet;Lio/netty/buffer/ByteBuf;)V" ) - private void capturePacketEncoder(ChannelHandlerContext channelHandlerContext, Packet packet, ByteBuf byteBuf, CallbackInfo ci) { - ChannelHandler channelHandler = channelHandlerContext.pipeline().get("packet_handler"); + private void capturePacketEncoder(ChannelHandlerContext ctx, Packet packet, ByteBuf output, CallbackInfo ci) { + ChannelHandler channelHandler = ctx.pipeline().get("packet_handler"); if (channelHandler instanceof SupportedIngredientsConnection) { CustomIngredientSync.CURRENT_SUPPORTED_INGREDIENTS.set(((SupportedIngredientsConnection) channelHandler).fabric_getSupportedCustomIngredients()); @@ -64,7 +64,7 @@ private void capturePacketEncoder(ChannelHandlerContext channelHandlerContext, P }, method = "encode(Lio/netty/channel/ChannelHandlerContext;Lnet/minecraft/network/protocol/Packet;Lio/netty/buffer/ByteBuf;)V" ) - private void releasePacketEncoder(ChannelHandlerContext channelHandlerContext, Packet packet, ByteBuf byteBuf, CallbackInfo ci) { + private void releasePacketEncoder(ChannelHandlerContext ctx, Packet packet, ByteBuf output, CallbackInfo ci) { CustomIngredientSync.CURRENT_SUPPORTED_INGREDIENTS.set(null); } } diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/ShapelessRecipeMixin.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/ShapelessRecipeMixin.java index eaf88923e51..125109da3f1 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/ShapelessRecipeMixin.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/ingredient/ShapelessRecipeMixin.java @@ -56,12 +56,12 @@ private void cacheRequiresTesting(String group, CraftingBookCategory category, I } @Inject(at = @At("HEAD"), method = "matches(Lnet/minecraft/world/item/crafting/CraftingInput;Lnet/minecraft/world/level/Level;)Z", cancellable = true) - public void customIngredientMatch(CraftingInput recipeInput, Level level, CallbackInfoReturnable cir) { + public void customIngredientMatch(CraftingInput input, Level level, CallbackInfoReturnable cir) { if (fabric_requiresTesting) { - List nonEmptyStacks = new ArrayList<>(recipeInput.ingredientCount()); + List nonEmptyStacks = new ArrayList<>(input.ingredientCount()); - for (int i = 0; i < recipeInput.size(); ++i) { - ItemStack stack = recipeInput.getItem(i); + for (int i = 0; i < input.size(); ++i) { + ItemStack stack = input.getItem(i); if (!stack.isEmpty()) { nonEmptyStacks.add(stack); diff --git a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/sync/RecipeMapMixin.java b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/sync/RecipeMapMixin.java index 651d34af5c6..6dd8c88b847 100644 --- a/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/sync/RecipeMapMixin.java +++ b/fabric-recipe-api-v1/src/main/java/net/fabricmc/fabric/mixin/recipe/sync/RecipeMapMixin.java @@ -57,12 +57,12 @@ private static void provideSerializerMap(Iterable> recipes, Call } @Inject(method = "create", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableMap$Builder;put(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;")) - private static void fillSerializerMap(Iterable> recipes, CallbackInfoReturnable cir, @Local(name = "recipe") RecipeHolder entry, + private static void fillSerializerMap(Iterable> recipes, CallbackInfoReturnable cir, @Local(name = "recipe") RecipeHolder recipe, @Share("bySerializer") LocalRef, List>>> bySerializer) { - List> list = bySerializer.get().get(entry.value().getSerializer()); + List> list = bySerializer.get().get(recipe.value().getSerializer()); if (list != null) { - list.add(entry); + list.add(recipe); } } diff --git a/fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/MinecraftMixin.java b/fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/MinecraftMixin.java index f9c0c14e2ba..efcbf389549 100644 --- a/fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/MinecraftMixin.java +++ b/fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/MinecraftMixin.java @@ -44,7 +44,7 @@ public class MinecraftMixin { // Unmap the registry before loading a new SP/MP setup. @Inject(at = @At("RETURN"), method = "disconnect(Lnet/minecraft/client/gui/screens/Screen;ZZ)V") - public void disconnectAfter(Screen disconnectionScreen, boolean bl, boolean bl2, CallbackInfo ci) { + public void disconnectAfter(Screen screen, boolean keepResourcePacks, boolean stopSound, CallbackInfo ci) { try { unmap(); } catch (RemapException e) { diff --git a/fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/RegistryDataCollectorMixin.java b/fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/RegistryDataCollectorMixin.java index 42c3953123b..66224b6be94 100644 --- a/fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/RegistryDataCollectorMixin.java +++ b/fabric-registry-sync-v0/src/client/java/net/fabricmc/fabric/mixin/registry/sync/client/RegistryDataCollectorMixin.java @@ -42,8 +42,8 @@ public class RegistryDataCollectorMixin { * Keep the pre-24w04a behavior of removing empty registries, even if the client knows that registry. */ @WrapOperation(method = "loadNewElementsAndTags", at = @At(value = "FIELD", target = "Lnet/minecraft/resources/RegistryDataLoader;SYNCHRONIZED_REGISTRIES:Ljava/util/List;", opcode = Opcodes.GETSTATIC)) - private List> skipEmptyRegistries(Operation>> operation, ResourceProvider resourceFactory, @Coerce RegistryDataCollectorContentsCollectorAccessor storage, boolean bl) { - Map>, List> dynamicRegistries = storage.getElements(); + private List> skipEmptyRegistries(Operation>> operation, ResourceProvider knownDataSource, @Coerce RegistryDataCollectorContentsCollectorAccessor contentsCollector, boolean tagsForSynchronizedRegistriesOnly) { + Map>, List> dynamicRegistries = contentsCollector.getElements(); List> result = new ArrayList<>(operation.call()); result.removeIf(entry -> DynamicRegistriesImpl.SKIP_EMPTY_SYNC_REGISTRIES.contains(entry.key()) && !dynamicRegistries.containsKey(entry.key())); diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MappedRegistryMixin.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MappedRegistryMixin.java index a4f2b060931..51cdaa237d4 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MappedRegistryMixin.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MappedRegistryMixin.java @@ -91,10 +91,10 @@ public abstract class MappedRegistryMixin implements WritableRegistry, Rem private Map, Holder.Reference> byKey; @Shadow - public abstract Optional> getResourceKey(T entry); + public abstract Optional> getResourceKey(T thing); @Shadow - public abstract @Nullable T getValue(@Nullable Identifier id); + public abstract @Nullable T getValue(@Nullable Identifier key); @Shadow public abstract ResourceKey> key(); @@ -117,7 +117,7 @@ public abstract class MappedRegistryMixin implements WritableRegistry, Rem private Map aliases = new HashMap<>(); @Shadow - public abstract boolean containsKey(Identifier id); + public abstract boolean containsKey(Identifier key); @Shadow public abstract String toString(); @@ -140,7 +140,7 @@ public Event> fabric_getRemapEvent() { } @Inject(method = "(Lnet/minecraft/resources/ResourceKey;Lcom/mojang/serialization/Lifecycle;Z)V", at = @At("RETURN")) - private void init(ResourceKey key, Lifecycle lifecycle, boolean intrusive, CallbackInfo ci) { + private void init(ResourceKey key, Lifecycle initialLifecycle, boolean intrusiveHolders, CallbackInfo ci) { fabric_addObjectEvent = EventFactory.createArrayBacked(RegistryEntryAddedCallback.class, (callbacks) -> (rawId, id, object) -> { for (RegistryEntryAddedCallback callback : callbacks) { @@ -183,13 +183,13 @@ private void onChange(ResourceKey resourceKey) { } @Inject(method = "register", at = @At("RETURN")) - private void set(ResourceKey key, T entry, RegistrationInfo arg, CallbackInfoReturnable> info) { + private void set(ResourceKey key, T value, RegistrationInfo registrationInfo, CallbackInfoReturnable> info) { // We need to restore the 1.19 behavior of binding the value to references immediately. // Unfrozen registries cannot be interacted with otherwise, because the references would throw when // trying to access their values. - info.getReturnValue().bindValue(entry); + info.getReturnValue().bindValue(value); - fabric_addObjectEvent.invoker().onEntryAdded(toId.getInt(entry), key.identifier(), entry); + fabric_addObjectEvent.invoker().onEntryAdded(toId.getInt(value), key.identifier(), value); onChange(key); } diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistriesMixin.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistriesMixin.java index 65ecfac7df1..6be9723f7ca 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistriesMixin.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistriesMixin.java @@ -31,8 +31,8 @@ @Mixin(Registries.class) public class RegistriesMixin { @ModifyReturnValue(method = "elementsDirPath", at = @At("RETURN")) - private static String prependDirectoryWithNamespace(String original, @Local(argsOnly = true, name = "registryKey") ResourceKey> registryRef) { - Identifier id = registryRef.identifier(); + private static String prependDirectoryWithNamespace(String original, @Local(argsOnly = true, name = "registryKey") ResourceKey> registryKey) { + Identifier id = registryKey.identifier(); if (!id.getNamespace().equals(Identifier.DEFAULT_NAMESPACE)) { return id.getNamespace() + "/" + id.getPath(); @@ -42,8 +42,8 @@ private static String prependDirectoryWithNamespace(String original, @Local(args } @ModifyReturnValue(method = "tagsDirPath", at = @At("RETURN")) - private static String prependTagDirectoryWithNamespace(String original, @Local(argsOnly = true, name = "registryKey") ResourceKey> registryRef) { - Identifier id = registryRef.identifier(); + private static String prependTagDirectoryWithNamespace(String original, @Local(argsOnly = true, name = "registryKey") ResourceKey> registryKey) { + Identifier id = registryKey.identifier(); if (!id.getNamespace().equals(Identifier.DEFAULT_NAMESPACE)) { return "tags/" + id.getNamespace() + "/" + id.getPath(); diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistrySynchronizationMixin.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistrySynchronizationMixin.java index 8f837528397..3ae54ae4880 100644 --- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistrySynchronizationMixin.java +++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/RegistrySynchronizationMixin.java @@ -42,10 +42,10 @@ abstract class RegistrySynchronizationMixin { */ @Dynamic("lambda$ownedNetworkableRegistries$0: Stream.filter in ownedNetworkableRegistries") @Inject(method = "lambda$ownedNetworkableRegistries$0", at = @At("HEAD"), cancellable = true) - private static void filterNonSyncedEntries(RegistryAccess.RegistryEntry entry, CallbackInfoReturnable cir) { - boolean canSkip = DynamicRegistriesImpl.SKIP_EMPTY_SYNC_REGISTRIES.contains(entry.key()); + private static void filterNonSyncedEntries(RegistryAccess.RegistryEntry e, CallbackInfoReturnable cir) { + boolean canSkip = DynamicRegistriesImpl.SKIP_EMPTY_SYNC_REGISTRIES.contains(e.key()); - if (canSkip && entry.value().size() == 0) { + if (canSkip && e.value().size() == 0) { cir.setReturnValue(false); } } @@ -55,7 +55,7 @@ private static void filterNonSyncedEntries(RegistryAccess.RegistryEntry entry */ @Dynamic("lambda$packRegistry$0: Optional.ifPresent in packRegistry") @Inject(method = "lambda$packRegistry$0", at = @At("HEAD"), cancellable = true) - private static void filterNonSyncedEntriesAgain(Set set, RegistryDataLoader.RegistryData entry, DynamicOps dynamicOps, BiConsumer biConsumer, Registry registry, CallbackInfo ci) { + private static void filterNonSyncedEntriesAgain(Set clientKnownPacks, RegistryDataLoader.RegistryData registryData, DynamicOps ops, BiConsumer output, Registry registry, CallbackInfo ci) { boolean canSkip = DynamicRegistriesImpl.SKIP_EMPTY_SYNC_REGISTRIES.contains(registry.key()); if (canSkip && registry.size() == 0) { diff --git a/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/mixin/ByteBufCodecsMixin.java b/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/mixin/ByteBufCodecsMixin.java index cf7cc4a6151..ed117c1512f 100644 --- a/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/mixin/ByteBufCodecsMixin.java +++ b/fabric-registry-sync-v0/src/testmod/java/net/fabricmc/fabric/test/registry/sync/mixin/ByteBufCodecsMixin.java @@ -35,7 +35,7 @@ @Mixin(ByteBufCodecs.class) public interface ByteBufCodecsMixin { @Inject(method = "registry(Lnet/minecraft/resources/ResourceKey;Ljava/util/function/Function;)Lnet/minecraft/network/codec/StreamCodec;", at = @At("HEAD")) - private static void checkSynced(ResourceKey> registry, Function, IdMap> registryTransformer, CallbackInfoReturnable> cir) { - RegistrySyncTest.checkSyncedRegistry(registry); + private static void checkSynced(ResourceKey> registryKey, Function, IdMap> mapExtractor, CallbackInfoReturnable> cir) { + RegistrySyncTest.checkSyncedRegistry(registryKey); } } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/BlockMarkerMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/BlockMarkerMixin.java index 827e9c326ae..a3147a511e3 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/BlockMarkerMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/BlockMarkerMixin.java @@ -30,7 +30,7 @@ @Mixin(BlockMarker.class) abstract class BlockMarkerMixin { @Redirect(method = "(Lnet/minecraft/client/multiplayer/ClientLevel;DDDLnet/minecraft/world/level/block/state/BlockState;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getParticleIcon(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;")) - private static TextureAtlasSprite getParticleIconProxy(BlockModelShaper models, BlockState state, ClientLevel level, double x, double y, double z, BlockState state1) { - return models.getParticleIcon(state, level, BlockPos.containing(x, y, z)); + private static TextureAtlasSprite getParticleIconProxy(BlockModelShaper models, BlockState blockState, ClientLevel level, double x, double y, double z, BlockState state) { + return models.getParticleIcon(blockState, level, BlockPos.containing(x, y, z)); } } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/ScreenEffectRendererMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/ScreenEffectRendererMixin.java index 9344c8234b3..889bf45c073 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/ScreenEffectRendererMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/ScreenEffectRendererMixin.java @@ -39,20 +39,20 @@ abstract class ScreenEffectRendererMixin { private static BlockPos pos; @Redirect(method = "renderScreenEffect", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getParticleIcon(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;")) - private static TextureAtlasSprite getParticleIconProxy(BlockModelShaper models, BlockState state, @Local(name = "player") Player player) { + private static TextureAtlasSprite getParticleIconProxy(BlockModelShaper models, BlockState blockState, @Local(name = "player") Player player) { if (pos != null) { - TextureAtlasSprite sprite = models.getParticleIcon(state, player.level(), pos); + TextureAtlasSprite sprite = models.getParticleIcon(blockState, player.level(), pos); pos = null; return sprite; } - return models.getParticleIcon(state); + return models.getParticleIcon(blockState); } @Inject(method = "getViewBlockingState", at = @At("RETURN")) - private static void onReturnGetInWallBlockState(CallbackInfoReturnable<@Nullable BlockState> cir, @Local(name = "testPos") BlockPos.MutableBlockPos mutable) { + private static void onReturnGetInWallBlockState(CallbackInfoReturnable<@Nullable BlockState> cir, @Local(name = "testPos") BlockPos.MutableBlockPos testPos) { if (cir.getReturnValue() != null) { - pos = mutable.immutable(); + pos = testPos.immutable(); } else { pos = null; } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/TerrainParticleMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/TerrainParticleMixin.java index 0c934c04ee7..bc7045bac8a 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/TerrainParticleMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/particle/TerrainParticleMixin.java @@ -30,7 +30,7 @@ @Mixin(TerrainParticle.class) abstract class TerrainParticleMixin { @Redirect(method = "(Lnet/minecraft/client/multiplayer/ClientLevel;DDDDDDLnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getParticleIcon(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;")) - private static TextureAtlasSprite getParticleIconProxy(BlockModelShaper models, BlockState state, ClientLevel level, double x, double y, double z, double velocityX, double velocityY, double velocityZ, BlockState state1, BlockPos blockPos) { - return models.getParticleIcon(state, level, blockPos); + private static TextureAtlasSprite getParticleIconProxy(BlockModelShaper models, BlockState blockState, ClientLevel level, double x, double y, double z, double xa, double ya, double za, BlockState blockState1, BlockPos pos) { + return models.getParticleIcon(blockState, level, pos); } } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java index 89c14596c44..b0e9e4a91ad 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/ItemFrameRendererMixin.java @@ -34,9 +34,9 @@ abstract class ItemFrameRendererMixin { // Provide the BlockState as context. @Redirect(method = "submit(Lnet/minecraft/client/renderer/entity/state/ItemFrameRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) - private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(name = "fakeBlockState") BlockState blockState) { + private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(name = "fakeBlockState") BlockState fakeBlockState) { // The vertex consumer is for a special layer that renders solid, but vanilla has no equivalent // cutout/translucent layers that we can use here without risking compatibility. - submitNodeCollector.submitBlockStateModel(poseStack, blockLayer -> renderType, model, r, g, b, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, blockState); + submitNodeCollector.submitBlockStateModel(poseStack, blockLayer -> renderType, model, r, g, b, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, fakeBlockState); } } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java index 6ded4a989e2..371748bea01 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/MushroomCowMushroomLayerMixin.java @@ -34,7 +34,7 @@ abstract class MushroomCowMushroomLayerMixin { // Fix tinted quads being rendered completely black and provide the BlockState as context. @Redirect(method = "submitMushroomBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) - private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true, name = "mushroomBlockState") BlockState blockState) { - submitNodeCollector.submitBlockStateModel(poseStack, _ -> renderType, model, 1, 1, 1, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, blockState); + private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true, name = "mushroomBlockState") BlockState mushroomBlockState) { + submitNodeCollector.submitBlockStateModel(poseStack, _ -> renderType, model, 1, 1, 1, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, mushroomBlockState); } } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java index 8cb36b1152e..24307ef0785 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/block/render/SnowGolemHeadLayerMixin.java @@ -36,14 +36,14 @@ @Mixin(SnowGolemHeadLayer.class) abstract class SnowGolemHeadLayerMixin { @Redirect(method = "submit(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/client/renderer/entity/state/SnowGolemRenderState;FF)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/SubmitNodeCollector;submitBlockModel(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/rendertype/RenderType;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFIII)V")) - private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true, name = "state") SnowGolemRenderState renderState, @Local(name = "pumpkinBlockState") BlockState blockState) { + private void renderProxy(SubmitNodeCollector submitNodeCollector, PoseStack poseStack, RenderType renderType, BlockStateModel model, float r, float g, float b, int light, int overlay, int outlineColor, @Local(argsOnly = true, name = "state") SnowGolemRenderState state, @Local(name = "pumpkinBlockState") BlockState pumpkinBlockState) { // If true, the chunk layer is an outline chunk layer, and we want all geometry to use this chunk layer. - if (renderState.appearsGlowing() && renderState.isInvisible) { + if (state.appearsGlowing() && state.isInvisible) { // Fix tinted quads being rendered completely black and provide the BlockState as context. - submitNodeCollector.submitBlockStateModel(poseStack, _ -> renderType, model, 1, 1, 1, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, blockState); + submitNodeCollector.submitBlockStateModel(poseStack, _ -> renderType, model, 1, 1, 1, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, pumpkinBlockState); } else { // Support multi-chunk layer models, fix tinted quads being rendered completely black, and provide the BlockState as context. - submitNodeCollector.submitBlockStateModel(poseStack, ChunkSectionLayerHelper::getEntityBlockLayer, model, 1, 1, 1, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, blockState); + submitNodeCollector.submitBlockStateModel(poseStack, ChunkSectionLayerHelper::getEntityBlockLayer, model, 1, 1, 1, light, overlay, outlineColor, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, pumpkinBlockState); } } } diff --git a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/sprite/TextureAtlasMixin.java b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/sprite/TextureAtlasMixin.java index 0d298da7e6e..c7d38c1debf 100644 --- a/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/sprite/TextureAtlasMixin.java +++ b/fabric-renderer-api-v1/src/client/java/net/fabricmc/fabric/mixin/renderer/client/sprite/TextureAtlasMixin.java @@ -49,10 +49,10 @@ abstract class TextureAtlasMixin implements FabricTextureAtlas { private volatile SpriteFinder spriteFinder; @Inject(at = @At("RETURN"), method = "upload") - private void uploadHook(SpriteLoader.Preparations stitchResult, CallbackInfo ci) { + private void uploadHook(SpriteLoader.Preparations preparations, CallbackInfo ci) { // Clear this atlas' old finder. If the finder was already initialized in the stitch result, reuse it for this // atlas. - spriteFinder = ((SpriteLoaderPreparationsExtension) (Object) stitchResult).fabric_spriteFinderNullable(); + spriteFinder = ((SpriteLoaderPreparationsExtension) (Object) preparations).fabric_spriteFinderNullable(); } @Override diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java index 72e2ced4b3c..eba9f95bde2 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/BlockRenderDispatcherMixin.java @@ -51,15 +51,15 @@ abstract class BlockRenderDispatcherMixin { @Definition(id = "getBlockModel", method = "Lnet/minecraft/client/renderer/block/BlockModelShaper;getBlockModel(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/client/renderer/block/model/BlockStateModel;") @Expression("? = ?.getBlockModel(?)") @Inject(method = "renderBreakingTexture(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/BlockAndTintGetter;Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;)V", at = @At(value = "MIXINEXTRAS:EXPRESSION", shift = At.Shift.AFTER), cancellable = true) - private void afterGetModel(BlockState blockState, BlockPos blockPos, BlockAndTintGetter level, PoseStack poseStack, VertexConsumer vertexConsumer, CallbackInfo ci, @Local(name = "model") BlockStateModel model) { - modelRenderer.render(level, model, blockState, blockPos, - poseStack, layer -> vertexConsumer, true, blockState.getSeed(blockPos), OverlayTexture.NO_OVERLAY); + private void afterGetModel(BlockState state, BlockPos pos, BlockAndTintGetter level, PoseStack poseStack, VertexConsumer builder, CallbackInfo ci, @Local(name = "model") BlockStateModel model) { + modelRenderer.render(level, model, state, pos, + poseStack, layer -> builder, true, state.getSeed(pos), OverlayTexture.NO_OVERLAY); ci.cancel(); } @Redirect(method = "renderSingleBlock(Lnet/minecraft/world/level/block/state/BlockState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;II)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/block/ModelBlockRenderer;renderModel(Lcom/mojang/blaze3d/vertex/PoseStack$Pose;Lcom/mojang/blaze3d/vertex/VertexConsumer;Lnet/minecraft/client/renderer/block/model/BlockStateModel;FFFII)V")) - private void renderProxy(PoseStack.Pose pose, VertexConsumer vertexConsumer, BlockStateModel model, float red, float green, float blue, int light, int overlay, BlockState state, PoseStack poseStack, MultiBufferSource bufferSource, int light1, int overlay1) { + private void renderProxy(PoseStack.Pose pose, VertexConsumer builder, BlockStateModel model, float r, float g, float b, int lightCoords, int overlayCoords, BlockState state, PoseStack poseStack, MultiBufferSource bufferSource, int lightCoords1, int overlayCoords1) { FabricModelBlockRenderer.render(pose, ChunkSectionLayerHelper.entityDelegate( - bufferSource), model, red, green, blue, light, overlay, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, state); + bufferSource), model, r, g, b, lightCoords, overlayCoords, EmptyBlockAndTintGetter.INSTANCE, BlockPos.ZERO, state); } } diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java index 4cea9d9f990..9e2d2f58e5b 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/ItemStackRenderStateMixin.java @@ -38,12 +38,12 @@ @Mixin(ItemStackRenderState.class) abstract class ItemStackRenderStateMixin { @Inject(method = "visitExtents(Ljava/util/function/Consumer;)V", at = @At(value = "NEW", target = "com/mojang/blaze3d/vertex/PoseStack$Pose")) - private void afterInitVecLoad(Consumer posConsumer, CallbackInfo ci, @Local(name = "scratch") Vector3f vec, @Share("pipe") LocalRef pipeRef) { - pipeRef.set(new QuadToPosPipe(posConsumer, vec)); + private void afterInitVecLoad(Consumer output, CallbackInfo ci, @Local(name = "scratch") Vector3f scratch, @Share("pipe") LocalRef pipeRef) { + pipeRef.set(new QuadToPosPipe(output, scratch)); } @Inject(method = "visitExtents(Ljava/util/function/Consumer;)V", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/vertex/PoseStack$Pose;setIdentity()V")) - private void afterLayerLoad(Consumer posConsumer, CallbackInfo ci, @Local(name = "scratch") Vector3f vec, @Local(name = "layer") ItemStackRenderState.LayerRenderState layer, @Local(name = "poseTransform") Matrix4f matrix, @Share("pipe") LocalRef pipeRef) { + private void afterLayerLoad(Consumer posConsumer, CallbackInfo ci, @Local(name = "scratch") Vector3f scratch, @Local(name = "layer") ItemStackRenderState.LayerRenderState layer, @Local(name = "poseTransform") Matrix4f matrix, @Share("pipe") LocalRef pipeRef) { MutableMeshImpl mutableMesh = ((AccessLayerRenderState) layer).fabric_getMutableMesh(); if (mutableMesh.size() > 0) { diff --git a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/SectionCompilerMixin.java b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/SectionCompilerMixin.java index 01c0686fc88..fbd8c626dc8 100644 --- a/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/SectionCompilerMixin.java +++ b/fabric-renderer-indigo/src/client/java/net/fabricmc/fabric/mixin/client/indigo/renderer/SectionCompilerMixin.java @@ -72,25 +72,25 @@ abstract class SectionCompilerMixin { @Shadow protected abstract BufferBuilder getOrBeginLayer( - Map builders, + Map startedLayers, SectionBufferBuilderPack buffers, - ChunkSectionLayer layer + ChunkSectionLayer renderType ); @Inject(method = "compile", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/BlockPos;betweenClosed(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)Ljava/lang/Iterable;")) - private void hookBuild(SectionPos sectionPos, RenderSectionRegion region, VertexSorting sorter, - SectionBufferBuilderPack buffers, + private void hookBuild(SectionPos sectionPos, RenderSectionRegion region, VertexSorting vertexSorting, + SectionBufferBuilderPack builders, CallbackInfoReturnable cir, - @Local(name = "minPos") BlockPos sectionOrigin, + @Local(name = "minPos") BlockPos minPos, @Local(name = "poseStack") PoseStack poseStack, - @Local(name = "startedLayers") Map builderMap, + @Local(name = "startedLayers") Map startedLayers, @Local(name = "random") RandomSource random) { // hook just before iterating over the render chunk's blocks to capture the buffer builder map TerrainRenderContext renderer = TerrainRenderContext.POOL.get(); - renderer.prepare(region, sectionOrigin, - poseStack, random, layer -> getOrBeginLayer(builderMap, - buffers, layer)); + renderer.prepare(region, minPos, + poseStack, random, layer -> getOrBeginLayer(startedLayers, + builders, layer)); ((AccessRenderSectionRegion) region).fabric_setRenderer(renderer); } @@ -108,12 +108,12 @@ private void hookBuild(SectionPos sectionPos, RenderSectionRegion region, Vertex * which was specifically created to provide for enhanced terrain rendering. */ @Redirect(method = "compile", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockState;getRenderShape()Lnet/minecraft/world/level/block/RenderShape;")) - private RenderShape hookBuildRenderBlock(BlockState blockState, SectionPos sectionPos, RenderSectionRegion renderRegion, VertexSorting vertexSorter, SectionBufferBuilderPack buffers, @Local(ordinal = 2) BlockPos blockPos) { + private RenderShape hookBuildRenderBlock(BlockState blockState, SectionPos sectionPos, RenderSectionRegion region, VertexSorting vertexSorting, SectionBufferBuilderPack builders, @Local(name = "pos") BlockPos pos) { RenderShape renderShape = blockState.getRenderShape(); if (renderShape == RenderShape.MODEL) { BlockStateModel model = blockRenderer.getBlockModel(blockState); - ((AccessRenderSectionRegion) renderRegion).fabric_getRenderer().bufferModel(model, blockState, blockPos); + ((AccessRenderSectionRegion) region).fabric_getRenderer().bufferModel(model, blockState, pos); return RenderShape.INVISIBLE; // Cancel the vanilla logic } @@ -124,8 +124,8 @@ private RenderShape hookBuildRenderBlock(BlockState blockState, SectionPos secti * Release all references. Probably not necessary but would be $#%! to debug if it is. */ @Inject(method = "compile", at = @At(value = "RETURN")) - private void hookBuildReturn(SectionPos sectionPos, RenderSectionRegion renderRegion, VertexSorting vertexSorter, SectionBufferBuilderPack buffers, CallbackInfoReturnable cir) { - ((AccessRenderSectionRegion) renderRegion).fabric_getRenderer().release(); - ((AccessRenderSectionRegion) renderRegion).fabric_setRenderer(null); + private void hookBuildReturn(SectionPos sectionPos, RenderSectionRegion region, VertexSorting vertexSorting, SectionBufferBuilderPack builders, CallbackInfoReturnable cir) { + ((AccessRenderSectionRegion) region).fabric_getRenderer().release(); + ((AccessRenderSectionRegion) region).fabric_setRenderer(null); } } diff --git a/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java b/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java index 097df953ca2..70812b195e0 100644 --- a/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java +++ b/fabric-rendering-fluids-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/fluid/LiquidBlockRendererMixin.java @@ -77,14 +77,14 @@ public void onResourceReloadReturn(CallbackInfo info) { } @Inject(method = "tesselate", at = @At("HEAD"), cancellable = true) - public void onHeadRender(BlockAndTintGetter view, BlockPos pos, VertexConsumer vertexConsumer, BlockState blockState, FluidState fluidState, CallbackInfo ci) { + public void onHeadRender(BlockAndTintGetter level, BlockPos pos, VertexConsumer builder, BlockState blockState, FluidState fluidState, CallbackInfo ci) { FluidRenderHandlerInfo info = FluidRenderingImpl.getCurrentInfo(); if (info.handler == null) { FluidRenderHandler handler = FluidRenderHandlerRegistry.INSTANCE.get(fluidState.getType()); if (handler != null) { - handler.renderFluid(pos, view, vertexConsumer, blockState, fluidState); + handler.renderFluid(pos, level, builder, blockState, fluidState); ci.cancel(); } } @@ -110,8 +110,8 @@ private TextureAtlasSprite getOrDefault(int index, TextureAtlasSprite original) at = @At("STORE"), name = "stillSprite" ) - public TextureAtlasSprite modStill(TextureAtlasSprite original) { - return getOrDefault(0, original); + public TextureAtlasSprite modStill(TextureAtlasSprite stillSprite) { + return getOrDefault(0, stillSprite); } @ModifyVariable( @@ -119,8 +119,8 @@ public TextureAtlasSprite modStill(TextureAtlasSprite original) { at = @At("STORE"), name = "flowingSprite" ) - public TextureAtlasSprite modFlowing(TextureAtlasSprite original) { - return getOrDefault(1, original); + public TextureAtlasSprite modFlowing(TextureAtlasSprite flowingSprite) { + return getOrDefault(1, flowingSprite); } @ModifyExpressionValue( @@ -130,7 +130,7 @@ public TextureAtlasSprite modFlowing(TextureAtlasSprite original) { @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/BiomeColors;getAverageWaterColor(Lnet/minecraft/world/level/BlockAndTintGetter;Lnet/minecraft/core/BlockPos;)I") } ) - public int modTintColor(int original, BlockAndTintGetter level, BlockPos pos, VertexConsumer vertexConsumer, BlockState blockState, FluidState fluidState) { + public int modTintColor(int original, BlockAndTintGetter level, BlockPos pos, VertexConsumer builder, BlockState blockState, FluidState fluidState) { FluidRenderHandlerInfo info = FluidRenderingImpl.getCurrentInfo(); return info.handler != null ? info.handler.getFluidColor(level, pos, fluidState) : original; } @@ -142,12 +142,12 @@ public int modTintColor(int original, BlockAndTintGetter level, BlockPos pos, Ve method = "tesselate", at = @At(value = "MIXINEXTRAS:EXPRESSION", ordinal = 0), slice = @Slice(from = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/block/LiquidBlockRenderer;waterOverlay:Lnet/minecraft/client/renderer/texture/TextureAtlasSprite;", opcode = Opcodes.GETFIELD)), - ordinal = 2 + name = "sprite" ) private TextureAtlasSprite modifyOverlaySprite( - TextureAtlasSprite waterOverlay, + TextureAtlasSprite sprite, BlockAndTintGetter level, - @Local(name = "tPos") BlockPos neighborPos, + @Local(name = "tPos") BlockPos tPos, @Local(name = "isLava") boolean isLava, @Local(name = "flowingSprite") TextureAtlasSprite flowingSprite, @Share("useOverlay") LocalBooleanRef useOverlay @@ -155,7 +155,7 @@ private TextureAtlasSprite modifyOverlaySprite( final FluidRenderHandlerInfo info = FluidRenderingImpl.getCurrentInfo(); boolean hasOverlay = info.handler != null ? info.hasOverlay : !isLava; - Block neighborBlock = level.getBlockState(neighborPos).getBlock(); + Block neighborBlock = level.getBlockState(tPos).getBlock(); useOverlay.set(hasOverlay && FluidRenderHandlerRegistry.INSTANCE.isBlockTransparent(neighborBlock)); if (useOverlay.get()) { diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeLayerMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeLayerMixin.java index 9240ce728d2..34c438a547f 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeLayerMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeLayerMixin.java @@ -16,7 +16,6 @@ package net.fabricmc.fabric.mixin.client.rendering; -import com.llamalad7.mixinextras.sugar.Local; import com.mojang.blaze3d.vertex.PoseStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; @@ -32,7 +31,7 @@ @Mixin(CapeLayer.class) public class CapeLayerMixin { @Inject(at = @At(value = "HEAD"), method = "submit(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/client/renderer/entity/state/AvatarRenderState;FF)V", cancellable = true) - public void injectCapeRenderCheck(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int i, AvatarRenderState avatarRenderState, float f, float g, CallbackInfo ci, @Local(argsOnly = true, name = "state") AvatarRenderState state) { + public void injectCapeRenderCheck(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, AvatarRenderState state, float yRot, float xRot, CallbackInfo ci) { if (!LivingEntityFeatureRenderEvents.ALLOW_CAPE_RENDER.invoker().allowCapeRender(state)) { ci.cancel(); } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ClientLevelMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ClientLevelMixin.java index 87b361ce3d3..cee1fb0de76 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ClientLevelMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ClientLevelMixin.java @@ -45,9 +45,9 @@ public abstract class ClientLevelMixin { public abstract int calculateBlockTint(BlockPos pos, ColorResolver colorResolver); @Inject(method = "onChunkLoaded(Lnet/minecraft/world/level/ChunkPos;)V", at = @At("RETURN")) - private void onResetChunkColor(ChunkPos chunkPos, CallbackInfo ci) { + private void onResetChunkColor(ChunkPos pos, CallbackInfo ci) { for (BlockTintCache cache : customColorCache.values()) { - cache.invalidateForChunk(chunkPos.x, chunkPos.z); + cache.invalidateForChunk(pos.x, pos.z); } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ClientTooltipComponentMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ClientTooltipComponentMixin.java index a86f4e669f0..2050a6fb148 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ClientTooltipComponentMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ClientTooltipComponentMixin.java @@ -33,11 +33,11 @@ public interface ClientTooltipComponentMixin { at = @At("HEAD"), cancellable = true ) - private static void convertCustomTooltipComponent(TooltipComponent data, CallbackInfoReturnable cir) { - ClientTooltipComponent component = ClientTooltipComponentCallback.EVENT.invoker().getClientComponent(data); + private static void convertCustomTooltipComponent(TooltipComponent component, CallbackInfoReturnable cir) { + ClientTooltipComponent clientComponent = ClientTooltipComponentCallback.EVENT.invoker().getClientComponent(component); - if (component != null) { - cir.setReturnValue(component); + if (clientComponent != null) { + cir.setReturnValue(clientComponent); } } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/DebugOptionsScreenOptionListMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/DebugOptionsScreenOptionListMixin.java index 3e0dd466f7f..6f8bf6bbc0f 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/DebugOptionsScreenOptionListMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/DebugOptionsScreenOptionListMixin.java @@ -33,14 +33,14 @@ @Mixin(targets = "net.minecraft.client.gui.screens.debug.DebugOptionsScreen$OptionList") public class DebugOptionsScreenOptionListMixin { @Redirect(method = "lambda$static$0", at = @At(value = "INVOKE", target = "Lnet/minecraft/resources/Identifier;compareTo(Lnet/minecraft/resources/Identifier;)I")) - private static int sort(Identifier o1, Identifier o2) { - return DebugOptionsComparator.INSTANCE.compare(o1, o2); + private static int sort(Identifier t, Identifier o) { + return DebugOptionsComparator.INSTANCE.compare(t, o); } @WrapOperation(method = "updateSearch", at = @At(value = "INVOKE", target = "Ljava/lang/String;contains(Ljava/lang/CharSequence;)Z")) - private boolean searchPath(String instance, CharSequence searchStrings, Operation original, @Local(name = "entry") Map.Entry entry) { + private boolean searchPath(String instance, CharSequence s, Operation original, @Local(name = "entry") Map.Entry entry) { final String namespace = entry.getKey().getNamespace(); - return original.call(instance, searchStrings) - || (!Identifier.DEFAULT_NAMESPACE.equals(namespace) && namespace.contains(searchStrings)); + return original.call(instance, s) + || (!Identifier.DEFAULT_NAMESPACE.equals(namespace) && namespace.contains(s)); } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderDispatcherMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderDispatcherMixin.java index 38b13fd399e..1cd666d755d 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderDispatcherMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderDispatcherMixin.java @@ -31,7 +31,7 @@ @Mixin(EntityRenderDispatcher.class) class EntityRenderDispatcherMixin { @Inject(method = "onResourceManagerReload", at = @At("TAIL")) - private void createArmorRenderers(ResourceManager manager, CallbackInfo ci, @Local(name = "context") EntityRendererProvider.Context context) { + private void createArmorRenderers(ResourceManager resourceManager, CallbackInfo ci, @Local(name = "context") EntityRendererProvider.Context context) { ArmorRendererRegistryImpl.createArmorRenderers(context); } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderersMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderersMixin.java index 15bc8618e73..5467d75a218 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderersMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/EntityRenderersMixin.java @@ -56,12 +56,12 @@ private static void onRegisterRenderers(CallbackInfo info) { // synthetic lambda in reloadEntityRenderers @SuppressWarnings({"unchecked", "rawtypes"}) @Redirect(method = "lambda$createEntityRenderers$0", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/entity/EntityRendererProvider;create(Lnet/minecraft/client/renderer/entity/EntityRendererProvider$Context;)Lnet/minecraft/client/renderer/entity/EntityRenderer;")) - private static EntityRenderer createEntityRenderer(EntityRendererProvider entityRendererProvider, EntityRendererProvider.Context context, ImmutableMap.Builder builder, EntityRendererProvider.Context context2, EntityType entityType) { + private static EntityRenderer createEntityRenderer(EntityRendererProvider entityRendererProvider, EntityRendererProvider.Context context, ImmutableMap.Builder result, EntityRendererProvider.Context context2, EntityType type) { EntityRenderer entityRenderer = entityRendererProvider.create(context); if (entityRenderer instanceof LivingEntityRenderer) { // Must be living for features LivingEntityRendererAccessor accessor = (LivingEntityRendererAccessor) entityRenderer; - LivingEntityRenderLayerRegistrationCallback.EVENT.invoker().registerLayers((EntityType) entityType, (LivingEntityRenderer) entityRenderer, new RegistrationHelperImpl(accessor::callAddLayer), context); + LivingEntityRenderLayerRegistrationCallback.EVENT.invoker().registerLayers((EntityType) type, (LivingEntityRenderer) entityRenderer, new RegistrationHelperImpl(accessor::callAddLayer), context); } return entityRenderer; @@ -69,8 +69,8 @@ private static void onRegisterRenderers(CallbackInfo info) { @SuppressWarnings({"unchecked", "rawtypes"}) @WrapOperation(method = "createAvatarRenderers", at = @At(value = "NEW", target = "(Lnet/minecraft/client/renderer/entity/EntityRendererProvider$Context;Z)Lnet/minecraft/client/renderer/entity/player/AvatarRenderer;")) - private static AvatarRenderer createAvatarRenderer(EntityRendererProvider.Context context, boolean slim, Operation original) { - AvatarRenderer entityRenderer = original.call(context, slim); + private static AvatarRenderer createAvatarRenderer(EntityRendererProvider.Context context, boolean slimSteve, Operation original) { + AvatarRenderer entityRenderer = original.call(context, slimSteve); LivingEntityRendererAccessor accessor = (LivingEntityRendererAccessor) entityRenderer; LivingEntityRenderLayerRegistrationCallback.EVENT.invoker().registerLayers(EntityType.PLAYER, (LivingEntityRenderer) entityRenderer, new RegistrationHelperImpl(accessor::callAddLayer), context); diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GameRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GameRendererMixin.java index 67b12a3ba04..6cc4d856d1e 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GameRendererMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GameRendererMixin.java @@ -44,7 +44,7 @@ public class GameRendererMixin { private SubmitNodeStorage submitNodeStorage; @Inject(method = "", at = @At(value = "RETURN")) - private void guiRendererReady(Minecraft client, ItemInHandRenderer firstPersonHeldItemRenderer, RenderBuffers buffers, BlockRenderDispatcher blockRenderManager, CallbackInfo ci) { + private void guiRendererReady(Minecraft minecraft, ItemInHandRenderer itemInHandRenderer, RenderBuffers renderBuffers, BlockRenderDispatcher blockRenderer, CallbackInfo ci) { GuiRendererExtensions guiRenderer = (GuiRendererExtensions) this.guiRenderer; guiRenderer.fabric_onReady(this.submitNodeStorage); } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiGraphicsMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiGraphicsMixin.java index 49c77ebb8ff..929921b1661 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiGraphicsMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiGraphicsMixin.java @@ -34,10 +34,10 @@ abstract class GuiGraphicsMixin { method = "renderItemDecorations(Lnet/minecraft/client/gui/Font;Lnet/minecraft/world/item/ItemStack;IILjava/lang/String;)V", at = @At("RETURN") ) - public void drawStackOverlay(Font font, ItemStack stack, int x, int y, @Nullable String stackCountText, CallbackInfo callback) { - if (!stack.isEmpty()) { + public void drawStackOverlay(Font font, ItemStack itemStack, int x, int y, @Nullable String countText, CallbackInfo callback) { + if (!itemStack.isEmpty()) { RenderItemDecorationsCallback.EVENT.invoker() - .onRenderItemDecorations((GuiGraphics) (Object) this, font, stack, x, y); + .onRenderItemDecorations((GuiGraphics) (Object) this, font, itemStack, x, y); } } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiMixin.java index 0d7301753d1..aa31dfb0fde 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiMixin.java @@ -79,27 +79,27 @@ private void wrapHotbar(Gui instance, GuiGraphics graphics, DeltaTracker deltaTr } @WrapOperation(method = "renderPlayerHealth", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;renderArmor(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/entity/player/Player;IIII)V")) - private void wrapArmorBar(GuiGraphics graphics, Player player, int i, int j, int k, int x, Operation renderVanilla) { + private void wrapArmorBar(GuiGraphics graphics, Player player, int yLineBase, int numHealthRows, int healthRowHeight, int xLeft, Operation renderVanilla) { HudElementRegistryImpl.getRoot(VanillaHudElements.ARMOR_BAR).render( - graphics, minecraft.getDeltaTracker(), (ctx, _) -> renderVanilla.call(ctx, player, i, j, k, x)); + graphics, minecraft.getDeltaTracker(), (ctx, _) -> renderVanilla.call(ctx, player, yLineBase, numHealthRows, healthRowHeight, xLeft)); } @WrapOperation(method = "renderPlayerHealth", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;renderHearts(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/entity/player/Player;IIIIFIIIZ)V")) - private void wrapHealthBar(Gui instance, GuiGraphics graphics, Player player, int x, int y, int lines, int regeneratingHeartIndex, float maxHealth, int lastHealth, int health, int absorption, boolean blinking, Operation renderVanilla) { + private void wrapHealthBar(Gui instance, GuiGraphics graphics, Player player, int xLeft, int yLineBase, int healthRowHeight, int heartOffsetIndex, float maxHealth, int currentHealth, int oldHealth, int absorption, boolean blink, Operation renderVanilla) { HudElementRegistryImpl.getRoot(VanillaHudElements.HEALTH_BAR).render( - graphics, minecraft.getDeltaTracker(), (ctx, _) -> renderVanilla.call(instance, ctx, player, x, y, lines, regeneratingHeartIndex, maxHealth, lastHealth, health, absorption, blinking)); + graphics, minecraft.getDeltaTracker(), (ctx, _) -> renderVanilla.call(instance, ctx, player, xLeft, yLineBase, healthRowHeight, heartOffsetIndex, maxHealth, currentHealth, oldHealth, absorption, blink)); } @WrapOperation(method = "renderPlayerHealth", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;renderFood(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/entity/player/Player;II)V")) - private void wrapFoodBar(Gui instance, GuiGraphics graphics, Player player, int top, int right, Operation renderVanilla) { + private void wrapFoodBar(Gui instance, GuiGraphics graphics, Player player, int yLineBase, int xRight, Operation renderVanilla) { HudElementRegistryImpl.getRoot(VanillaHudElements.FOOD_BAR).render( - graphics, minecraft.getDeltaTracker(), (ctx, _) -> renderVanilla.call(instance, ctx, player, top, right)); + graphics, minecraft.getDeltaTracker(), (ctx, _) -> renderVanilla.call(instance, ctx, player, yLineBase, xRight)); } @WrapOperation(method = "renderPlayerHealth", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;renderAirBubbles(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/entity/player/Player;III)V")) - private void wrapAirBar(Gui instance, GuiGraphics graphics, Player player, int heartCount, int top, int left, Operation renderVanilla) { + private void wrapAirBar(Gui instance, GuiGraphics graphics, Player player, int vehicleHearts, int yLineAir, int xRight, Operation renderVanilla) { HudElementRegistryImpl.getRoot(VanillaHudElements.AIR_BAR).render( - graphics, minecraft.getDeltaTracker(), (ctx, _) -> renderVanilla.call(instance, ctx, player, heartCount, top, left)); + graphics, minecraft.getDeltaTracker(), (ctx, _) -> renderVanilla.call(instance, ctx, player, vehicleHearts, yLineAir, xRight)); } @WrapOperation(method = "renderHotbarAndDecorations", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;renderVehicleHealth(Lnet/minecraft/client/gui/GuiGraphics;)V")) @@ -117,10 +117,10 @@ private void wrapRenderBar(ContextualBarRenderer instance, GuiGraphics graphics, } @WrapOperation(method = "renderHotbarAndDecorations", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/contextualbar/ContextualBarRenderer;renderExperienceLevel(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/gui/Font;I)V")) - private void wrapExperienceLevel(GuiGraphics graphics, Font font, int level, Operation renderVanilla, @Local(argsOnly = true, name = "deltaTracker") DeltaTracker deltaTracker) { + private void wrapExperienceLevel(GuiGraphics graphics, Font font, int experienceLevel, Operation renderVanilla, @Local(argsOnly = true, name = "deltaTracker") DeltaTracker deltaTracker) { HudElementRegistryImpl.getRoot(VanillaHudElements.EXPERIENCE_LEVEL).render( graphics, - deltaTracker, (ctx, _) -> renderVanilla.call(ctx, font, level)); + deltaTracker, (ctx, _) -> renderVanilla.call(ctx, font, experienceLevel)); } @WrapOperation(method = "renderHotbarAndDecorations", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/Gui;renderSelectedItemName(Lnet/minecraft/client/gui/GuiGraphics;)V")) diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiRendererMixin.java index 52c22f4b760..68ccf33a05d 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiRendererMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/GuiRendererMixin.java @@ -72,7 +72,7 @@ abstract class GuiRendererMixin implements GuiRendererExtensions { private SubmitNodeCollector submitNodeStorage = null; @Inject(method = "", at = @At(value = "RETURN")) - private void mutableSpecialElementRenderers(GuiRenderState state, MultiBufferSource.BufferSource bufferSource, SubmitNodeCollector submitNodeCollector, FeatureRenderDispatcher renderDispatcher, List list, CallbackInfo ci) { + private void mutableSpecialElementRenderers(GuiRenderState renderState, MultiBufferSource.BufferSource bufferSource, SubmitNodeCollector submitNodeCollector, FeatureRenderDispatcher featureRenderDispatcher, List pictureInPictureRenderers, CallbackInfo ci) { this.pictureInPictureRenderers = new IdentityHashMap<>(this.pictureInPictureRenderers); } @@ -94,13 +94,13 @@ private void postPrepareSpecialElements(CallbackInfo ci) { } @ModifyVariable(method = "preparePictureInPictureState", at = @At("STORE"), name = "renderer") - private PictureInPictureRenderer substituteSpecialElementRenderer(PictureInPictureRenderer original, T elementState) { - if (original == null || !hasFabricInitialized) { - return original; + private PictureInPictureRenderer substituteSpecialElementRenderer(PictureInPictureRenderer renderer, T picturesInPictureState) { + if (renderer == null || !hasFabricInitialized) { + return renderer; } - PictureInPictureRendererPool rendererPool = (PictureInPictureRendererPool) pipRendererPools.computeIfAbsent(original.getRenderStateClass(), k -> new PictureInPictureRendererPool<>()); - return rendererPool.substitute(original, elementState, Minecraft.getInstance(), bufferSource, Objects.requireNonNull(submitNodeStorage, "renderDispatcher")); + PictureInPictureRendererPool rendererPool = (PictureInPictureRendererPool) pipRendererPools.computeIfAbsent(renderer.getRenderStateClass(), k -> new PictureInPictureRendererPool<>()); + return rendererPool.substitute(renderer, picturesInPictureState, Minecraft.getInstance(), bufferSource, Objects.requireNonNull(submitNodeStorage, "renderDispatcher")); } @Inject(method = "close", at = @At("RETURN")) diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/HumanoidArmorLayerMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/HumanoidArmorLayerMixin.java index 16b676bcc1d..0f6c16c75db 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/HumanoidArmorLayerMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/HumanoidArmorLayerMixin.java @@ -45,16 +45,16 @@ public HumanoidArmorLayerMixin(RenderLayerParent renderLayerParent) { } @Inject(method = "submit(Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;ILnet/minecraft/client/renderer/entity/state/HumanoidRenderState;FF)V", at = @At("HEAD")) - private void render(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int i, S bipedEntityRenderState, float f, float g, CallbackInfo ci) { - this.humanoidRenderState = bipedEntityRenderState; + private void render(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, int lightCoords, S state, float yRot, float xRot, CallbackInfo ci) { + this.humanoidRenderState = state; } @Inject(method = "renderArmorPiece", at = @At("HEAD"), cancellable = true) - private void renderArmor(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, ItemStack stack, EquipmentSlot armorSlot, int light, S bipedEntityRenderState, CallbackInfo ci) { - ArmorRenderer renderer = ArmorRendererRegistryImpl.get(stack.getItem()); + private void renderArmor(PoseStack poseStack, SubmitNodeCollector submitNodeCollector, ItemStack itemStack, EquipmentSlot slot, int lightCoords, S state, CallbackInfo ci) { + ArmorRenderer renderer = ArmorRendererRegistryImpl.get(itemStack.getItem()); if (renderer != null) { - renderer.render(poseStack, submitNodeCollector, stack, humanoidRenderState, armorSlot, light, (HumanoidModel) getParentModel()); + renderer.render(poseStack, submitNodeCollector, itemStack, humanoidRenderState, slot, lightCoords, (HumanoidModel) getParentModel()); ci.cancel(); } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/HumanoidMobRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/HumanoidMobRendererMixin.java index 58f5ef1b549..d8c0c494875 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/HumanoidMobRendererMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/HumanoidMobRendererMixin.java @@ -34,7 +34,7 @@ @Mixin(HumanoidMobRenderer.class) abstract class HumanoidMobRendererMixin { @WrapOperation(method = "getEquipmentIfRenderable", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/entity/layers/HumanoidArmorLayer;shouldRender(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/EquipmentSlot;)Z")) - private static boolean permitArmorWithCustomRenderers(ItemStack stack, EquipmentSlot slot, Operation original) { - return original.call(stack, slot) || ArmorRendererRegistryImpl.get(stack.getItem()) != null; + private static boolean permitArmorWithCustomRenderers(ItemStack itemStack, EquipmentSlot slot, Operation original) { + return original.call(itemStack, slot) || ArmorRendererRegistryImpl.get(itemStack.getItem()) != null; } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LayerDefinitionsMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LayerDefinitionsMixin.java index 73bc191fd28..54e9fc7b5cb 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LayerDefinitionsMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LayerDefinitionsMixin.java @@ -36,13 +36,13 @@ @Mixin(LayerDefinitions.class) abstract class LayerDefinitionsMixin { @Inject(method = "createRoots", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableMap$Builder;build()Lcom/google/common/collect/ImmutableMap;")) - private static void registerExtraModelData(CallbackInfoReturnable> info, @Local(name = "result") ImmutableMap.Builder builder) { + private static void registerExtraModelData(CallbackInfoReturnable> info, @Local(name = "result") ImmutableMap.Builder result) { for (Map.Entry entry : ModelLayerImpl.PROVIDERS.entrySet()) { - builder.put(entry.getKey(), entry.getValue().createLayerDefinition()); + result.put(entry.getKey(), entry.getValue().createLayerDefinition()); } for (Map.Entry, ModelLayerRegistry.TexturedArmorModelSetProvider> entry : ModelLayerImpl.ARMOR_PROVIDERS.entrySet()) { - entry.getKey().putFrom(entry.getValue().createArmorModelSet(), builder); + entry.getKey().putFrom(entry.getValue().createArmorModelSet(), result); } } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LevelRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LevelRendererMixin.java index 1cd031f1210..a3f1c2a4857 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LevelRendererMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LevelRendererMixin.java @@ -81,9 +81,9 @@ public abstract class LevelRendererMixin { private final LevelExtractionContextImpl extractionContext = new LevelExtractionContextImpl(); @Inject(method = "renderLevel", at = @At("HEAD")) - private void beforeRender(GraphicsResourceAllocator allocator, DeltaTracker deltaTracker, boolean renderBlockOutline, Camera camera, Matrix4f viewMatrix, Matrix4f projectionMatrix, Matrix4f cullProjectionMatrix, GpuBufferSlice fogBuffer, Vector4f fogColor, boolean renderSky, CallbackInfo ci) { + private void beforeRender(GraphicsResourceAllocator resourceAllocator, DeltaTracker deltaTracker, boolean renderOutline, Camera camera, Matrix4f modelViewMatrix, Matrix4f projectionMatrix, Matrix4f projectionMatrixForCulling, GpuBufferSlice terrainFog, Vector4f fogColor, boolean shouldRenderSky, CallbackInfo ci) { extractionContext.prepare(minecraft.gameRenderer, (LevelRenderer) (Object) this, levelRenderState, level, - deltaTracker, renderBlockOutline, camera, viewMatrix, cullProjectionMatrix); + deltaTracker, renderOutline, camera, modelViewMatrix, projectionMatrixForCulling); } @ModifyExpressionValue(method = "renderLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/LevelRenderer;prepareCullFrustum(Lorg/joml/Matrix4f;Lorg/joml/Matrix4f;Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/client/renderer/culling/Frustum;")) @@ -93,13 +93,13 @@ private Frustum onSetupFrustum(Frustum frustum) { } @Inject(method = "extractBlockOutline", at = @At("RETURN")) - private void afterBlockOutlineExtraction(Camera camera, LevelRenderState renderStates, CallbackInfo ci) { + private void afterBlockOutlineExtraction(Camera camera, LevelRenderState levelRenderState, CallbackInfo ci) { LevelRenderEvents.AFTER_BLOCK_OUTLINE_EXTRACTION.invoker().afterBlockOutlineExtraction(extractionContext, minecraft.hitResult); } @WrapOperation(method = "renderLevel", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/WorldBorderRenderer;extract(Lnet/minecraft/world/level/border/WorldBorder;FLnet/minecraft/world/phys/Vec3;DLnet/minecraft/client/renderer/state/WorldBorderRenderState;)V")) - private void onWorldBorderExtraction(WorldBorderRenderer instance, WorldBorder worldBorder, float tickProgress, Vec3 vec3d, double viewDistanceBlocks, WorldBorderRenderState worldBorderRenderState, Operation original) { - original.call(instance, worldBorder, tickProgress, vec3d, viewDistanceBlocks, worldBorderRenderState); + private void onWorldBorderExtraction(WorldBorderRenderer instance, WorldBorder border, float deltaPartialTick, Vec3 cameraPos, double renderDistance, WorldBorderRenderState state, Operation original) { + original.call(instance, border, deltaPartialTick, cameraPos, renderDistance, state); LevelRenderEvents.END_EXTRACTION.invoker().endExtraction(extractionContext); } @@ -148,9 +148,9 @@ private void beforeTranslucentRender(CallbackInfo ci) { } @Inject(method = "renderBlockOutline", at = @At(value = "FIELD", target = "Lnet/minecraft/client/renderer/state/CameraRenderState;pos:Lnet/minecraft/world/phys/Vec3;", opcode = Opcodes.GETFIELD), cancellable = true) - private void beforeDrawBlockOutline(MultiBufferSource.BufferSource consumers, PoseStack poseStack, boolean bl, LevelRenderState worldRenderState, CallbackInfo ci) { + private void beforeDrawBlockOutline(MultiBufferSource.BufferSource bufferSource, PoseStack poseStack, boolean onlyTranslucentBlocks, LevelRenderState levelRenderState, CallbackInfo ci) { if (!LevelRenderEvents.BEFORE_BLOCK_OUTLINE.invoker().beforeBlockOutline(renderContext, renderContext.levelState().blockOutlineRenderState)) { - consumers.endLastBatch(); + bufferSource.endLastBatch(); ci.cancel(); } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LivingEntityRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LivingEntityRendererMixin.java index 5cffccc4b4e..6741998cfb2 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LivingEntityRendererMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/LivingEntityRendererMixin.java @@ -36,10 +36,10 @@ abstract class LivingEntityRendererMixin { method = "extractRenderState(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/client/renderer/entity/state/LivingEntityRenderState;F)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/entity/layers/HumanoidArmorLayer;shouldRender(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/EquipmentSlot;)Z") ) - private boolean toggleDefaultHeadItem(ItemStack headStack, EquipmentSlot slot, Operation original, @Local(argsOnly = true, name = "entity") LivingEntity entity) { + private boolean toggleDefaultHeadItem(ItemStack itemStack, EquipmentSlot slot, Operation original, @Local(argsOnly = true, name = "entity") LivingEntity entity) { // Return value: true if the item isn't rendered - if (original.call(headStack, slot)) return true; - ArmorRenderer renderer = ArmorRendererRegistryImpl.get(headStack.getItem()); - return renderer != null && !renderer.shouldRenderDefaultHeadItem(entity, headStack); + if (original.call(itemStack, slot)) return true; + ArmorRenderer renderer = ArmorRendererRegistryImpl.get(itemStack.getItem()); + return renderer != null && !renderer.shouldRenderDefaultHeadItem(entity, itemStack); } } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ModelMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ModelMixin.java index 24affcab598..b980230dcb3 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ModelMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ModelMixin.java @@ -44,7 +44,7 @@ abstract class ModelMixin implements FabricModel { private final Map childPartMap = new Object2ObjectOpenHashMap<>(); @Inject(method = "", at = @At("TAIL")) - private void fillChildPartMap(ModelPart root, Function layerFactory, CallbackInfo ci) { + private void fillChildPartMap(ModelPart root, Function renderType, CallbackInfo ci) { ((ModelPartAccessor) (Object) root).fabric$callForEachChild(childPartMap::putIfAbsent); } diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/RenderPipelineSnippetMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/RenderPipelineSnippetMixin.java index 97393054250..e1b2b34312e 100644 --- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/RenderPipelineSnippetMixin.java +++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/RenderPipelineSnippetMixin.java @@ -55,9 +55,9 @@ private String modifyToStringToIncludeFabricExtraData(String original) { method = "equals", at = @At("RETURN") ) - private boolean modifyEqualsToIncludeFabricExtraData(boolean original, Object other) { + private boolean modifyEqualsToIncludeFabricExtraData(boolean original, Object o) { return original - && other instanceof FabricRenderPipeline.Snippet otherSnippet + && o instanceof FabricRenderPipeline.Snippet otherSnippet && usePipelineDrawModeForGui().equals(otherSnippet.usePipelineDrawModeForGui()); } diff --git a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/mixin/PigRendererMixin.java b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/mixin/PigRendererMixin.java index 6fca1708185..def243d6fe5 100644 --- a/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/mixin/PigRendererMixin.java +++ b/fabric-rendering-v1/src/testmodClient/java/net/fabricmc/fabric/test/rendering/client/mixin/PigRendererMixin.java @@ -44,7 +44,7 @@ public class PigRendererMixin { private static final RenderStateDataKey MOVING_BLOCK = RenderStateDataKey.create(() -> "Moving block"); @Inject(method = "extractRenderState(Lnet/minecraft/world/entity/animal/pig/Pig;Lnet/minecraft/client/renderer/entity/state/PigRenderState;F)V", at = @At("TAIL")) - private void updateRenderStateData(Pig entity, PigRenderState state, float tickProgress, CallbackInfo ci) { + private void updateRenderStateData(Pig entity, PigRenderState state, float partialTicks, CallbackInfo ci) { BlockState blockState = entity.getBlockStateOn(); if (blockState.getRenderShape() != RenderShape.INVISIBLE) { @@ -59,11 +59,11 @@ private void updateRenderStateData(Pig entity, PigRenderState state, float tickP } @Inject(method = "submit(Lnet/minecraft/client/renderer/entity/state/PigRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/entity/MobRenderer;submit(Lnet/minecraft/client/renderer/entity/state/LivingEntityRenderState;Lcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/SubmitNodeCollector;Lnet/minecraft/client/renderer/state/CameraRenderState;)V")) - private void renderUsingRenderStateData(PigRenderState state, PoseStack poseStack, SubmitNodeCollector queue, CameraRenderState cameraRenderState, CallbackInfo ci) { + private void renderUsingRenderStateData(PigRenderState state, PoseStack poseStack, SubmitNodeCollector submitNodeCollector, CameraRenderState camera, CallbackInfo ci) { MovingBlockRenderState movingBlockRenderState = state.getData(MOVING_BLOCK); if (movingBlockRenderState != null) { - queue.submitMovingBlock(poseStack, movingBlockRenderState); + submitNodeCollector.submitMovingBlock(poseStack, movingBlockRenderState); } } } diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/DataProviderMixin.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/DataProviderMixin.java index ff17ae225fc..84667846a6d 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/DataProviderMixin.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/DataProviderMixin.java @@ -34,7 +34,7 @@ public interface DataProviderMixin { @Dynamic("lambda method passed to Util.make") @Inject(method = "lambda$static$0", at = @At("HEAD")) - private static void fabric_injectResourceConditionsSortOrder(Object2IntOpenHashMap map, CallbackInfo ci) { - map.put(ResourceConditions.CONDITIONS_KEY, -100); + private static void fabric_injectResourceConditionsSortOrder(Object2IntOpenHashMap m, CallbackInfo ci) { + m.put(ResourceConditions.CONDITIONS_KEY, -100); } } diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/PackMixin.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/PackMixin.java index 54109c569e3..15ffecf28b5 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/PackMixin.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/PackMixin.java @@ -33,9 +33,9 @@ @Mixin(Pack.class) public class PackMixin { @ModifyVariable(method = "readPackMetadata", at = @At("STORE"), name = "overlaySet") - private static List applyOverlayConditions(List overlays, @Local(name = "pack") PackResources resourcePack) throws IOException { - List appliedOverlays = new ArrayList<>(overlays); - OverlayConditionsMetadata overlayMetadata = resourcePack.getMetadataSection(OverlayConditionsMetadata.SERIALIZER); + private static List applyOverlayConditions(List overlaySet, @Local(name = "pack") PackResources pack) throws IOException { + List appliedOverlays = new ArrayList<>(overlaySet); + OverlayConditionsMetadata overlayMetadata = pack.getMetadataSection(OverlayConditionsMetadata.SERIALIZER); if (overlayMetadata != null) { appliedOverlays.addAll(overlayMetadata.appliedOverlays()); diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/RegistryDataLoaderPendingRegistrationMixin.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/RegistryDataLoaderPendingRegistrationMixin.java index b3243288992..7bc1dc612fd 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/RegistryDataLoaderPendingRegistrationMixin.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/RegistryDataLoaderPendingRegistrationMixin.java @@ -35,8 +35,8 @@ @Mixin(RegistryDataLoader.PendingRegistration.class) public abstract class RegistryDataLoaderPendingRegistrationMixin { @Inject(method = "loadFromResource", at = @At(value = "INVOKE", target = "Lcom/mojang/serialization/Decoder;parse(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;"), cancellable = true) - private static void loadFromResource(Decoder elementDecoder, RegistryOps ops, ResourceKey elementKey, Resource thunk, CallbackInfoReturnable> cir, @Local(name = "json") JsonElement jsonElement) { - if (jsonElement.isJsonObject() && !ResourceConditionsImpl.applyResourceConditions(jsonElement.getAsJsonObject(), elementKey.registry().toString(), elementKey.identifier(), ops.lookupProvider)) { + private static void loadFromResource(Decoder elementDecoder, RegistryOps ops, ResourceKey elementKey, Resource thunk, CallbackInfoReturnable> cir, @Local(name = "json") JsonElement json) { + if (json.isJsonObject() && !ResourceConditionsImpl.applyResourceConditions(json.getAsJsonObject(), elementKey.registry().toString(), elementKey.identifier(), ops.lookupProvider)) { cir.setReturnValue(Either.right(ResourceConditionsImpl.DISABLED_RESOURCE_EXCEPTION)); } } diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/ReloadableServerResourcesMixin.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/ReloadableServerResourcesMixin.java index d5f4b348cb7..0f071aa6188 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/ReloadableServerResourcesMixin.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/ReloadableServerResourcesMixin.java @@ -42,7 +42,7 @@ public class ReloadableServerResourcesMixin { method = "loadResources", at = @At("HEAD") ) - private static void hookReload(ResourceManager resourceManager, LayeredRegistryAccess dynamicRegistries, List> pendingTagLoads, FeatureFlagSet enabledFeatures, Commands.CommandSelection environment, PermissionSet permissionPredicate, Executor prepareExecutor, Executor applyExecutor, CallbackInfoReturnable> cir) { + private static void hookReload(ResourceManager resourceManager, LayeredRegistryAccess contextLayers, List> updatedContextTags, FeatureFlagSet enabledFeatures, Commands.CommandSelection commandSelection, PermissionSet functionCompilationPermissions, Executor backgroundExecutor, Executor mainThreadExecutor, CallbackInfoReturnable> cir) { ResourceConditionsImpl.currentFeatures = enabledFeatures; } } diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/SimpleJsonResourceReloadListenerMixin.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/SimpleJsonResourceReloadListenerMixin.java index 30a0aa500b4..14c03f36b2c 100644 --- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/SimpleJsonResourceReloadListenerMixin.java +++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/mixin/resource/conditions/SimpleJsonResourceReloadListenerMixin.java @@ -48,7 +48,7 @@ public class SimpleJsonResourceReloadListenerMixin { @WrapOperation(method = "scanDirectory(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/resources/FileToIdConverter;Lcom/mojang/serialization/DynamicOps;Lcom/mojang/serialization/Codec;Ljava/util/Map;)V", at = @At(value = "INVOKE", target = "Lcom/mojang/serialization/Codec;parse(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;")) private static DataResult applyResourceConditions(Codec instance, DynamicOps dynamicOps, Object object, Operation> original, - @Local(argsOnly = true, name = "lister") FileToIdConverter resourceFinder, + @Local(argsOnly = true, name = "lister") FileToIdConverter lister, @Local(name = "entry") Map.Entry entry) { final JsonElement resourceData = (JsonElement) object; RegistryOps.@Nullable RegistryInfoLookup registryInfo = null; @@ -60,7 +60,7 @@ private static DataResult applyResourceConditions(Codec instance, DynamicO if (resourceData.isJsonObject()) { JsonObject obj = resourceData.getAsJsonObject(); - final String dataType = ((FileToIdConverterAccessor) resourceFinder).getDirectoryName(); + final String dataType = ((FileToIdConverterAccessor) lister).getDirectoryName(); if (!ResourceConditionsImpl.applyResourceConditions(obj, dataType, entry.getKey(), registryInfo)) { return DataResult.success(SKIP_DATA_MARKER); @@ -72,8 +72,8 @@ private static DataResult applyResourceConditions(Codec instance, DynamicO // parse.ifSuccess @Inject(method = "lambda$scanDirectory$0", at = @At("HEAD"), cancellable = true) - private static void skipData(Map map, Identifier identifier, Object object, CallbackInfo ci) { - if (object == SKIP_DATA_MARKER) { + private static void skipData(Map result, Identifier id, Object parsed, CallbackInfo ci) { + if (parsed == SKIP_DATA_MARKER) { ci.cancel(); } } diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/BuiltInPackSourceMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/BuiltInPackSourceMixin.java index 57288292ee2..4028a004906 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/BuiltInPackSourceMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/BuiltInPackSourceMixin.java @@ -32,11 +32,11 @@ @Mixin(BuiltInPackSource.class) public class BuiltInPackSourceMixin { @Inject(method = "loadPacks", at = @At("RETURN")) - private void addBuiltinResourcePacks(Consumer consumer, CallbackInfo ci) { + private void addBuiltinResourcePacks(Consumer result, CallbackInfo ci) { // Register mod and built-in resource packs after the vanilla built-in resource packs are registered. // noinspection ConstantConditions if ((Object) this instanceof ClientPackSource) { - ModResourcePackCreator.CLIENT_RESOURCE_PACK_PROVIDER.loadPacks(consumer); + ModResourcePackCreator.CLIENT_RESOURCE_PACK_PROVIDER.loadPacks(result); } } } diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/ClientTooltipComponentMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/ClientTooltipComponentMixin.java index 991643e928d..d53a1b5a575 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/ClientTooltipComponentMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/ClientTooltipComponentMixin.java @@ -30,8 +30,8 @@ @Mixin(ClientTooltipComponent.class) public interface ClientTooltipComponentMixin { @Inject(method = "create(Lnet/minecraft/world/inventory/tooltip/TooltipComponent;)Lnet/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipComponent;", at = @At("HEAD"), cancellable = true) - private static void onCreate(TooltipComponent tooltipComponent, CallbackInfoReturnable cir) { - if (tooltipComponent instanceof PackTooltipComponent packTooltipComponent) { + private static void onCreate(TooltipComponent component, CallbackInfoReturnable cir) { + if (component instanceof PackTooltipComponent packTooltipComponent) { cir.setReturnValue(packTooltipComponent); } } diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java index 7f26f8375ef..f320ec6cd6b 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java @@ -48,10 +48,10 @@ private CreateWorldScreenMixin() { @ModifyVariable(method = "openCreateWorldScreen(Lnet/minecraft/client/Minecraft;Ljava/lang/Runnable;Ljava/util/function/Function;Lnet/minecraft/client/gui/screens/worldselection/WorldCreationContextMapper;Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/client/gui/screens/worldselection/CreateWorldCallback;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/worldselection/CreateWorldScreen;createDefaultLoadConfig(Lnet/minecraft/server/packs/repository/PackRepository;Lnet/minecraft/world/level/WorldDataConfiguration;)Lnet/minecraft/server/WorldLoader$InitConfig;"), name = "vanillaOnlyPackRepository") - private static PackRepository onCreateResManagerInit(PackRepository manager) { + private static PackRepository onCreateResManagerInit(PackRepository vanillaOnlyPackRepository) { // Add mod data packs to the initial res pack manager so they are active even if the user doesn't use custom data packs - manager.sources.add(new ModResourcePackCreator(PackType.SERVER_DATA)); - return manager; + vanillaOnlyPackRepository.sources.add(new ModResourcePackCreator(PackType.SERVER_DATA)); + return vanillaOnlyPackRepository; } @Redirect(method = "openCreateWorldScreen(Lnet/minecraft/client/Minecraft;Ljava/lang/Runnable;Ljava/util/function/Function;Lnet/minecraft/client/gui/screens/worldselection/WorldCreationContextMapper;Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/client/gui/screens/worldselection/CreateWorldCallback;)V", diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java index 6abd89a0b4a..f3d3599d1e2 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/GameOptionsWriteVisitorMixin.java @@ -53,8 +53,8 @@ private static List toPackListString(List packs) { @SuppressWarnings("unchecked") @ModifyArg(method = "process(Ljava/lang/String;Ljava/lang/Object;Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/lang/Object;", at = @At(value = "INVOKE", target = "Ljava/util/function/Function;apply(Ljava/lang/Object;)Ljava/lang/Object;")) - private T skipHiddenPacks(T value, @Local(argsOnly = true, name = "name") String key) { - if ("resourcePacks".equals(key) && value instanceof List) { + private T skipHiddenPacks(T value, @Local(argsOnly = true, name = "name") String name) { + if ("resourcePacks".equals(name) && value instanceof List) { return (T) toPackListString((List) value); } diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/PackSelectionModelMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/PackSelectionModelMixin.java index 20b69192d11..3e17ff05172 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/PackSelectionModelMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/PackSelectionModelMixin.java @@ -48,7 +48,7 @@ public class PackSelectionModelMixin { * They are managed entirely by PackRepository on save, and are invisible to client. */ @Inject(method = "", at = @At("TAIL")) - private void removeHiddenPacksInit(Consumer updateCallback, Function iconIdSupplier, PackRepository packRepository, Consumer applier, CallbackInfo ci) { + private void removeHiddenPacksInit(Consumer onListChanged, Function iconGetter, PackRepository repository, Consumer output, CallbackInfo ci) { this.selected.removeIf(profile -> ((FabricPack) profile).fabric$isHidden()); this.unselected.removeIf(profile -> ((FabricPack) profile).fabric$isHidden()); } diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/TransferableSelectionListPackEntryMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/TransferableSelectionListPackEntryMixin.java index e276c8468d6..e77fdcd1402 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/TransferableSelectionListPackEntryMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/TransferableSelectionListPackEntryMixin.java @@ -60,7 +60,7 @@ class TransferableSelectionListPackEntryMixin { @Inject(method = "renderContent", at = @At("RETURN")) private void onRenderContent( - GuiGraphics graphics, int mouseX, int mouseY, boolean hovered, float tickDelta, CallbackInfo ci + GuiGraphics graphics, int mouseX, int mouseY, boolean hovered, float a, CallbackInfo ci ) { if (hovered) { Component name = null; diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java index e156e38f321..9ef86922e72 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/DataPackCommandMixin.java @@ -62,7 +62,7 @@ private static Stream filterDisabledPackSuggestions(Stream instance, } @Inject(method = "getPack", at = @At(value = "INVOKE", target = "Ljava/util/Collection;contains(Ljava/lang/Object;)Z")) - private static void errorOnInternalPack(CommandContext context, String name, boolean enable, CallbackInfoReturnable cir, @Local(name = "pack") Pack profile) throws CommandSyntaxException { - if (((FabricPack) profile).fabric$isHidden()) throw INTERNAL_PACK_EXCEPTION.create(profile.getId()); + private static void errorOnInternalPack(CommandContext context, String name, boolean enabling, CallbackInfoReturnable cir, @Local(name = "pack") Pack pack) throws CommandSyntaxException { + if (((FabricPack) pack).fabric$isHidden()) throw INTERNAL_PACK_EXCEPTION.create(pack.getId()); } } diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/MinecraftServerMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/MinecraftServerMixin.java index 03eeda4287c..2e9267de30e 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/MinecraftServerMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/MinecraftServerMixin.java @@ -61,12 +61,12 @@ public T getOrThrow(Key key) { } @Inject(method = "", at = @At("TAIL")) - private void init(Thread serverThread, LevelStorageSource.LevelStorageAccess storageAccess, PackRepository dataPackManager, WorldStem worldStem, Proxy proxy, DataFixer dataFixer, Services apiServices, LevelLoadListener chunkLoadProgress, CallbackInfo ci) { + private void init(Thread serverThread, LevelStorageSource.LevelStorageAccess storageSource, PackRepository packRepository, WorldStem worldStem, Proxy proxy, DataFixer fixerUpper, Services services, LevelLoadListener levelLoadListener, CallbackInfo ci) { this.originalKnownPacks = worldStem.resourceManager().listPacks().flatMap(pack -> pack.location().knownPackInfo().stream()).toList(); } @Redirect(method = "configurePackRepository(Lnet/minecraft/server/packs/repository/PackRepository;Lnet/minecraft/world/level/WorldDataConfiguration;ZZ)Lnet/minecraft/world/level/WorldDataConfiguration;", at = @At(value = "INVOKE", target = "Ljava/util/List;contains(Ljava/lang/Object;)Z")) - private static boolean onCheckDisabled(List list, Object o, PackRepository resourcePackManager) { + private static boolean onCheckDisabled(List list, Object o, PackRepository packRepository) { String profileId = (String) o; boolean contains = list.contains(profileId); @@ -74,7 +74,7 @@ private static boolean onCheckDisabled(List list, Object o, PackReposito return true; } - Pack profile = resourcePackManager.getPack(profileId); + Pack profile = packRepository.getPack(profileId); if (profile.getPackSource() instanceof BuiltinModPackSource) { try (PackResources pack = profile.open()) { diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/MultiPackResourceManagerMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/MultiPackResourceManagerMixin.java index 234ab9e9f19..e9ae68330e9 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/MultiPackResourceManagerMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/MultiPackResourceManagerMixin.java @@ -36,7 +36,7 @@ public class MultiPackResourceManagerMixin implements FabricMultiPackResourceMan private PackType packType; @Inject(method = "", at = @At("TAIL")) - private void init(PackType type, List list, CallbackInfo ci) { + private void init(PackType type, List packs, CallbackInfo ci) { this.packType = type; } diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java index c4e9366ea11..e5e3dc68580 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/PackRepositoryMixin.java @@ -61,7 +61,7 @@ public abstract class PackRepositoryMixin { private Map available; @Inject(method = "", at = @At("RETURN")) - public void construct(RepositorySource[] resourcePackProviders, CallbackInfo info) { + public void construct(RepositorySource[] sources, CallbackInfo info) { // Use a LinkedHashSet to preserve ordering this.sources = new LinkedHashSet<>(this.sources); @@ -84,23 +84,23 @@ public void construct(RepositorySource[] resourcePackProviders, CallbackInfo inf } @Inject(method = "rebuildSelected", at = @At(value = "INVOKE", target = "Lcom/google/common/collect/ImmutableList;copyOf(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableList;")) - private void handleAutoEnableDisable(Collection enabledNames, CallbackInfoReturnable> cir, @Local(name = "selectedAndPresent") List enabledAfterFirstRun) { - ModPackResourcesUtil.refreshAutoEnabledPacks(enabledAfterFirstRun, this.available); + private void handleAutoEnableDisable(Collection selectedNames, CallbackInfoReturnable> cir, @Local(name = "selectedAndPresent") List selectedAndPresent) { + ModPackResourcesUtil.refreshAutoEnabledPacks(selectedAndPresent, this.available); } @Inject(method = "addPack", at = @At(value = "INVOKE", target = "Ljava/util/List;add(Ljava/lang/Object;)Z", shift = At.Shift.AFTER)) - private void handleAutoEnable(String profile, CallbackInfoReturnable cir, @Local(name = "selectedCopy") List newlyEnabled) { - if (ModResourcePackCreator.POST_CHANGE_HANDLE_REQUIRED.contains(profile)) { - ModPackResourcesUtil.refreshAutoEnabledPacks(newlyEnabled, this.available); + private void handleAutoEnable(String packId, CallbackInfoReturnable cir, @Local(name = "selectedCopy") List selectedCopy) { + if (ModResourcePackCreator.POST_CHANGE_HANDLE_REQUIRED.contains(packId)) { + ModPackResourcesUtil.refreshAutoEnabledPacks(selectedCopy, this.available); } } @Inject(method = "removePack", at = @At(value = "INVOKE", target = "Ljava/util/List;remove(Ljava/lang/Object;)Z")) - private void handleAutoDisable(String profile, CallbackInfoReturnable cir, @Local(name = "selectedCopy") List enabled) { - if (ModResourcePackCreator.POST_CHANGE_HANDLE_REQUIRED.contains(profile)) { - Set currentlyEnabled = enabled.stream().map(Pack::getId).collect(Collectors.toSet()); - enabled.removeIf(p -> !((FabricPack) p).fabric$parentsEnabled(currentlyEnabled)); - LOGGER.debug("[Fabric] Internal pack auto-removed upon disabling {}, result: {}", profile, enabled.stream().map(Pack::getId).toList()); + private void handleAutoDisable(String packId, CallbackInfoReturnable cir, @Local(name = "selectedCopy") List selectedCopy) { + if (ModResourcePackCreator.POST_CHANGE_HANDLE_REQUIRED.contains(packId)) { + Set currentlyEnabled = selectedCopy.stream().map(Pack::getId).collect(Collectors.toSet()); + selectedCopy.removeIf(p -> !((FabricPack) p).fabric$parentsEnabled(currentlyEnabled)); + LOGGER.debug("[Fabric] Internal pack auto-removed upon disabling {}, result: {}", packId, selectedCopy.stream().map(Pack::getId).toList()); } } } diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/ReloadableServerResourcesMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/ReloadableServerResourcesMixin.java index 7c0d3d6e5a8..a0223501b21 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/ReloadableServerResourcesMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/ReloadableServerResourcesMixin.java @@ -50,16 +50,16 @@ public class ReloadableServerResourcesMixin implements FabricDataResourceStoreHo ) private static List onSetupDataReloaders( List reloaders, - @Local(argsOnly = true, name = "fullRegistries") ReloadableServerRegistries.LoadResult loadResult, - @Local(argsOnly = true, name = "enabledFeatures") FeatureFlagSet featureSet, - @Local(name = "result") ReloadableServerResources dataPackContents + @Local(argsOnly = true, name = "fullRegistries") ReloadableServerRegistries.LoadResult fullRegistries, + @Local(argsOnly = true, name = "enabledFeatures") FeatureFlagSet enabledFeatures, + @Local(name = "result") ReloadableServerResources result ) { var list = new ArrayList<>(reloaders); list.addFirst( new SetupMarkerResourceReloader( - dataPackContents, - loadResult.lookupWithUpdatedTags(), - featureSet + result, + fullRegistries.lookupWithUpdatedTags(), + enabledFeatures ) ); return Collections.unmodifiableList(list); diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/SimpleReloadInstanceMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/SimpleReloadInstanceMixin.java index 1bb1ea55355..b70330e8207 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/SimpleReloadInstanceMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/SimpleReloadInstanceMixin.java @@ -69,7 +69,7 @@ private static List sortProfiled(List requestedPacks; @Shadow - protected abstract void sendRegistries(Consumer> sender, Set commonKnownPacks); + protected abstract void sendRegistries(Consumer> connection, Set negotiatedPacks); @Inject(method = "handleResponse", at = @At("HEAD"), cancellable = true) - public void onSelectKnownPacks(List clientKnownPacks, Consumer> sender, CallbackInfo ci) { - if (new HashSet<>(this.requestedPacks).containsAll(clientKnownPacks)) { - this.sendRegistries(sender, Set.copyOf(clientKnownPacks)); + public void onSelectKnownPacks(List acceptedPacks, Consumer> connection, CallbackInfo ci) { + if (new HashSet<>(this.requestedPacks).containsAll(acceptedPacks)) { + this.sendRegistries(connection, Set.copyOf(acceptedPacks)); ci.cancel(); } } @Inject(method = "sendRegistries", at = @At("HEAD")) - public void syncRegistryAndTags(Consumer> sender, Set commonKnownPacks, CallbackInfo ci) { - LOGGER.debug("Synchronizing registries with common known packs: {}", commonKnownPacks); + public void syncRegistryAndTags(Consumer> connection, Set negotiatedPacks, CallbackInfo ci) { + LOGGER.debug("Synchronizing registries with common known packs: {}", negotiatedPacks); } @Inject(method = "start", at = @At("HEAD"), cancellable = true) - private void sendPacket(Consumer> sender, CallbackInfo ci) { + private void sendPacket(Consumer> connection, CallbackInfo ci) { if (this.requestedPacks.size() > ModResourcePackCreator.MAX_KNOWN_PACKS) { LOGGER.warn("Too many knownPacks: Found {}; max {}", this.requestedPacks.size(), ModResourcePackCreator.MAX_KNOWN_PACKS); - sender.accept(new ClientboundSelectKnownPacks(this.requestedPacks.subList(0, ModResourcePackCreator.MAX_KNOWN_PACKS))); + connection.accept(new ClientboundSelectKnownPacks(this.requestedPacks.subList(0, ModResourcePackCreator.MAX_KNOWN_PACKS))); ci.cancel(); } } diff --git a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/server/LanguageMixin.java b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/server/LanguageMixin.java index fc90c6409fb..45f61d28812 100644 --- a/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/server/LanguageMixin.java +++ b/fabric-resource-loader-v1/src/main/java/net/fabricmc/fabric/mixin/resource/server/LanguageMixin.java @@ -55,12 +55,12 @@ private static Map create(Map map) { } @Redirect(method = "parseTranslations(Ljava/util/function/BiConsumer;Ljava/lang/String;)V", at = @At(value = "INVOKE", target = "Ljava/lang/Class;getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;")) - private static InputStream readCorrectVanillaResource(Class instance, String path) throws IOException { + private static InputStream readCorrectVanillaResource(Class instance, String name) throws IOException { ModContainer mod = FabricLoader.getInstance().getModContainer("minecraft").orElseThrow(); - Path langPath = mod.findPath(path).orElse(null); + Path langPath = mod.findPath(name).orElse(null); if (langPath == null) { - throw new IOException("Could not read %s from minecraft ModContainer".formatted(path)); + throw new IOException("Could not read %s from minecraft ModContainer".formatted(name)); } else { return Files.newInputStream(langPath); } @@ -77,6 +77,6 @@ private static void loadFromPath(Path path, BiConsumer entryCons } @Shadow - public static void loadFromJson(InputStream inputStream, BiConsumer entryConsumer) { + public static void loadFromJson(InputStream stream, BiConsumer output) { } } diff --git a/fabric-resource-loader-v1/src/testmod/java/net/fabricmc/fabric/test/resource/loader/mixin/SynchronizeRegistriesTaskMixin.java b/fabric-resource-loader-v1/src/testmod/java/net/fabricmc/fabric/test/resource/loader/mixin/SynchronizeRegistriesTaskMixin.java index 0a8b8d0d797..cc303b718c0 100644 --- a/fabric-resource-loader-v1/src/testmod/java/net/fabricmc/fabric/test/resource/loader/mixin/SynchronizeRegistriesTaskMixin.java +++ b/fabric-resource-loader-v1/src/testmod/java/net/fabricmc/fabric/test/resource/loader/mixin/SynchronizeRegistriesTaskMixin.java @@ -40,11 +40,11 @@ public class SynchronizeRegistriesTaskMixin { private List requestedPacks; @Inject(method = "sendRegistries", at = @At("HEAD")) - public void syncRegistryAndTags(Consumer> sender, Set commonKnownPacks, CallbackInfo ci) { - BuiltinPackTestMod.LOGGER.info("Synchronizing registries with common known packs: {}", commonKnownPacks); + public void syncRegistryAndTags(Consumer> connection, Set negotiatedPacks, CallbackInfo ci) { + BuiltinPackTestMod.LOGGER.info("Synchronizing registries with common known packs: {}", negotiatedPacks); - if (!commonKnownPacks.containsAll(this.requestedPacks)) { - BuiltinPackTestMod.LOGGER.error("(Ignore when not local client) Not all server mod data packs known to client. Missing: {}", this.requestedPacks.stream().filter(knownPack -> !commonKnownPacks.contains(knownPack)).toList()); + if (!negotiatedPacks.containsAll(this.requestedPacks)) { + BuiltinPackTestMod.LOGGER.error("(Ignore when not local client) Not all server mod data packs known to client. Missing: {}", this.requestedPacks.stream().filter(knownPack -> !negotiatedPacks.contains(knownPack)).toList()); } } } diff --git a/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/AbstractContainerScreenMixin.java b/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/AbstractContainerScreenMixin.java index d2ece3b2891..2fd510cec0b 100644 --- a/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/AbstractContainerScreenMixin.java +++ b/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/AbstractContainerScreenMixin.java @@ -33,15 +33,15 @@ private AbstractContainerScreenMixin(Component title) { } @Inject(method = "mouseReleased", at = @At("HEAD"), cancellable = true) - private void callSuperMouseReleased(MouseButtonEvent ctx, CallbackInfoReturnable cir) { - if (super.mouseReleased(ctx)) { + private void callSuperMouseReleased(MouseButtonEvent event, CallbackInfoReturnable cir) { + if (super.mouseReleased(event)) { cir.setReturnValue(true); } } @Inject(method = "mouseDragged", at = @At("HEAD"), cancellable = true) - private void callSuperMouseReleased(MouseButtonEvent ctx, double deltaX, double deltaY, CallbackInfoReturnable cir) { - if (super.mouseDragged(ctx, deltaX, deltaY)) { + private void callSuperMouseReleased(MouseButtonEvent event, double dx, double dy, CallbackInfoReturnable cir) { + if (super.mouseDragged(event, dx, dy)) { cir.setReturnValue(true); } } diff --git a/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/GameRendererMixin.java b/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/GameRendererMixin.java index 7d24122c55a..5cf309c52c3 100644 --- a/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/GameRendererMixin.java +++ b/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/GameRendererMixin.java @@ -30,9 +30,9 @@ @Mixin(GameRenderer.class) abstract class GameRendererMixin { @WrapOperation(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;renderWithTooltipAndSubtitles(Lnet/minecraft/client/gui/GuiGraphics;IIF)V")) - private void onRenderScreen(Screen currentScreen, GuiGraphics graphics, int mouseX, int mouseY, float tickDelta, Operation operation) { - ScreenEvents.beforeRender(currentScreen).invoker().beforeRender(currentScreen, graphics, mouseX, mouseY, tickDelta); - operation.call(currentScreen, graphics, mouseX, mouseY, tickDelta); - ScreenEvents.afterRender(currentScreen).invoker().afterRender(currentScreen, graphics, mouseX, mouseY, tickDelta); + private void onRenderScreen(Screen currentScreen, GuiGraphics graphics, int mouseX, int mouseY, float a, Operation operation) { + ScreenEvents.beforeRender(currentScreen).invoker().beforeRender(currentScreen, graphics, mouseX, mouseY, a); + operation.call(currentScreen, graphics, mouseX, mouseY, a); + ScreenEvents.afterRender(currentScreen).invoker().afterRender(currentScreen, graphics, mouseX, mouseY, a); } } diff --git a/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/KeyboardHandlerMixin.java b/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/KeyboardHandlerMixin.java index 2137666d91e..15ff1515af1 100644 --- a/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/KeyboardHandlerMixin.java +++ b/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/KeyboardHandlerMixin.java @@ -30,23 +30,23 @@ @Mixin(KeyboardHandler.class) abstract class KeyboardHandlerMixin { @WrapOperation(method = "keyPress", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;keyPressed(Lnet/minecraft/client/input/KeyEvent;)Z")) - private boolean invokeKeyPressedEvents(Screen screen, KeyEvent ctx, Operation operation) { + private boolean invokeKeyPressedEvents(Screen screen, KeyEvent event, Operation operation) { // The screen passed to events is the same as the screen the handler method is called on, // regardless of whether the screen changes within the handler or event invocations. if (screen != null) { - if (!ScreenKeyboardEvents.allowKeyPress(screen).invoker().allowKeyPress(screen, ctx)) { + if (!ScreenKeyboardEvents.allowKeyPress(screen).invoker().allowKeyPress(screen, event)) { // Set this press action as handled return true; } - ScreenKeyboardEvents.beforeKeyPress(screen).invoker().beforeKeyPress(screen, ctx); + ScreenKeyboardEvents.beforeKeyPress(screen).invoker().beforeKeyPress(screen, event); } - boolean result = operation.call(screen, ctx); + boolean result = operation.call(screen, event); if (screen != null) { - ScreenKeyboardEvents.afterKeyPress(screen).invoker().afterKeyPress(screen, ctx); + ScreenKeyboardEvents.afterKeyPress(screen).invoker().afterKeyPress(screen, event); } return result; diff --git a/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/ScreenMixin.java b/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/ScreenMixin.java index 62758d002fa..e148d516ce3 100644 --- a/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/ScreenMixin.java +++ b/fabric-screen-api-v1/src/client/java/net/fabricmc/fabric/mixin/screen/ScreenMixin.java @@ -110,8 +110,8 @@ abstract class ScreenMixin implements ScreenExtensions { private Event afterMouseScrollEvent; @Inject(method = "renderWithTooltipAndSubtitles", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screens/Screen;renderBackground(Lnet/minecraft/client/gui/GuiGraphics;IIF)V", shift = At.Shift.AFTER)) - public final void renderWithTooltip(GuiGraphics graphics, int mouseX, int mouseY, float deltaTicks, CallbackInfo ci) { - ScreenEvents.afterBackground(((Screen) (Object) this)).invoker().afterBackground((Screen) (Object) this, graphics, mouseX, mouseY, deltaTicks); + public final void renderWithTooltip(GuiGraphics graphics, int mouseX, int mouseY, float a, CallbackInfo ci) { + ScreenEvents.afterBackground(((Screen) (Object) this)).invoker().afterBackground((Screen) (Object) this, graphics, mouseX, mouseY, a); } @Inject(method = "init(II)V", at = @At("HEAD")) diff --git a/fabric-sound-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/sound/SoundEngineMixin.java b/fabric-sound-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/sound/SoundEngineMixin.java index c3b6aa0a148..774a12ac764 100644 --- a/fabric-sound-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/sound/SoundEngineMixin.java +++ b/fabric-sound-api-v1/src/client/java/net/fabricmc/fabric/mixin/client/sound/SoundEngineMixin.java @@ -36,7 +36,7 @@ public class SoundEngineMixin { target = "Lnet/minecraft/client/sounds/SoundBufferLibrary;getStream(Lnet/minecraft/resources/Identifier;Z)Ljava/util/concurrent/CompletableFuture;" ) ) - private CompletableFuture getStream(SoundBufferLibrary library, Identifier id, boolean looping, SoundInstance sound) { - return sound.getAudioStream(library, id, looping); + private CompletableFuture getStream(SoundBufferLibrary library, Identifier location, boolean looping, SoundInstance instance) { + return instance.getAudioStream(library, location, looping); } } diff --git a/fabric-tag-api-v1/src/main/java/net/fabricmc/fabric/mixin/tag/ReloadableServerResourcesMixin.java b/fabric-tag-api-v1/src/main/java/net/fabricmc/fabric/mixin/tag/ReloadableServerResourcesMixin.java index 6a396633a9d..d3abc383236 100644 --- a/fabric-tag-api-v1/src/main/java/net/fabricmc/fabric/mixin/tag/ReloadableServerResourcesMixin.java +++ b/fabric-tag-api-v1/src/main/java/net/fabricmc/fabric/mixin/tag/ReloadableServerResourcesMixin.java @@ -44,8 +44,8 @@ abstract class ReloadableServerResourcesMixin { private LayeredRegistryAccess dynamicRegistriesByType; @Inject(method = "", at = @At("RETURN")) - private void storeDynamicRegistries(LayeredRegistryAccess dynamicRegistries, HolderLookup.Provider registries, FeatureFlagSet enabledFeatures, Commands.CommandSelection environment, List pendingTagLoads, PermissionSet permissionPredicate, CallbackInfo ci) { - dynamicRegistriesByType = dynamicRegistries; + private void storeDynamicRegistries(LayeredRegistryAccess fullLayers, HolderLookup.Provider loadingContext, FeatureFlagSet enabledFeatures, Commands.CommandSelection commandSelection, List postponedTags, PermissionSet functionCompilationPermissions, CallbackInfo ci) { + dynamicRegistriesByType = fullLayers; } @Inject(method = "updateStaticRegistryTags", at = @At("RETURN")) diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/AbstractFurnaceBlockEntityMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/AbstractFurnaceBlockEntityMixin.java index 1372d135a21..02ed8a5404c 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/AbstractFurnaceBlockEntityMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/AbstractFurnaceBlockEntityMixin.java @@ -54,9 +54,9 @@ protected AbstractFurnaceBlockEntityMixin(BlockEntityType blockEntityType, Bl } @Inject(at = @At("HEAD"), method = "setItem", cancellable = true) - public void setStackSuppressUpdate(int slot, ItemStack stack, CallbackInfo ci) { + public void setStackSuppressUpdate(int slot, ItemStack itemStack, CallbackInfo ci) { if (fabric_suppressSpecialLogic) { - items.set(slot, stack); + items.set(slot, itemStack); ci.cancel(); } } @@ -83,7 +83,7 @@ public void fabric_onFinalCommit(int slot, ItemStack oldStack, ItemStack newStac } @Shadow - private static int getTotalCookTime(ServerLevel level, AbstractFurnaceBlockEntity abstractFurnaceBlockEntity) { + private static int getTotalCookTime(ServerLevel level, AbstractFurnaceBlockEntity entity) { throw new AssertionError(); } } diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/BucketItemMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/BucketItemMixin.java index ad26f31892b..f7c1e3c3fa1 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/BucketItemMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/BucketItemMixin.java @@ -45,7 +45,7 @@ public class BucketItemMixin { at = @At("STORE"), name = "soundEvent" ) - private SoundEvent hookEmptyingSound(SoundEvent previous) { - return FluidVariantAttributes.getHandlerOrDefault(content).getEmptySound(FluidVariant.of(content)).orElse(previous); + private SoundEvent hookEmptyingSound(SoundEvent soundEvent) { + return FluidVariantAttributes.getHandlerOrDefault(content).getEmptySound(FluidVariant.of(content)).orElse(soundEvent); } } diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/ChiseledBookShelfBlockEntityMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/ChiseledBookShelfBlockEntityMixin.java index ed83990aaff..cea721863d1 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/ChiseledBookShelfBlockEntityMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/ChiseledBookShelfBlockEntityMixin.java @@ -53,9 +53,9 @@ public void fabric_setSuppress(boolean suppress) { } @Inject(at = @At("HEAD"), method = "setItem", cancellable = true) - public void setStackBypass(int slot, ItemStack stack, CallbackInfo ci) { + public void setStackBypass(int slot, ItemStack itemStack, CallbackInfo ci) { if (fabric_suppressSpecialLogic) { - items.set(slot, stack); + items.set(slot, itemStack); ci.cancel(); } } diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java index d48db8489de..4e9de13a63f 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/CrafterBlockMixin.java @@ -42,13 +42,13 @@ public class CrafterBlockMixin { // Inject after vanilla's attempts to insert the stack into an inventory. @Inject(method = "dispenseItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;isEmpty()Z")) - private void transferOrSpawnStack(ServerLevel level, BlockPos pos, CrafterBlockEntity blockEntity, ItemStack inputStack, BlockState state, RecipeHolder recipe, CallbackInfo ci, @Local(name = "direction") Direction direction, @Local(name = "into") Container inventory, @Local(name = "remaining") ItemStack itemStack) { - if (inventory != null) { + private void transferOrSpawnStack(ServerLevel level, BlockPos pos, CrafterBlockEntity blockEntity, ItemStack results, BlockState blockState, RecipeHolder recipe, CallbackInfo ci, @Local(name = "direction") Direction direction, @Local(name = "into") Container into, @Local(name = "remaining") ItemStack remaining) { + if (into != null) { // Vanilla already found and tested an inventory, nothing else to do even if it failed to insert. return; } - if (itemStack.isEmpty()) { + if (remaining.isEmpty()) { // Nothing left to do, in theory should never get here. return; } @@ -58,10 +58,10 @@ private void transferOrSpawnStack(ServerLevel level, BlockPos pos, CrafterBlockE if (target != null) { // Attempt to move the entire stack, and decrement the size of success moves. try (Transaction transaction = Transaction.openOuter()) { - long moved = target.insert(ItemVariant.of(itemStack), inputStack.getCount(), transaction); + long moved = target.insert(ItemVariant.of(remaining), results.getCount(), transaction); if (moved > 0) { - itemStack.shrink((int) moved); + remaining.shrink((int) moved); transaction.commit(); } } diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/DropperBlockMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/DropperBlockMixin.java index fceb7927c9f..f74574d1779 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/DropperBlockMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/DropperBlockMixin.java @@ -50,7 +50,7 @@ public class DropperBlockMixin { cancellable = true, allow = 1 ) - public void hookDispense(ServerLevel level, BlockState blockState, BlockPos pos, CallbackInfo ci) { + public void hookDispense(ServerLevel level, BlockState state, BlockPos pos, CallbackInfo ci) { DispenserBlockEntity dispenser = (DispenserBlockEntity) level.getBlockEntity(pos); Direction direction = dispenser.getBlockState().getValue(DispenserBlock.FACING); diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java index 8edb3f19663..4c1d768bde2 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/HopperBlockEntityMixin.java @@ -53,18 +53,18 @@ public class HopperBlockEntityMixin { method = "ejectItems", cancellable = true ) - private static void hookInsert(Level level, BlockPos pos, HopperBlockEntity blockEntity, CallbackInfoReturnable cir, @Local(name = "container") Container targetInventory) { + private static void hookInsert(Level level, BlockPos blockPos, HopperBlockEntity self, CallbackInfoReturnable cir, @Local(name = "container") Container container) { // Let vanilla handle the transfer if it found an inventory. - if (targetInventory != null) return; + if (container != null) return; // Otherwise inject our transfer logic. - Direction direction = ((HopperBlockEntityMixin) (Object) blockEntity).facing; - BlockPos targetPos = pos.relative(direction); + Direction direction = ((HopperBlockEntityMixin) (Object) self).facing; + BlockPos targetPos = blockPos.relative(direction); Storage target = ItemStorage.SIDED.find(level, targetPos, direction.getOpposite()); if (target != null) { long moved = StorageUtil.move( - ContainerStorage.of(blockEntity, direction), + ContainerStorage.of(self, direction), target, iv -> true, 1, @@ -81,9 +81,9 @@ private static void hookInsert(Level level, BlockPos pos, HopperBlockEntity bloc method = "suckInItems(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/level/block/entity/Hopper;)Z", cancellable = true ) - private static void hookExtract(Level level, Hopper hopper, CallbackInfoReturnable cir, @Local(name = "container") Container inputInventory) { + private static void hookExtract(Level level, Hopper hopper, CallbackInfoReturnable cir, @Local(name = "container") Container container) { // Let vanilla handle the transfer if it found an inventory. - if (inputInventory != null) return; + if (container != null) return; // Otherwise inject our transfer logic. BlockPos sourcePos = BlockPos.containing(hopper.getLevelX(), hopper.getLevelY() + 1.0D, hopper.getLevelZ()); diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/JukeboxBlockEntityMixin.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/JukeboxBlockEntityMixin.java index 87c31f2701b..3885fa9d7d8 100644 --- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/JukeboxBlockEntityMixin.java +++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/mixin/transfer/JukeboxBlockEntityMixin.java @@ -34,7 +34,7 @@ public abstract class JukeboxBlockEntityMixin implements SpecialLogicContainer { private ItemStack item; @Shadow - public abstract void setTheItem(ItemStack stack); + public abstract void setTheItem(ItemStack itemStack); @Unique private boolean fabric_suppressSpecialLogic = false; @@ -45,9 +45,9 @@ public void fabric_setSuppress(boolean suppress) { } @Inject(method = "setTheItem", at = @At("HEAD"), cancellable = true) - private void setStackBypass(ItemStack stack, CallbackInfo ci) { + private void setStackBypass(ItemStack itemStack, CallbackInfo ci) { if (fabric_suppressSpecialLogic) { - item = stack; + item = itemStack; ci.cancel(); } } From 0927c7504f694320bd5763395dc3dfd2ff885ad1 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 21:58:23 +0000 Subject: [PATCH 12/13] Fix indentation --- .../fabric/mixin/datagen/client/ModelProviderMixin.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java b/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java index 86affc79b77..d52c95ba7f2 100644 --- a/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java +++ b/fabric-data-generation-api-v1/src/client/java/net/fabricmc/fabric/mixin/datagen/client/ModelProviderMixin.java @@ -73,8 +73,8 @@ private void registerItemModels(ItemModelGenerators instance, Operation or @Inject(method = "run", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/data/models/BlockModelGenerators;run()V")) private void setFabricPackOutput(CachedOutput cache, CallbackInfoReturnable> cir, - @Local(name = "blockStateGenerators") ModelProvider.BlockStateGeneratorCollector blockStateGenerators, - @Local(name = "itemModels") ModelProvider.ItemInfoCollector itemModels) { + @Local(name = "blockStateGenerators") ModelProvider.BlockStateGeneratorCollector blockStateGenerators, + @Local(name = "itemModels") ModelProvider.ItemInfoCollector itemModels) { ((FabricModelProviderDefinitions) blockStateGenerators).setFabricPackOutput(fabricPackOutput); ((FabricModelProviderDefinitions) itemModels).setFabricPackOutput(fabricPackOutput); ((FabricItemAssetDefinitions) itemModels).fabric_setProcessedBlocks(blockStateGenerators.generators.keySet()); From 4fa53af6c1dc812045393b18a439ad24efe03ddd Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 2 Jan 2026 21:58:58 +0000 Subject: [PATCH 13/13] Remove another unnecessary shift --- .../fabric/mixin/resource/client/CreateWorldScreenMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java index f320ec6cd6b..57558790105 100644 --- a/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java +++ b/fabric-resource-loader-v1/src/client/java/net/fabricmc/fabric/mixin/resource/client/CreateWorldScreenMixin.java @@ -61,7 +61,7 @@ private static WorldDataConfiguration replaceDefaultSettings() { } @Inject(method = "getDataPackSelectionSettings", - at = @At(value = "INVOKE", target = "Lnet/minecraft/server/packs/repository/PackRepository;reload()V", shift = At.Shift.BEFORE)) + at = @At(value = "INVOKE", target = "Lnet/minecraft/server/packs/repository/PackRepository;reload()V")) private void onScanPacks(CallbackInfoReturnable> cir) { // Allow to display built-in data packs in the data pack selection screen at world creation. this.tempDataPackRepository.sources.add(new ModResourcePackCreator(PackType.SERVER_DATA));