diff --git a/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/api/tag/client/v1/ClientTags.java b/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/api/tag/client/v1/ClientTags.java
index 438445d0f..f4186746a 100644
--- a/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/api/tag/client/v1/ClientTags.java
+++ b/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/api/tag/client/v1/ClientTags.java
@@ -99,7 +99,7 @@ public final class ClientTags {
 		Objects.requireNonNull(tagKey);
 		Objects.requireNonNull(registryKey);
 
-		if (tagKey.registry().getValue().equals(registryKey.getRegistry())) {
+		if (tagKey.registryRef().getValue().equals(registryKey.getRegistry())) {
 			// Check local tags
 			Set<Identifier> ids = getOrCreateLocalTag(tagKey);
 			return ids.contains(registryKey.getValue());
diff --git a/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsImpl.java b/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsImpl.java
index 8a6106a90..0791f80cd 100644
--- a/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsImpl.java
+++ b/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsImpl.java
@@ -87,13 +87,13 @@ public class ClientTagsImpl {
 			if (MinecraftClient.getInstance().world != null) {
 				if (MinecraftClient.getInstance().world.getRegistryManager() != null) {
 					Optional<? extends Registry<T>> maybeRegistry = MinecraftClient.getInstance().world
-							.getRegistryManager().getOptional(tagKey.registry());
+							.getRegistryManager().getOptional(tagKey.registryRef());
 					if (maybeRegistry.isPresent()) return maybeRegistry;
 				}
 			}
 		}
 
-		return (Optional<? extends Registry<T>>) Registries.REGISTRIES.getOptionalValue(tagKey.registry().getValue());
+		return (Optional<? extends Registry<T>>) Registries.REGISTRIES.getOptionalValue(tagKey.registryRef().getValue());
 	}
 
 	@SuppressWarnings("unchecked")
diff --git a/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsLoader.java b/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsLoader.java
index dcd2c761b..8746bf4be 100644
--- a/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsLoader.java
+++ b/fabric-client-tags-api-v1/src/client/java/net/fabricmc/fabric/impl/tag/client/ClientTagsLoader.java
@@ -52,7 +52,7 @@ public class ClientTagsLoader {
 	 */
 	public static LoadedTag loadTag(TagKey<?> tagKey) {
 		var tags = new HashSet<TagEntry>();
-		HashSet<Path> tagFiles = getTagFiles(tagKey.registry(), tagKey.id());
+		HashSet<Path> tagFiles = getTagFiles(tagKey.registryRef(), tagKey.id());
 
 		for (Path tagPath : tagFiles) {
 			try (BufferedReader tagReader = Files.newBufferedReader(tagPath)) {
@@ -88,7 +88,7 @@ public class ClientTagsLoader {
 				@Nullable
 				@Override
 				public Collection<Identifier> tag(Identifier id) {
-					TagKey<?> tag = TagKey.of(tagKey.registry(), id);
+					TagKey<?> tag = TagKey.of(tagKey.registryRef(), id);
 					immediateChildTags.add(tag);
 					return ClientTagsImpl.getOrCreatePartiallySyncedTag(tag).completeIds;
 				}
diff --git a/fabric-command-api-v2/src/client/java/net/fabricmc/fabric/impl/command/client/ClientCommandInternals.java b/fabric-command-api-v2/src/client/java/net/fabricmc/fabric/impl/command/client/ClientCommandInternals.java
index 932281cc1..93d797409 100644
--- a/fabric-command-api-v2/src/client/java/net/fabricmc/fabric/impl/command/client/ClientCommandInternals.java
+++ b/fabric-command-api-v2/src/client/java/net/fabricmc/fabric/impl/command/client/ClientCommandInternals.java
@@ -40,10 +40,10 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import net.minecraft.class_10209;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.text.Text;
 import net.minecraft.text.Texts;
+import net.minecraft.util.profiler.Profilers;
 
 import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
 import net.fabricmc.fabric.mixin.command.HelpCommandAccessor;
@@ -77,7 +77,7 @@ public final class ClientCommandInternals {
 		// noinspection ConstantConditions
 		FabricClientCommandSource commandSource = (FabricClientCommandSource) client.getNetworkHandler().getCommandSource();
 
-		class_10209.method_64146().push(command);
+		Profilers.get().push(command);
 
 		try {
 			// TODO: Check for server commands before executing.
@@ -101,7 +101,7 @@ public final class ClientCommandInternals {
 			commandSource.sendError(Text.of(e.getMessage()));
 			return true;
 		} finally {
-			class_10209.method_64146().pop();
+			Profilers.get().pop();
 		}
 	}
 
diff --git a/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/FabricTagKey.java b/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/FabricTagKey.java
index f041d010f..8f0749cc2 100644
--- a/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/FabricTagKey.java
+++ b/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/FabricTagKey.java
@@ -47,7 +47,7 @@ public interface FabricTagKey {
 		stringBuilder.append("tag.");
 
 		TagKey<?> tagKey = (TagKey<?>) this;
-		Identifier registryIdentifier = tagKey.registry().getValue();
+		Identifier registryIdentifier = tagKey.registryRef().getValue();
 		Identifier tagIdentifier = tagKey.id();
 
 		if (!registryIdentifier.getNamespace().equals(Identifier.DEFAULT_NAMESPACE)) {
diff --git a/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/convention/v2/TagUtil.java b/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/convention/v2/TagUtil.java
index 7d3a5c686..b8ba61783 100644
--- a/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/convention/v2/TagUtil.java
+++ b/fabric-convention-tags-v2/src/main/java/net/fabricmc/fabric/api/tag/convention/v2/TagUtil.java
@@ -64,9 +64,9 @@ public final class TagUtil {
 		Objects.requireNonNull(entry);
 
 		if (registryManager != null) {
-			maybeRegistry = registryManager.getOptional(tagKey.registry());
+			maybeRegistry = registryManager.getOptional(tagKey.registryRef());
 		} else {
-			maybeRegistry = Registries.REGISTRIES.getOptionalValue(tagKey.registry().getValue());
+			maybeRegistry = Registries.REGISTRIES.getOptionalValue(tagKey.registryRef().getValue());
 		}
 
 		if (maybeRegistry.isPresent()) {
diff --git a/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/gametest/AttachmentCopyTests.java b/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/gametest/AttachmentCopyTests.java
index 7f36e5c33..9f1973259 100644
--- a/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/gametest/AttachmentCopyTests.java
+++ b/fabric-data-attachment-api-v1/src/testmod/java/net/fabricmc/fabric/test/attachment/gametest/AttachmentCopyTests.java
@@ -57,7 +57,7 @@ public class AttachmentCopyTests implements FabricGameTest {
 		ServerWorld end = server.getWorld(World.END);
 		// using overworld and end to avoid portal code related to the nether
 
-		Entity entity = EntityType.PIG.create(overworld, SpawnReason.SPAWN_EGG);
+		Entity entity = EntityType.PIG.create(overworld, SpawnReason.SPAWN_ITEM_USE);
 		Objects.requireNonNull(entity, "entity was null");
 		entity.setAttached(DUMMY, () -> 10);
 		entity.setAttached(COPY_ON_DEATH, () -> 10);
diff --git a/fabric-gametest-api-v1/src/testmod/java/net/fabricmc/fabric/test/gametest/ExampleFabricTestSuite.java b/fabric-gametest-api-v1/src/testmod/java/net/fabricmc/fabric/test/gametest/ExampleFabricTestSuite.java
index 581b5e480..e78bdd234 100644
--- a/fabric-gametest-api-v1/src/testmod/java/net/fabricmc/fabric/test/gametest/ExampleFabricTestSuite.java
+++ b/fabric-gametest-api-v1/src/testmod/java/net/fabricmc/fabric/test/gametest/ExampleFabricTestSuite.java
@@ -47,7 +47,7 @@ public class ExampleFabricTestSuite implements FabricGameTest {
 
 	private void afterEach(TestContext context) {
 		context.addInstantFinalTask(() ->
-				context.checkBlock(new BlockPos(0, 2, 0), (block) -> block == Blocks.DIAMOND_BLOCK, "Expect block to be gold")
+				context.checkBlock(new BlockPos(0, 1, 0), (block) -> block == Blocks.DIAMOND_BLOCK, "Expect block to be diamond")
 		);
 	}
 
@@ -58,6 +58,6 @@ public class ExampleFabricTestSuite implements FabricGameTest {
 
 	@GameTest(templateName = EMPTY_STRUCTURE)
 	public void noStructure(TestContext context) {
-		context.setBlockState(0, 2, 0, Blocks.DIAMOND_BLOCK);
+		context.setBlockState(0, 1, 0, Blocks.DIAMOND_BLOCK);
 	}
 }
diff --git a/fabric-gametest-api-v1/src/testmod/java/net/fabricmc/fabric/test/gametest/ExampleTestSuite.java b/fabric-gametest-api-v1/src/testmod/java/net/fabricmc/fabric/test/gametest/ExampleTestSuite.java
index 81e6e17c9..b7b6184db 100644
--- a/fabric-gametest-api-v1/src/testmod/java/net/fabricmc/fabric/test/gametest/ExampleTestSuite.java
+++ b/fabric-gametest-api-v1/src/testmod/java/net/fabricmc/fabric/test/gametest/ExampleTestSuite.java
@@ -27,7 +27,7 @@ public class ExampleTestSuite {
 	@GameTest
 	public void diamond(TestContext context) {
 		context.addInstantFinalTask(() ->
-				context.checkBlock(new BlockPos(0, 2, 0), (block) -> block == Blocks.DIAMOND_BLOCK, "Expect block to be diamond")
+				context.checkBlock(new BlockPos(0, 1, 0), (block) -> block == Blocks.DIAMOND_BLOCK, "Expect block to be diamond")
 		);
 	}
 
diff --git a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeFeatureRendererMixin.java b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeFeatureRendererMixin.java
index eb64220a6..ffd7b5df1 100644
--- a/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeFeatureRendererMixin.java
+++ b/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/CapeFeatureRendererMixin.java
@@ -31,7 +31,7 @@ import net.fabricmc.fabric.api.client.rendering.v1.LivingEntityFeatureRenderEven
 
 @Mixin(CapeFeatureRenderer.class)
 public class CapeFeatureRendererMixin {
-	@WrapOperation(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/entity/feature/CapeFeatureRenderer;method_64257(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/equipment/EquipmentModel$LayerType;)Z"), method = "render(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;ILnet/minecraft/client/render/entity/state/PlayerEntityRenderState;FF)V")
+	@WrapOperation(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/entity/feature/CapeFeatureRenderer;hasCustomModelForLayer(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/equipment/EquipmentModel$LayerType;)Z"), method = "render(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;ILnet/minecraft/client/render/entity/state/PlayerEntityRenderState;FF)V")
 	public boolean injectCapeRenderCheck(CapeFeatureRenderer instance, ItemStack itemStack, EquipmentModel.LayerType layerType, Operation<Boolean> original, @Local(argsOnly = true) PlayerEntityRenderState state) {
 		if (!LivingEntityFeatureRenderEvents.ALLOW_CAPE_RENDER.invoker().allowCapeRender(state)) {
 			return false;
diff --git a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/impl/resource/conditions/conditions/TagsPopulatedResourceCondition.java b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/impl/resource/conditions/conditions/TagsPopulatedResourceCondition.java
index 6205fbc1a..95e452e51 100644
--- a/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/impl/resource/conditions/conditions/TagsPopulatedResourceCondition.java
+++ b/fabric-resource-conditions-api-v1/src/main/java/net/fabricmc/fabric/impl/resource/conditions/conditions/TagsPopulatedResourceCondition.java
@@ -48,7 +48,7 @@ public record TagsPopulatedResourceCondition(Identifier registry, List<Identifie
 
 	@SafeVarargs
 	public <T> TagsPopulatedResourceCondition(TagKey<T>... tags) {
-		this(tags[0].registry().getValue(), Arrays.stream(tags).map(TagKey::id).toList());
+		this(tags[0].registryRef().getValue(), Arrays.stream(tags).map(TagKey::id).toList());
 	}
 
 	@Override
diff --git a/fabric-resource-loader-v0/src/client/java/net/fabricmc/fabric/mixin/resource/loader/client/CreateWorldScreenMixin.java b/fabric-resource-loader-v0/src/client/java/net/fabricmc/fabric/mixin/resource/loader/client/CreateWorldScreenMixin.java
index ca0ad8d66..464a3365d 100644
--- a/fabric-resource-loader-v0/src/client/java/net/fabricmc/fabric/mixin/resource/loader/client/CreateWorldScreenMixin.java
+++ b/fabric-resource-loader-v0/src/client/java/net/fabricmc/fabric/mixin/resource/loader/client/CreateWorldScreenMixin.java
@@ -45,7 +45,7 @@ public abstract class CreateWorldScreenMixin extends Screen {
 		super(null);
 	}
 
-	@ModifyVariable(method = "method_64244",
+	@ModifyVariable(method = "show(Lnet/minecraft/client/MinecraftClient;Lnet/minecraft/client/gui/screen/Screen;Ljava/util/function/Function;Lnet/minecraft/client/world/GeneratorOptionsFactory;Lnet/minecraft/registry/RegistryKey;Lnet/minecraft/class_10241;)V",
 			at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;createServerConfig(Lnet/minecraft/resource/ResourcePackManager;Lnet/minecraft/resource/DataConfiguration;)Lnet/minecraft/server/SaveLoading$ServerConfig;"))
 	private static ResourcePackManager onCreateResManagerInit(ResourcePackManager 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
@@ -53,7 +53,8 @@ public abstract class CreateWorldScreenMixin extends Screen {
 		return manager;
 	}
 
-	@Redirect(method = "method_64244", at = @At(value = "FIELD", target = "Lnet/minecraft/resource/DataConfiguration;SAFE_MODE:Lnet/minecraft/resource/DataConfiguration;", ordinal = 0))
+	@Redirect(method = "show(Lnet/minecraft/client/MinecraftClient;Lnet/minecraft/client/gui/screen/Screen;Ljava/util/function/Function;Lnet/minecraft/client/world/GeneratorOptionsFactory;Lnet/minecraft/registry/RegistryKey;Lnet/minecraft/class_10241;)V",
+			at = @At(value = "FIELD", target = "Lnet/minecraft/resource/DataConfiguration;SAFE_MODE:Lnet/minecraft/resource/DataConfiguration;", ordinal = 0))
 	private static DataConfiguration replaceDefaultSettings() {
 		return ModResourcePackUtil.createDefaultDataConfiguration();
 	}
diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/VariantCodecs.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/VariantCodecs.java
index f8cc74ced..cc4f8ba47 100644
--- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/VariantCodecs.java
+++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/VariantCodecs.java
@@ -21,7 +21,7 @@ import com.mojang.serialization.DataResult;
 import com.mojang.serialization.codecs.RecordCodecBuilder;
 
 import net.minecraft.component.ComponentChanges;
-import net.minecraft.component.ComponentMapImpl;
+import net.minecraft.component.MergedComponentMap;
 import net.minecraft.item.ItemStack;
 import net.minecraft.network.RegistryByteBuf;
 import net.minecraft.network.codec.PacketCodec;
@@ -60,6 +60,6 @@ public class VariantCodecs {
 	);
 
 	private static DataResult<ItemVariant> validateComponents(ItemVariant variant) {
-		return ItemStack.validateComponents(ComponentMapImpl.create(variant.getItem().getComponents(), variant.getComponents())).map(v -> variant);
+		return ItemStack.validateComponents(MergedComponentMap.create(variant.getItem().getComponents(), variant.getComponents())).map(v -> variant);
 	}
 }
diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/fluid/FluidVariantImpl.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/fluid/FluidVariantImpl.java
index e13f5919a..5dde94c4f 100644
--- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/fluid/FluidVariantImpl.java
+++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/fluid/FluidVariantImpl.java
@@ -22,7 +22,7 @@ import org.jetbrains.annotations.Nullable;
 
 import net.minecraft.component.ComponentChanges;
 import net.minecraft.component.ComponentMap;
-import net.minecraft.component.ComponentMapImpl;
+import net.minecraft.component.MergedComponentMap;
 import net.minecraft.fluid.FlowableFluid;
 import net.minecraft.fluid.Fluid;
 import net.minecraft.fluid.Fluids;
@@ -71,7 +71,7 @@ public class FluidVariantImpl implements FluidVariant {
 	public FluidVariantImpl(Fluid fluid, ComponentChanges components) {
 		this.fluid = fluid;
 		this.components = components;
-		this.componentMap = components == ComponentChanges.EMPTY ? ComponentMap.EMPTY : ComponentMapImpl.create(ComponentMap.EMPTY, components);
+		this.componentMap = components == ComponentChanges.EMPTY ? ComponentMap.EMPTY : MergedComponentMap.create(ComponentMap.EMPTY, components);
 		this.hashCode = Objects.hash(fluid, components);
 	}
 
diff --git a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/item/ComposterWrapper.java b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/item/ComposterWrapper.java
index bc0eba693..06eeb5e5a 100644
--- a/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/item/ComposterWrapper.java
+++ b/fabric-transfer-api-v1/src/main/java/net/fabricmc/fabric/impl/transfer/item/ComposterWrapper.java
@@ -122,7 +122,7 @@ public class ComposterWrapper extends SnapshotParticipant<Float> {
 				location.setBlockState(newState);
 
 				if (newLevel == 7) {
-					location.world.scheduleBlockTick(location.pos, state.getBlock(), 20);
+					location.world.method_64310(location.pos, state.getBlock(), 20);
 				}
 			}
 
diff --git a/fabric-transfer-api-v1/src/testmod/java/net/fabricmc/fabric/test/transfer/gametests/VanillaStorageTests.java b/fabric-transfer-api-v1/src/testmod/java/net/fabricmc/fabric/test/transfer/gametests/VanillaStorageTests.java
index 9b7089c3e..2def88c77 100644
--- a/fabric-transfer-api-v1/src/testmod/java/net/fabricmc/fabric/test/transfer/gametests/VanillaStorageTests.java
+++ b/fabric-transfer-api-v1/src/testmod/java/net/fabricmc/fabric/test/transfer/gametests/VanillaStorageTests.java
@@ -288,7 +288,7 @@ public class VanillaStorageTests {
 	 */
 	@GameTest(templateName = "fabric-transfer-api-v1-testmod:double_chest_comparators", skyAccess = true)
 	public void testDoubleChestComparator(TestContext context) {
-		BlockPos chestPos = new BlockPos(2, 2, 2);
+		BlockPos chestPos = new BlockPos(2, 1, 2);
 		Storage<ItemVariant> storage = ItemStorage.SIDED.find(context.getWorld(), context.getAbsolutePos(chestPos), Direction.UP);
 		context.assertTrue(storage != null, "Storage must not be null");
 
diff --git a/gradle.properties b/gradle.properties
index 773f57b1d..24bf92cb9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -2,9 +2,9 @@ org.gradle.jvmargs=-Xmx2560M
 org.gradle.parallel=true
 fabric.loom.multiProjectOptimisation=true
 
-version=0.104.1
-minecraft_version=24w37a
-yarn_version=+build.1
+version=0.104.2
+minecraft_version=24w38a
+yarn_version=+build.2
 loader_version=0.16.4
 installer_version=1.0.1
 
@@ -12,51 +12,51 @@ prerelease=true
 curseforge_minecraft_version=1.21.2-Snapshot
 
 # Do not manually update, use the bumpversions task:
-fabric-api-base-version=0.4.45
-fabric-api-lookup-api-v1-version=1.6.74
-fabric-biome-api-v1-version=14.0.2
-fabric-block-api-v1-version=1.0.25
-fabric-block-view-api-v2-version=1.0.13
-fabric-blockrenderlayer-v1-version=1.1.55
-fabric-command-api-v1-version=1.2.53
-fabric-command-api-v2-version=2.2.32
-fabric-commands-v0-version=0.2.70
-fabric-content-registries-v0-version=9.0.5
-fabric-crash-report-info-v1-version=0.3.0
-fabric-data-attachment-api-v1-version=1.1.33
-fabric-data-generation-api-v1-version=21.0.6
-fabric-dimensions-v1-version=4.0.3
-fabric-entity-events-v1-version=2.0.1
-fabric-events-interaction-v0-version=2.0.3
-fabric-game-rule-api-v1-version=1.0.56
-fabric-gametest-api-v1-version=2.0.8
-fabric-item-api-v1-version=11.0.5
-fabric-item-group-api-v1-version=4.1.9
-fabric-key-binding-api-v1-version=1.0.50
-fabric-keybindings-v0-version=0.2.48
-fabric-lifecycle-events-v1-version=2.3.18
-fabric-loot-api-v2-version=3.0.18
-fabric-loot-api-v3-version=1.0.6
-fabric-message-api-v1-version=6.0.16
-fabric-model-loading-api-v1-version=3.0.4
-fabric-networking-api-v1-version=4.2.6
-fabric-object-builder-api-v1-version=17.0.2
-fabric-particles-v1-version=4.0.5
-fabric-recipe-api-v1-version=6.0.3
-fabric-registry-sync-v0-version=5.1.7
-fabric-renderer-api-v1-version=3.5.2
-fabric-renderer-indigo-version=1.8.2
-fabric-rendering-data-attachment-v1-version=0.3.51
-fabric-rendering-fluids-v1-version=3.1.9
-fabric-rendering-v0-version=1.1.76
-fabric-rendering-v1-version=8.0.0
-fabric-resource-conditions-api-v1-version=5.0.2
-fabric-resource-loader-v0-version=3.0.0
-fabric-screen-api-v1-version=2.0.28
-fabric-screen-handler-api-v1-version=1.3.91
-fabric-sound-api-v1-version=1.0.26
-fabric-transfer-api-v1-version=5.2.1
-fabric-transitive-access-wideners-v1-version=6.1.4
-fabric-convention-tags-v1-version=2.0.27
-fabric-convention-tags-v2-version=2.7.1
-fabric-client-tags-api-v1-version=1.1.18
+fabric-api-base-version=0.4.46
+fabric-api-lookup-api-v1-version=1.6.75
+fabric-biome-api-v1-version=14.0.3
+fabric-block-api-v1-version=1.0.26
+fabric-block-view-api-v2-version=1.0.14
+fabric-blockrenderlayer-v1-version=2.0.0
+fabric-command-api-v1-version=1.2.54
+fabric-command-api-v2-version=2.2.33
+fabric-commands-v0-version=0.2.71
+fabric-content-registries-v0-version=9.0.6
+fabric-crash-report-info-v1-version=0.3.1
+fabric-data-attachment-api-v1-version=1.1.34
+fabric-data-generation-api-v1-version=21.0.7
+fabric-dimensions-v1-version=4.0.4
+fabric-entity-events-v1-version=2.0.2
+fabric-events-interaction-v0-version=2.0.4
+fabric-game-rule-api-v1-version=1.0.57
+fabric-gametest-api-v1-version=2.0.9
+fabric-item-api-v1-version=11.0.6
+fabric-item-group-api-v1-version=4.1.10
+fabric-key-binding-api-v1-version=1.0.51
+fabric-keybindings-v0-version=0.2.49
+fabric-lifecycle-events-v1-version=2.3.19
+fabric-loot-api-v2-version=3.0.19
+fabric-loot-api-v3-version=1.0.7
+fabric-message-api-v1-version=6.0.17
+fabric-model-loading-api-v1-version=3.0.5
+fabric-networking-api-v1-version=4.2.7
+fabric-object-builder-api-v1-version=17.0.3
+fabric-particles-v1-version=4.0.6
+fabric-recipe-api-v1-version=6.0.4
+fabric-registry-sync-v0-version=5.1.8
+fabric-renderer-api-v1-version=4.0.0
+fabric-renderer-indigo-version=1.9.0
+fabric-rendering-data-attachment-v1-version=0.3.52
+fabric-rendering-fluids-v1-version=3.1.10
+fabric-rendering-v0-version=1.1.77
+fabric-rendering-v1-version=8.0.1
+fabric-resource-conditions-api-v1-version=5.0.3
+fabric-resource-loader-v0-version=3.0.1
+fabric-screen-api-v1-version=2.0.29
+fabric-screen-handler-api-v1-version=1.3.92
+fabric-sound-api-v1-version=1.0.27
+fabric-transfer-api-v1-version=5.2.2
+fabric-transitive-access-wideners-v1-version=6.1.5
+fabric-convention-tags-v1-version=2.0.28
+fabric-convention-tags-v2-version=2.7.2
+fabric-client-tags-api-v1-version=1.1.19