diff --git a/build.gradle b/build.gradle
index 9e1560e42..5a932eaf2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -14,7 +14,7 @@ def ENV = System.getenv()
 class Globals {
 	static def baseVersion = "0.11.7"
 	static def mcVersion = "1.16-pre2"
-	static def yarnVersion = "+build.1"
+	static def yarnVersion = "+build.29"
 }
 
 version = Globals.baseVersion + "+" + (ENV.BUILD_NUMBER ? ("build." + ENV.BUILD_NUMBER) : "local") + "-" + getBranch()
diff --git a/fabric-biomes-v1/build.gradle b/fabric-biomes-v1/build.gradle
index 211a524d1..fc6da64ae 100644
--- a/fabric-biomes-v1/build.gradle
+++ b/fabric-biomes-v1/build.gradle
@@ -1,2 +1,2 @@
 archivesBaseName = "fabric-biomes-v1"
-version = getSubprojectVersion(project, "0.2.6")
+version = getSubprojectVersion(project, "0.2.7")
diff --git a/fabric-biomes-v1/src/main/java/net/fabricmc/fabric/mixin/biome/MixinTheNetherDimension.java b/fabric-biomes-v1/src/main/java/net/fabricmc/fabric/mixin/biome/MixinTheNetherDimension.java
index 4e39863e2..430844bef 100644
--- a/fabric-biomes-v1/src/main/java/net/fabricmc/fabric/mixin/biome/MixinTheNetherDimension.java
+++ b/fabric-biomes-v1/src/main/java/net/fabricmc/fabric/mixin/biome/MixinTheNetherDimension.java
@@ -38,7 +38,7 @@ public class MixinTheNetherDimension {
 	private static void method_28467(long l, CallbackInfoReturnable<MultiNoiseBiomeSource> info) {
 		List<Biome> newList = new ArrayList<>(info.getReturnValue().method_28443());
 		newList.addAll(InternalBiomeData.getNetherBiomes());
-		MultiNoiseBiomeSource multiNoiseBiomeSource = new MultiNoiseBiomeSource(l, newList.stream().flatMap((biome) -> biome.streamNoises().map((point) -> Pair.of(point, biome))).collect(ImmutableList.toImmutableList()), Optional.of(MultiNoiseBiomeSource.class_5305.field_24723));
+		MultiNoiseBiomeSource multiNoiseBiomeSource = new MultiNoiseBiomeSource(l, newList.stream().flatMap((biome) -> biome.streamNoises().map((point) -> Pair.of(point, biome))).collect(ImmutableList.toImmutableList()), Optional.of(MultiNoiseBiomeSource.Preset.NETHER));
 		info.setReturnValue(multiNoiseBiomeSource);
 	}
 }
diff --git a/fabric-content-registries-v0/build.gradle b/fabric-content-registries-v0/build.gradle
index e4f475d53..14ad3787a 100644
--- a/fabric-content-registries-v0/build.gradle
+++ b/fabric-content-registries-v0/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-content-registries-v0"
-version = getSubprojectVersion(project, "0.1.8")
+version = getSubprojectVersion(project, "0.1.9")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/api/registry/LootEntryTypeRegistry.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/api/registry/LootEntryTypeRegistry.java
index a64a89cac..8314600fb 100644
--- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/api/registry/LootEntryTypeRegistry.java
+++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/api/registry/LootEntryTypeRegistry.java
@@ -29,5 +29,5 @@ public interface LootEntryTypeRegistry {
 	LootEntryTypeRegistry INSTANCE = LootEntryTypeRegistryImpl.INSTANCE;
 
 	@Deprecated
-	void register(LootPoolEntry.class_5337<?> serializer);
+	void register(LootPoolEntry.Serializer<?> serializer);
 }
