diff --git a/build.gradle b/build.gradle
index 7e96fcf16..82c027db5 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,9 +12,9 @@ plugins {
 def ENV = System.getenv()
 
 class Globals {
-	static def baseVersion = "0.5.3"
-	static def mcVersion = "20w11a"
-	static def yarnVersion = "+build.1"
+	static def baseVersion = "0.5.4"
+	static def mcVersion = "20w12a"
+	static def yarnVersion = "+build.3"
 }
 
 import org.apache.commons.codec.digest.DigestUtils
diff --git a/fabric-containers-v0/build.gradle b/fabric-containers-v0/build.gradle
index 672b29757..e866ea231 100644
--- a/fabric-containers-v0/build.gradle
+++ b/fabric-containers-v0/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-containers-v0"
-version = getSubprojectVersion(project, "0.1.6")
+version = getSubprojectVersion(project, "0.1.7")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/client/screen/ContainerScreenFactory.java b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/client/screen/ContainerScreenFactory.java
index f7c14a85a..db4b2d196 100644
--- a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/client/screen/ContainerScreenFactory.java
+++ b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/client/screen/ContainerScreenFactory.java
@@ -16,10 +16,10 @@
 
 package net.fabricmc.fabric.api.client.screen;
 
-import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
+import net.minecraft.client.gui.screen.ingame.HandledScreen;
 import net.minecraft.screen.ScreenHandler;
 
 @FunctionalInterface
 public interface ContainerScreenFactory<C extends ScreenHandler> {
-	ScreenWithHandler create(C container);
+	HandledScreen create(C container);
 }
diff --git a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/client/screen/ScreenProviderRegistry.java b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/client/screen/ScreenProviderRegistry.java
index 5f2da41cf..a132b746f 100644
--- a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/client/screen/ScreenProviderRegistry.java
+++ b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/client/screen/ScreenProviderRegistry.java
@@ -16,7 +16,7 @@
 
 package net.fabricmc.fabric.api.client.screen;
 
-import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
+import net.minecraft.client.gui.screen.ingame.HandledScreen;
 import net.minecraft.screen.ScreenHandler;
 import net.minecraft.util.Identifier;
 
@@ -40,7 +40,7 @@ public interface ScreenProviderRegistry {
 	 * to override the default behaviour of re-using the existing "packet -&gt; Container" logic.
 	 *
 	 * @param identifier a shared identifier, this identifier should also be used to register a container using {@link ContainerProviderRegistry}
-	 * @param factory    the gui factory, this should return a new {@link ScreenWithHandler}
+	 * @param factory    the gui factory, this should return a new {@link HandledScreen}
 	 */
-	void registerFactory(Identifier identifier, ContainerFactory<ScreenWithHandler> factory);
+	void registerFactory(Identifier identifier, ContainerFactory<HandledScreen> factory);
 }
diff --git a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/container/ContainerFactory.java b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/container/ContainerFactory.java
index 51f968145..4a5c0cee1 100644
--- a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/container/ContainerFactory.java
+++ b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/container/ContainerFactory.java
@@ -18,7 +18,7 @@ package net.fabricmc.fabric.api.container;
 
 import net.minecraft.entity.player.PlayerEntity;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 @FunctionalInterface
 public interface ContainerFactory<T> {
diff --git a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/container/ContainerProviderRegistry.java b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/container/ContainerProviderRegistry.java
index 0a2a2e9b0..7d82f98a4 100644
--- a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/container/ContainerProviderRegistry.java
+++ b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/api/container/ContainerProviderRegistry.java
@@ -22,7 +22,7 @@ import net.minecraft.screen.ScreenHandler;
 import net.minecraft.entity.player.PlayerEntity;
 import net.minecraft.server.network.ServerPlayerEntity;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 import net.fabricmc.fabric.api.client.screen.ScreenProviderRegistry;
 import net.fabricmc.fabric.impl.container.ContainerProviderImpl;
diff --git a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/client/container/ScreenProviderRegistryImpl.java b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/client/container/ScreenProviderRegistryImpl.java
index b39ed4d72..3b8c80784 100644
--- a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/client/container/ScreenProviderRegistryImpl.java
+++ b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/client/container/ScreenProviderRegistryImpl.java
@@ -24,7 +24,7 @@ import org.apache.logging.log4j.Logger;
 
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.util.Identifier;
-import net.minecraft.client.gui.screen.ingame.ScreenWithHandler;
+import net.minecraft.client.gui.screen.ingame.HandledScreen;
 import net.minecraft.screen.ScreenHandler;
 
 import net.fabricmc.fabric.api.client.screen.ContainerScreenFactory;
@@ -42,10 +42,10 @@ public class ScreenProviderRegistryImpl implements ScreenProviderRegistry {
 
 	private static final Logger LOGGER = LogManager.getLogger();
 
-	private static final Map<Identifier, ContainerFactory<ScreenWithHandler>> FACTORIES = new HashMap<>();
+	private static final Map<Identifier, ContainerFactory<HandledScreen>> FACTORIES = new HashMap<>();
 
 	@Override
-	public void registerFactory(Identifier identifier, ContainerFactory<ScreenWithHandler> factory) {
+	public void registerFactory(Identifier identifier, ContainerFactory<HandledScreen> factory) {
 		if (FACTORIES.containsKey(identifier)) {
 			throw new RuntimeException("A factory has already been registered as " + identifier + "!");
 		}
@@ -75,14 +75,14 @@ public class ScreenProviderRegistryImpl implements ScreenProviderRegistry {
 
 			MinecraftClient.getInstance().execute(() -> {
 				try {
-					ContainerFactory<ScreenWithHandler> factory = FACTORIES.get(identifier);
+					ContainerFactory<HandledScreen> factory = FACTORIES.get(identifier);
 
 					if (factory == null) {
 						LOGGER.error("No GUI factory found for {}!", identifier.toString());
 						return;
 					}
 
-					ScreenWithHandler gui = factory.create(syncId, identifier, packetContext.getPlayer(), packetByteBuf);
+					HandledScreen gui = factory.create(syncId, identifier, packetContext.getPlayer(), packetByteBuf);
 					packetContext.getPlayer().currentScreenHandler = gui.getScreenHandler();
 					MinecraftClient.getInstance().openScreen(gui);
 				} finally {
diff --git a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/container/ContainerProviderImpl.java b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/container/ContainerProviderImpl.java
index 01bb02914..d0bf12279 100644
--- a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/container/ContainerProviderImpl.java
+++ b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/container/ContainerProviderImpl.java
@@ -29,7 +29,7 @@ import net.minecraft.screen.ScreenHandler;
 import net.minecraft.entity.player.PlayerEntity;
 import net.minecraft.server.network.ServerPlayerEntity;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 import net.fabricmc.fabric.api.container.ContainerFactory;
 import net.fabricmc.fabric.api.container.ContainerProviderRegistry;
diff --git a/fabric-dimensions-v1/build.gradle b/fabric-dimensions-v1/build.gradle
index ad60e3e57..c02678e64 100644
--- a/fabric-dimensions-v1/build.gradle
+++ b/fabric-dimensions-v1/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-dimensions-v1"
-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-dimensions-v1/src/main/java/net/fabricmc/fabric/impl/dimension/DimensionIdsFixer.java b/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/impl/dimension/DimensionIdsFixer.java
index d72393300..c8c58cc52 100644
--- a/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/impl/dimension/DimensionIdsFixer.java
+++ b/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/impl/dimension/DimensionIdsFixer.java
@@ -28,7 +28,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
 import net.minecraft.nbt.CompoundTag;
 import net.minecraft.network.Packet;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 import net.minecraft.util.registry.Registry;
 import net.minecraft.world.dimension.DimensionType;
 import net.minecraft.world.level.LevelProperties;
diff --git a/fabric-item-groups-v0/build.gradle b/fabric-item-groups-v0/build.gradle
index 4553953ef..3894f5bfa 100644
--- a/fabric-item-groups-v0/build.gradle
+++ b/fabric-item-groups-v0/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-item-groups-v0"
-version = getSubprojectVersion(project, "0.1.9")
+version = getSubprojectVersion(project, "0.1.10")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/api/client/itemgroup/FabricItemGroupBuilder.java b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/api/client/itemgroup/FabricItemGroupBuilder.java
index ccb670ef3..dea868815 100644
--- a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/api/client/itemgroup/FabricItemGroupBuilder.java
+++ b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/api/client/itemgroup/FabricItemGroupBuilder.java
@@ -22,7 +22,7 @@ import java.util.function.Supplier;
 
 import net.minecraft.item.ItemGroup;
 import net.minecraft.item.ItemStack;
-import net.minecraft.util.DefaultedList;
+import net.minecraft.util.collection.DefaultedList;
 import net.minecraft.util.Identifier;
 
 import net.fabricmc.fabric.impl.item.group.ItemGroupExtensions;
diff --git a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/item/group/FabricCreativeGuiComponents.java b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/item/group/FabricCreativeGuiComponents.java
index 3f257ab73..12c077990 100644
--- a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/item/group/FabricCreativeGuiComponents.java
+++ b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/item/group/FabricCreativeGuiComponents.java
@@ -61,7 +61,7 @@ public class FabricCreativeGuiComponents {
 				minecraftClient.getTextureManager().bindTexture(BUTTON_TEX);
 				RenderSystem.disableLighting();
 				RenderSystem.color4f(1F, 1F, 1F, 1F);
-				this.blit(this.x, this.y, (type == Type.NEXT ? 12 : 0), (active ? 0 : 12), 12, 12);
+				this.drawTexture(this.x, this.y, (type == Type.NEXT ? 12 : 0), (active ? 0 : 12), 12, 12);
 
 				if (mouseX >= this.x && mouseY >= this.y && mouseX < this.x + this.width && mouseY < this.y + this.height) {
 					gui.renderTooltip(I18n.translate("fabric.gui.creativeTabPage", extensions.fabric_currentPage() + 1, ((ItemGroup.GROUPS.length - 12) / 9) + 2), mouseX, mouseY);
diff --git a/fabric-networking-v0/build.gradle b/fabric-networking-v0/build.gradle
index 502dcc2dd..580145025 100644
--- a/fabric-networking-v0/build.gradle
+++ b/fabric-networking-v0/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-networking-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-networking-v0/src/main/java/net/fabricmc/fabric/api/network/ClientSidePacketRegistry.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/ClientSidePacketRegistry.java
index 84b796cb9..d41ff56bd 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/ClientSidePacketRegistry.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/ClientSidePacketRegistry.java
@@ -21,7 +21,7 @@ import io.netty.util.concurrent.GenericFutureListener;
 
 import net.minecraft.network.Packet;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 import net.fabricmc.fabric.impl.networking.ClientSidePacketRegistryImpl;
 
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/PacketConsumer.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/PacketConsumer.java
index b6d42c55d..0c528d985 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/PacketConsumer.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/PacketConsumer.java
@@ -16,7 +16,7 @@
 
 package net.fabricmc.fabric.api.network;
 
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 /**
  * Interface for receiving CustomPayload-based packets.
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/PacketRegistry.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/PacketRegistry.java
index 335529461..8ac5bae9e 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/PacketRegistry.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/PacketRegistry.java
@@ -18,7 +18,7 @@ package net.fabricmc.fabric.api.network;
 
 import net.minecraft.network.Packet;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 public interface PacketRegistry {
 	/**
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/ServerSidePacketRegistry.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/ServerSidePacketRegistry.java
index 23c1bb601..37c49834c 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/ServerSidePacketRegistry.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/api/network/ServerSidePacketRegistry.java
@@ -22,7 +22,7 @@ import io.netty.util.concurrent.GenericFutureListener;
 import net.minecraft.entity.player.PlayerEntity;
 import net.minecraft.network.Packet;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 import net.fabricmc.fabric.api.server.PlayerStream;
 import net.fabricmc.fabric.impl.networking.ServerSidePacketRegistryImpl;
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/ClientSidePacketRegistryImpl.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/ClientSidePacketRegistryImpl.java
index d4840ea4e..ec9c52226 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/ClientSidePacketRegistryImpl.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/ClientSidePacketRegistryImpl.java
@@ -28,7 +28,7 @@ import net.minecraft.client.network.ClientPlayNetworkHandler;
 import net.minecraft.network.Packet;
 import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 import net.fabricmc.fabric.api.event.network.S2CPacketTypeCallback;
 import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/CustomPayloadC2SPacketAccessor.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/CustomPayloadC2SPacketAccessor.java
index 33013a6bc..320d6d98f 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/CustomPayloadC2SPacketAccessor.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/CustomPayloadC2SPacketAccessor.java
@@ -17,7 +17,7 @@
 package net.fabricmc.fabric.impl.networking;
 
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 /**
  * Helper interface containing getters for CustomPayloadC2SPacket
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/PacketRegistryImpl.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/PacketRegistryImpl.java
index ac54bfe24..d6dedeeb1 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/PacketRegistryImpl.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/PacketRegistryImpl.java
@@ -31,7 +31,7 @@ import org.apache.logging.log4j.Logger;
 import net.minecraft.network.Packet;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.InvalidIdentifierException;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 import net.fabricmc.fabric.api.network.PacketConsumer;
 import net.fabricmc.fabric.api.network.PacketContext;
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/ServerSidePacketRegistryImpl.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/ServerSidePacketRegistryImpl.java
index 6290d7aff..c9cb0cfc6 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/ServerSidePacketRegistryImpl.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/impl/networking/ServerSidePacketRegistryImpl.java
@@ -35,7 +35,7 @@ import net.minecraft.server.network.ServerPlayNetworkHandler;
 import net.minecraft.server.network.ServerPlayerEntity;
 import net.minecraft.network.packet.c2s.login.LoginQueryResponseC2SPacket;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 import net.fabricmc.fabric.api.event.network.C2SPacketTypeCallback;
 import net.fabricmc.fabric.api.network.PacketContext;
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/networking/MixinClientPlayNetworkHandler.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/networking/MixinClientPlayNetworkHandler.java
index 44b66e0d5..27f644c96 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/networking/MixinClientPlayNetworkHandler.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/networking/MixinClientPlayNetworkHandler.java
@@ -32,7 +32,7 @@ import net.minecraft.network.packet.s2c.play.GameJoinS2CPacket;
 import net.minecraft.entity.player.PlayerEntity;
 import net.minecraft.network.Packet;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 import net.minecraft.util.thread.ThreadExecutor;
 
 import net.fabricmc.api.EnvType;
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/networking/MixinCustomPayloadC2SPacket.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/networking/MixinCustomPayloadC2SPacket.java
index 15513eacc..cba721e0a 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/networking/MixinCustomPayloadC2SPacket.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/networking/MixinCustomPayloadC2SPacket.java
@@ -21,7 +21,7 @@ import org.spongepowered.asm.mixin.Shadow;
 
 import net.minecraft.network.packet.c2s.play.CustomPayloadC2SPacket;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 
 import net.fabricmc.fabric.impl.networking.CustomPayloadC2SPacketAccessor;
 
diff --git a/fabric-object-builders-v0/build.gradle b/fabric-object-builders-v0/build.gradle
index e208b125f..03b083882 100644
--- a/fabric-object-builders-v0/build.gradle
+++ b/fabric-object-builders-v0/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-object-builders"
-version = getSubprojectVersion(project, "0.1.4")
+version = getSubprojectVersion(project, "0.2.0")
 
 dependencies {
     compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-object-builders-v0/src/main/java/net/fabricmc/fabric/api/block/BlockSettingsExtensions.java b/fabric-object-builders-v0/src/main/java/net/fabricmc/fabric/api/block/BlockSettingsExtensions.java
index 94c1b3462..b7eecc84c 100644
--- a/fabric-object-builders-v0/src/main/java/net/fabricmc/fabric/api/block/BlockSettingsExtensions.java
+++ b/fabric-object-builders-v0/src/main/java/net/fabricmc/fabric/api/block/BlockSettingsExtensions.java
@@ -16,7 +16,7 @@
 
 package net.fabricmc.fabric.api.block;
 
-import net.minecraft.block.Block.Settings;
+import net.minecraft.block.AbstractBlock.Settings;
 import net.minecraft.block.MaterialColor;
 import net.minecraft.item.Item;
 import net.minecraft.sound.BlockSoundGroup;
@@ -50,7 +50,7 @@ public final class BlockSettingsExtensions {
 	}
 
 	public static void materialColor(Settings settings, MaterialColor materialColor) {
-		((BlockSettingsHooks) settings).setMaterialColor(materialColor);
+		((BlockSettingsHooks) settings).setMaterialColor(blockState -> materialColor);
 	}
 
 	public static void drops(Settings settings, Identifier dropTableId) {
@@ -62,7 +62,7 @@ public final class BlockSettingsExtensions {
 	}
 
 	public static void lightLevel(Settings settings, int lightLevel) {
-		((BlockSettingsHooks) settings).invokeLightLevel(lightLevel);
+		((BlockSettingsHooks) settings).invokeLightLevel(value -> lightLevel);
 	}
 
 	public static void breakInstantly(Settings settings) {
diff --git a/fabric-object-builders-v0/src/main/java/net/fabricmc/fabric/mixin/object/builder/BlockSettingsHooks.java b/fabric-object-builders-v0/src/main/java/net/fabricmc/fabric/mixin/object/builder/BlockSettingsHooks.java
index 4c6bfee7d..eea37b901 100644
--- a/fabric-object-builders-v0/src/main/java/net/fabricmc/fabric/mixin/object/builder/BlockSettingsHooks.java
+++ b/fabric-object-builders-v0/src/main/java/net/fabricmc/fabric/mixin/object/builder/BlockSettingsHooks.java
@@ -16,16 +16,21 @@
 
 package net.fabricmc.fabric.mixin.object.builder;
 
+import java.util.function.Function;
+import java.util.function.ToIntFunction;
+
 import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.gen.Accessor;
 import org.spongepowered.asm.mixin.gen.Invoker;
 
+import net.minecraft.block.AbstractBlock;
 import net.minecraft.block.Block;
+import net.minecraft.block.BlockState;
 import net.minecraft.block.MaterialColor;
 import net.minecraft.sound.BlockSoundGroup;
 import net.minecraft.util.Identifier;
 
-@Mixin(Block.Settings.class)
+@Mixin(AbstractBlock.Settings.class)
 public interface BlockSettingsHooks {
 	@Accessor
 	void setHardness(float hardness);
@@ -37,7 +42,7 @@ public interface BlockSettingsHooks {
 	void setCollidable(boolean collidable);
 
 	@Accessor
-	void setMaterialColor(MaterialColor materialColor);
+	void setMaterialColor(Function<BlockState, MaterialColor> materialColorFunction);
 
 	@Accessor
 	void setDropTableId(Identifier dropTableId);
@@ -46,7 +51,7 @@ public interface BlockSettingsHooks {
 	Block.Settings invokeSounds(BlockSoundGroup group);
 
 	@Invoker
-	Block.Settings invokeLightLevel(int lightLevel);
+	Block.Settings invokeLightLevel(ToIntFunction<BlockState> lightLevelFunction);
 
 	@Invoker
 	Block.Settings invokeBreakInstantly();
diff --git a/fabric-registry-sync-v0/build.gradle b/fabric-registry-sync-v0/build.gradle
index 50e86307f..042f64b7e 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.2.7")
+version = getSubprojectVersion(project, "0.2.8")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/RegistrySyncManager.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/RegistrySyncManager.java
index 51118eef8..5f994a474 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/RegistrySyncManager.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/RegistrySyncManager.java
@@ -40,7 +40,7 @@ import org.apache.logging.log4j.Logger;
 import net.minecraft.nbt.CompoundTag;
 import net.minecraft.network.Packet;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
+import net.minecraft.network.PacketByteBuf;
 import net.minecraft.util.registry.MutableRegistry;
 import net.minecraft.util.registry.Registry;
 
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/IdListTracker.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/IdListTracker.java
index 0929448bf..ee9ccb719 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/IdListTracker.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/IdListTracker.java
@@ -19,7 +19,7 @@ package net.fabricmc.fabric.impl.registry.sync.trackers;
 import java.util.HashMap;
 import java.util.Map;
 
-import net.minecraft.util.IdList;
+import net.minecraft.util.collection.IdList;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.registry.Registry;
 
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/StateIdTracker.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/StateIdTracker.java
index 67fb56b72..95d1b32e9 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/StateIdTracker.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/StateIdTracker.java
@@ -24,7 +24,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
-import net.minecraft.util.IdList;
+import net.minecraft.util.collection.IdList;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.registry.Registry;
 
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/vanilla/BlockInitTracker.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/vanilla/BlockInitTracker.java
index 512b48ba6..af551c334 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/vanilla/BlockInitTracker.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/impl/registry/sync/trackers/vanilla/BlockInitTracker.java
@@ -42,6 +42,6 @@ public final class BlockInitTracker implements RegistryEntryAddedCallback<Block>
 		// if false, getDropTableId() will generate an invalid drop table ID
 		assert id.equals(registry.getId(object));
 
-		object.getDropTableId();
+		object.method_26162();
 	}
 }
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinIdList.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinIdList.java
index 06fd19bb9..8d991b0a7 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinIdList.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinIdList.java
@@ -26,7 +26,7 @@ import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.Shadow;
 import org.spongepowered.asm.mixin.Unique;
 
-import net.minecraft.util.IdList;
+import net.minecraft.util.collection.IdList;
 
 import net.fabricmc.fabric.impl.registry.sync.RemovableIdList;
 
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinIdRegistry.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinIdRegistry.java
index 150115a77..9979a530e 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinIdRegistry.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/MixinIdRegistry.java
@@ -40,7 +40,7 @@ import org.spongepowered.asm.mixin.injection.Inject;
 import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
 
 import net.minecraft.util.Identifier;
-import net.minecraft.util.Int2ObjectBiMap;
+import net.minecraft.util.collection.Int2ObjectBiMap;
 import net.minecraft.util.registry.SimpleRegistry;
 
 import net.fabricmc.fabric.api.event.Event;
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/client/MixinBlockColorMap.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/client/MixinBlockColorMap.java
index 0d68c5773..51379f78d 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/client/MixinBlockColorMap.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/client/MixinBlockColorMap.java
@@ -24,7 +24,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
 
 import net.minecraft.client.color.block.BlockColorProvider;
 import net.minecraft.client.color.block.BlockColors;
-import net.minecraft.util.IdList;
+import net.minecraft.util.collection.IdList;
 import net.minecraft.util.registry.Registry;
 
 import net.fabricmc.fabric.impl.registry.sync.trackers.IdListTracker;
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/client/MixinItemColorMap.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/client/MixinItemColorMap.java
index 681aa2e18..6a51c77b8 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/client/MixinItemColorMap.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/sync/client/MixinItemColorMap.java
@@ -24,7 +24,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
 
 import net.minecraft.client.color.item.ItemColorProvider;
 import net.minecraft.client.color.item.ItemColors;
-import net.minecraft.util.IdList;
+import net.minecraft.util.collection.IdList;
 import net.minecraft.util.registry.Registry;
 
 import net.fabricmc.fabric.impl.registry.sync.trackers.IdListTracker;
diff --git a/fabric-renderer-indigo/build.gradle b/fabric-renderer-indigo/build.gradle
index 489d17873..1a6c1ba6a 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.2.25")
+version = getSubprojectVersion(project, "0.2.26")
 
 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/aocalc/AoCalculator.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/aocalc/AoCalculator.java
index e72d263fb..42aa8f59b 100644
--- a/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/aocalc/AoCalculator.java
+++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/aocalc/AoCalculator.java
@@ -382,32 +382,32 @@ public class AoCalculator {
 			lightPos.set(isOnBlockFace ? pos.offset(lightFace) : pos);
 			AoFace aoFace = AoFace.get(lightFace);
 
-			searchPos.set(lightPos).setOffset(aoFace.neighbors[0]);
+			searchPos.set(lightPos).move(aoFace.neighbors[0]);
 			final int light0 = brightnessFunc.applyAsInt(searchPos);
 			final float ao0 = aoFunc.apply(searchPos);
-			searchPos.set(lightPos).setOffset(aoFace.neighbors[1]);
+			searchPos.set(lightPos).move(aoFace.neighbors[1]);
 			final int light1 = brightnessFunc.applyAsInt(searchPos);
 			final float ao1 = aoFunc.apply(searchPos);
-			searchPos.set(lightPos).setOffset(aoFace.neighbors[2]);
+			searchPos.set(lightPos).move(aoFace.neighbors[2]);
 			final int light2 = brightnessFunc.applyAsInt(searchPos);
 			final float ao2 = aoFunc.apply(searchPos);
-			searchPos.set(lightPos).setOffset(aoFace.neighbors[3]);
+			searchPos.set(lightPos).move(aoFace.neighbors[3]);
 			final int light3 = brightnessFunc.applyAsInt(searchPos);
 			final float ao3 = aoFunc.apply(searchPos);
 
 			// vanilla was further offsetting these in the direction of the light face
 			// but it was actually mis-sampling and causing visible artifacts in certain situation
-			searchPos.set(lightPos).setOffset(aoFace.neighbors[0]); //.setOffset(lightFace);
-			if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace);
+			searchPos.set(lightPos).move(aoFace.neighbors[0]); //.setOffset(lightFace);
+			if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.move(lightFace);
 			final boolean isClear0 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0;
-			searchPos.set(lightPos).setOffset(aoFace.neighbors[1]); //.setOffset(lightFace);
-			if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace);
+			searchPos.set(lightPos).move(aoFace.neighbors[1]); //.setOffset(lightFace);
+			if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.move(lightFace);
 			final boolean isClear1 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0;
-			searchPos.set(lightPos).setOffset(aoFace.neighbors[2]); //.setOffset(lightFace);
-			if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace);
+			searchPos.set(lightPos).move(aoFace.neighbors[2]); //.setOffset(lightFace);
+			if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.move(lightFace);
 			final boolean isClear2 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0;
-			searchPos.set(lightPos).setOffset(aoFace.neighbors[3]); //.setOffset(lightFace);
-			if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.setOffset(lightFace);
+			searchPos.set(lightPos).move(aoFace.neighbors[3]); //.setOffset(lightFace);
+			if (!Indigo.FIX_SMOOTH_LIGHTING_OFFSET) searchPos.move(lightFace);
 			final boolean isClear3 = world.getBlockState(searchPos).getOpacity(world, searchPos) == 0;
 
 			// c = corner - values at corners of face
@@ -421,7 +421,7 @@ public class AoCalculator {
 				cAo0 = ao0;
 				cLight0 = light0;
 			} else {
-				searchPos.set(lightPos).setOffset(aoFace.neighbors[0]).setOffset(aoFace.neighbors[2]);
+				searchPos.set(lightPos).move(aoFace.neighbors[0]).move(aoFace.neighbors[2]);
 				cAo0 = aoFunc.apply(searchPos);
 				cLight0 = brightnessFunc.applyAsInt(searchPos);
 			}
@@ -430,7 +430,7 @@ public class AoCalculator {
 				cAo1 = ao0;
 				cLight1 = light0;
 			} else {
-				searchPos.set(lightPos).setOffset(aoFace.neighbors[0]).setOffset(aoFace.neighbors[3]);
+				searchPos.set(lightPos).move(aoFace.neighbors[0]).move(aoFace.neighbors[3]);
 				cAo1 = aoFunc.apply(searchPos);
 				cLight1 = brightnessFunc.applyAsInt(searchPos);
 			}
@@ -439,7 +439,7 @@ public class AoCalculator {
 				cAo2 = ao1;
 				cLight2 = light1;
 			} else {
-				searchPos.set(lightPos).setOffset(aoFace.neighbors[1]).setOffset(aoFace.neighbors[2]);
+				searchPos.set(lightPos).move(aoFace.neighbors[1]).move(aoFace.neighbors[2]);
 				cAo2 = aoFunc.apply(searchPos);
 				cLight2 = brightnessFunc.applyAsInt(searchPos);
 			}
@@ -448,7 +448,7 @@ public class AoCalculator {
 				cAo3 = ao1;
 				cLight3 = light1;
 			} else {
-				searchPos.set(lightPos).setOffset(aoFace.neighbors[1]).setOffset(aoFace.neighbors[3]);
+				searchPos.set(lightPos).move(aoFace.neighbors[1]).move(aoFace.neighbors[3]);
 				cAo3 = aoFunc.apply(searchPos);
 				cLight3 = brightnessFunc.applyAsInt(searchPos);
 			}
@@ -456,9 +456,9 @@ public class AoCalculator {
 			// If on block face or neighbor isn't occluding, "center" will be neighbor brightness
 			// Doesn't use light pos because logic not based solely on this block's geometry
 			int lightCenter;
-			searchPos.set(pos).setOffset(lightFace);
+			searchPos.set(pos).move(lightFace);
 
-			if (isOnBlockFace || !world.getBlockState(searchPos).isFullOpaque(world, searchPos)) {
+			if (isOnBlockFace || !world.getBlockState(searchPos).method_26216(world, searchPos)) {
 				lightCenter = brightnessFunc.applyAsInt(searchPos);
 			} else {
 				lightCenter = brightnessFunc.applyAsInt(pos);
diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractQuadRenderer.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractQuadRenderer.java
index 1ed5a1242..f6339ccf9 100644
--- a/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractQuadRenderer.java
+++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/impl/client/indigo/renderer/render/AbstractQuadRenderer.java
@@ -169,7 +169,7 @@ public abstract class AbstractQuadRenderer {
 		mpos.set(pos);
 
 		if ((quad.geometryFlags() & LIGHT_FACE_FLAG) != 0 || Block.isShapeFullCube(blockState.getCollisionShape(blockInfo.blockView, pos))) {
-			mpos.setOffset(quad.lightFace());
+			mpos.move(quad.lightFace());
 		}
 
 		// Unfortunately cannot use brightness cache here unless we implement one specifically for flat lighting. See #329
diff --git a/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/mixin/client/indigo/renderer/MixinChunkRebuildTask.java b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/mixin/client/indigo/renderer/MixinChunkRebuildTask.java
index c9b676b70..281eb51ac 100644
--- a/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/mixin/client/indigo/renderer/MixinChunkRebuildTask.java
+++ b/fabric-renderer-indigo/src/main/java/net/fabricmc/fabric/mixin/client/indigo/renderer/MixinChunkRebuildTask.java
@@ -104,7 +104,7 @@ public class MixinChunkRebuildTask {
 			final BakedModel model = renderManager.getModel(blockState);
 
 			if (Indigo.ALWAYS_TESSELATE_INDIGO || !((FabricBakedModel) model).isVanillaAdapter()) {
-				Vec3d vec3d = blockState.getOffsetPos(blockView, blockPos);
+				Vec3d vec3d = blockState.method_26226(blockView, blockPos);
 				matrix.translate(vec3d.x, vec3d.y, vec3d.z);
 				return ((AccessChunkRendererRegion) blockView).fabric_getRenderer().tesselateBlock(blockState, blockPos, model, matrix);
 			}
diff --git a/fabric-rendering-v1/build.gradle b/fabric-rendering-v1/build.gradle
index 40d9ca72c..4dfa5f70a 100644
--- a/fabric-rendering-v1/build.gradle
+++ b/fabric-rendering-v1/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-rendering-v1"
-version = getSubprojectVersion(project, "0.1.0")
+version = getSubprojectVersion(project, "0.1.1")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering/MixinBlockColorMap.java b/fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering/MixinBlockColorMap.java
index d72f802b1..d2d6ba036 100644
--- a/fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering/MixinBlockColorMap.java
+++ b/fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering/MixinBlockColorMap.java
@@ -26,7 +26,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
 import net.minecraft.block.Block;
 import net.minecraft.client.color.block.BlockColorProvider;
 import net.minecraft.client.color.block.BlockColors;
-import net.minecraft.util.IdList;
+import net.minecraft.util.collection.IdList;
 import net.minecraft.util.registry.Registry;
 
 import net.fabricmc.fabric.impl.client.rendering.ColorProviderRegistryImpl;
diff --git a/fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering/MixinItemColorMap.java b/fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering/MixinItemColorMap.java
index ae53d4ed2..bada6e8c7 100644
--- a/fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering/MixinItemColorMap.java
+++ b/fabric-rendering-v1/src/main/java/net/fabricmc/fabric/mixin/client/rendering/MixinItemColorMap.java
@@ -27,7 +27,7 @@ import net.minecraft.client.color.block.BlockColors;
 import net.minecraft.client.color.item.ItemColorProvider;
 import net.minecraft.client.color.item.ItemColors;
 import net.minecraft.item.ItemConvertible;
-import net.minecraft.util.IdList;
+import net.minecraft.util.collection.IdList;
 import net.minecraft.util.registry.Registry;
 
 import net.fabricmc.fabric.impl.client.rendering.ColorProviderRegistryImpl;