diff --git a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/impl/content/registry/LootEntryTypeRegistryImpl.java b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/impl/content/registry/LootEntryTypeRegistryImpl.java
index 8eee22a53..8e2098673 100644
--- a/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/impl/content/registry/LootEntryTypeRegistryImpl.java
+++ b/fabric-content-registries-v0/src/main/java/net/fabricmc/fabric/impl/content/registry/LootEntryTypeRegistryImpl.java
@@ -32,7 +32,7 @@ public final class LootEntryTypeRegistryImpl implements LootEntryTypeRegistry {
 		Method target = null;
 
 		for (Method m : LootPoolEntryTypes.class.getDeclaredMethods()) {
-			if (m.getParameterCount() == 1 && m.getParameterTypes()[0] == LootPoolEntry.class_5337.class) {
+			if (m.getParameterCount() == 1 && m.getParameterTypes()[0] == LootPoolEntry.Serializer.class) {
 				if (target != null) {
 					throw new RuntimeException("More than one register-like method found in LootEntries!");
 				} else {
@@ -52,7 +52,7 @@ public final class LootEntryTypeRegistryImpl implements LootEntryTypeRegistry {
 	private LootEntryTypeRegistryImpl() { }
 
 	@Override
-	public void register(LootPoolEntry.class_5337<?> serializer) {
+	public void register(LootPoolEntry.Serializer<?> serializer) {
 		try {
 			REGISTER_METHOD.invoke(null, serializer);
 		} catch (Throwable t) {
diff --git a/fabric-loot-tables-v1/build.gradle b/fabric-loot-tables-v1/build.gradle
index cfe8466e8..060660f97 100644
--- a/fabric-loot-tables-v1/build.gradle
+++ b/fabric-loot-tables-v1/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-loot-tables-v1"
-version = getSubprojectVersion(project, "0.1.9")
+version = getSubprojectVersion(project, "0.1.10")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/LootEntryTypeRegistry.java b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/LootEntryTypeRegistry.java
index 3168807be..1c0ebf0e1 100644
--- a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/LootEntryTypeRegistry.java
+++ b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/api/loot/v1/LootEntryTypeRegistry.java
@@ -34,5 +34,5 @@ public interface LootEntryTypeRegistry {
 	 *
 	 * @param serializer the loot entry serializer
 	 */
-	void register(LootPoolEntry.class_5337<?> serializer);
+	void register(LootPoolEntry.Serializer<?> serializer);
 }
diff --git a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/impl/loot/table/LootEntryTypeRegistryImpl.java b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/impl/loot/table/LootEntryTypeRegistryImpl.java
index 77f3468ba..48149c567 100644
--- a/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/impl/loot/table/LootEntryTypeRegistryImpl.java
+++ b/fabric-loot-tables-v1/src/main/java/net/fabricmc/fabric/impl/loot/table/LootEntryTypeRegistryImpl.java
@@ -29,7 +29,7 @@ public final class LootEntryTypeRegistryImpl implements net.fabricmc.fabric.api.
 		Method target = null;
 
 		for (Method m : LootPoolEntryTypes.class.getDeclaredMethods()) {
-			if (m.getParameterCount() == 1 && m.getParameterTypes()[0] == LootPoolEntry.class_5337.class) {
+			if (m.getParameterCount() == 1 && m.getParameterTypes()[0] == LootPoolEntry.Serializer.class) {
 				if (target != null) {
 					throw new RuntimeException("More than one register-like method found in LootEntries!");
 				} else {
@@ -49,7 +49,7 @@ public final class LootEntryTypeRegistryImpl implements net.fabricmc.fabric.api.
 	private LootEntryTypeRegistryImpl() { }
 
 	@Override
-	public void register(LootPoolEntry.class_5337<?> serializer) {
+	public void register(LootPoolEntry.Serializer<?> serializer) {
 		try {
 			REGISTER_METHOD.invoke(null, serializer);
 		} catch (Throwable t) {
diff --git a/fabric-object-builder-api-v1/build.gradle b/fabric-object-builder-api-v1/build.gradle
index 40b35b852..b04c0a71e 100644
--- a/fabric-object-builder-api-v1/build.gradle
+++ b/fabric-object-builder-api-v1/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-object-builder-api-v1"
-version = getSubprojectVersion(project, "1.5.3")
+version = getSubprojectVersion(project, "1.5.4")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/block/FabricBlockSettings.java b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/block/FabricBlockSettings.java
index 4483a5fb5..aa86cf9b6 100644
--- a/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/block/FabricBlockSettings.java
+++ b/fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/block/FabricBlockSettings.java
@@ -290,8 +290,8 @@ public class FabricBlockSettings extends AbstractBlock.Settings {
 	 * Make the material require tool to drop and slows down mining speed if the incorrect tool is used.
 	 */
 	@Override
-	public FabricBlockSettings method_29292() {
-		super.method_29292();
+	public FabricBlockSettings requiresTool() {
+		super.requiresTool();
 		return this;
 	}
 }
diff --git a/fabric-registry-sync-v0/build.gradle b/fabric-registry-sync-v0/build.gradle
index 677b5f286..e2a3a7962 100644
--- a/fabric-registry-sync-v0/build.gradle
+++ b/fabric-registry-sync-v0/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-registry-sync-v0"
-version = getSubprojectVersion(project, "0.3.6")
+version = getSubprojectVersion(project, "0.3.7")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinLevelStorageSession.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinLevelStorageSession.java
index 7c7cab7b3..73d4ce48a 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinLevelStorageSession.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinLevelStorageSession.java
@@ -39,7 +39,7 @@ import net.minecraft.nbt.CompoundTag;
 import net.minecraft.nbt.NbtIo;
 import net.minecraft.world.SaveProperties;
 import net.minecraft.world.level.storage.LevelStorage;
-import net.minecraft.world.dimension.DimensionTracker;
+import net.minecraft.util.registry.RegistryTracker;
 
 import net.fabricmc.fabric.impl.registry.sync.RegistrySyncManager;
 import net.fabricmc.fabric.impl.registry.sync.RemapException;
@@ -130,7 +130,7 @@ public class MixinLevelStorageSession {
 	}
 
 	@Inject(method = "method_27426", at = @At("HEAD"))
-	public void saveWorld(DimensionTracker dimensionTracker, SaveProperties saveProperties, CompoundTag compoundTag, CallbackInfo info) {
+	public void saveWorld(RegistryTracker registryTracker, SaveProperties saveProperties, CompoundTag compoundTag, CallbackInfo info) {
 		if (!Files.exists(directory)) {
 			return;
 		}
diff --git a/fabric-renderer-indigo/build.gradle b/fabric-renderer-indigo/build.gradle
index 51f49fcdb..832f1afd7 100644
--- a/fabric-renderer-indigo/build.gradle
+++ b/fabric-renderer-indigo/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-renderer-indigo"
-version = getSubprojectVersion(project, "0.3.0")
+version = getSubprojectVersion(project, "0.3.1")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/BlockRenderInfo.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/BlockRenderInfo.java
index 864c0c1a6..d99696f74 100644
--- a/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/BlockRenderInfo.java
+++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/BlockRenderInfo.java
@@ -38,7 +38,7 @@ import net.fabricmc.fabric.api.renderer.v1.material.BlendMode;
  * so they can be applied together with chunk offsets.
  */
 public class BlockRenderInfo {
-	private final BlockColors blockColorMap = MinecraftClient.getInstance().getBlockColorMap();
+	private final BlockColors blockColorMap = MinecraftClient.getInstance().getBlockColors();
 	public final Random random = new Random();
 	public BlockRenderView blockView;
 	public BlockPos blockPos;
diff --git a/fabric-resource-loader-v0/build.gradle b/fabric-resource-loader-v0/build.gradle
index 12cf7bfda..99b9d1f0d 100644
--- a/fabric-resource-loader-v0/build.gradle
+++ b/fabric-resource-loader-v0/build.gradle
@@ -1,2 +1,2 @@
 archivesBaseName = "fabric-resource-loader-v0"
-version = getSubprojectVersion(project, "0.2.4")
+version = getSubprojectVersion(project, "0.2.5")
diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModResourcePackCreator.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModResourcePackCreator.java
index f90b326de..d30876b04 100644
--- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModResourcePackCreator.java
+++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/impl/resource/loader/ModResourcePackCreator.java
@@ -36,7 +36,7 @@ public class ModResourcePackCreator implements ResourcePackProvider {
 	}
 
 	@Override
-	public <T extends ResourcePackProfile> void register(Consumer<T> consumer, ResourcePackProfile.class_5351<T> factory) {
+	public <T extends ResourcePackProfile> void register(Consumer<T> consumer, ResourcePackProfile.Factory<T> factory) {
 		// TODO: "vanilla" does not emit a message; neither should a modded datapack
 		List<ResourcePack> packs = new ArrayList<>();
 		ModResourcePackUtil.appendModResourcePacks(packs, type);
diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinClass_5359.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinClass_5359.java
index f9d88cb2d..e4923a862 100644
--- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinClass_5359.java
+++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinClass_5359.java
@@ -28,7 +28,7 @@ import org.spongepowered.asm.mixin.injection.At;
 import org.spongepowered.asm.mixin.injection.Inject;
 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
 
-import net.minecraft.class_5359;
+import net.minecraft.resource.DataPackSettings;
 import net.minecraft.resource.ResourcePack;
 import net.minecraft.resource.ResourceType;
 
@@ -36,12 +36,12 @@ import net.fabricmc.loader.api.FabricLoader;
 import net.fabricmc.loader.api.ModContainer;
 import net.fabricmc.fabric.impl.resource.loader.ModNioResourcePack;
 
-@Mixin(class_5359.class)
+@Mixin(DataPackSettings.class)
 public class MixinClass_5359 {
 	@Shadow
 	@Final
 	@Mutable
-	private List<String> field_25395;
+	private List<String> enabled;
 
 	/*
 	This injection takes all instances of this class with an enabled list that only have the vanilla pack enabled,
@@ -67,7 +67,7 @@ public class MixinClass_5359 {
 				}
 			}
 
-			this.field_25395 = newEnabled;
+			this.enabled = newEnabled;
 		}
 	}
 }
diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinResourcePackManager.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinResourcePackManager.java
index 6c9ad3020..107ae2877 100644
--- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinResourcePackManager.java
+++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinResourcePackManager.java
@@ -42,7 +42,7 @@ public class MixinResourcePackManager<T extends ResourcePackProfile> {
 	private Set<ResourcePackProvider> providers;
 
 	@Inject(method = "<init>", at = @At("RETURN"))
-	public void construct(ResourcePackProfile.class_5351<T> arg, ResourcePackProvider[] resourcePackProviders, CallbackInfo info) {
+	public void construct(ResourcePackProfile.Factory<T> arg, ResourcePackProvider[] resourcePackProviders, CallbackInfo info) {
 		providers = new HashSet<>(providers);
 		providers.add(new ModResourcePackCreator(ResourceType.SERVER_DATA));
 	}
diff --git a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinResourcePackManagerClient.java b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinResourcePackManagerClient.java
index a4cc2c74d..e8275cb1e 100644
--- a/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinResourcePackManagerClient.java
+++ b/fabric-resource-loader-v0/src/main/java/net/fabricmc/fabric/mixin/resource/loader/MixinResourcePackManagerClient.java
@@ -31,8 +31,8 @@ import net.fabricmc.fabric.impl.resource.loader.ModResourcePackUtil;
 
 @Mixin(ResourcePackManager.class)
 public class MixinResourcePackManagerClient {
-	@Inject(method = "method_29211", at = @At("RETURN"), cancellable = true)
-	public void method_29211(CallbackInfoReturnable<List<ResourcePack>> infoReturnable) {
+	@Inject(method = "createResourcePacks", at = @At("RETURN"), cancellable = true)
+	public void createResourcePacks(CallbackInfoReturnable<List<ResourcePack>> infoReturnable) {
 		List<ResourcePack> list = new ArrayList<>(infoReturnable.getReturnValue());
 		ModResourcePackUtil.modifyResourcePackList(list);
 		infoReturnable.setReturnValue(list);
diff --git a/fabric-tool-attribute-api-v1/build.gradle b/fabric-tool-attribute-api-v1/build.gradle
index 140d5ad0d..a779d98f3 100644
--- a/fabric-tool-attribute-api-v1/build.gradle
+++ b/fabric-tool-attribute-api-v1/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-tool-attribute-api-v1"
-version = getSubprojectVersion(project, "1.1.2")
+version = getSubprojectVersion(project, "1.1.3")
 
 dependencies {
     compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-tool-attribute-api-v1/src/testmod/java/net/fabricmc/fabric/test/tool/attribute/ToolAttributeTest.java b/fabric-tool-attribute-api-v1/src/testmod/java/net/fabricmc/fabric/test/tool/attribute/ToolAttributeTest.java
index 6fce2891a..68f02a05b 100644
--- a/fabric-tool-attribute-api-v1/src/testmod/java/net/fabricmc/fabric/test/tool/attribute/ToolAttributeTest.java
+++ b/fabric-tool-attribute-api-v1/src/testmod/java/net/fabricmc/fabric/test/tool/attribute/ToolAttributeTest.java
@@ -47,7 +47,7 @@ public class ToolAttributeTest implements ModInitializer {
 		Block block = Registry.register(Registry.BLOCK, new Identifier("fabric-tool-attribute-api-v1-testmod", "hardened_block"),
 				new Block(FabricBlockSettings.of(new FabricMaterialBuilder(MaterialColor.SAND).build(), MaterialColor.STONE)
 						.breakByTool(FabricToolTags.SHOVELS, 2)
-						.method_29292()
+						.requiresTool()
 						.strength(0.6F)
 						.sounds(BlockSoundGroup.GRAVEL)));
 		Registry.register(Registry.ITEM, new Identifier("fabric-tool-attribute-api-v1-testmod", "hardened_block"), new BlockItem(block, new Item.Settings()));