diff --git a/build.gradle b/build.gradle
index de8dfc54a..9bec2411d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,7 +12,7 @@ plugins {
 def ENV = System.getenv()
 
 def baseVersion = "0.3.0-pre"
-def mcVersion = "1.14.1 Pre-Release 2"
+def mcVersion = "1.14.2 Pre-Release 2"
 def yarnVersion = "+build.2"
 
 def getSubprojectVersion(project, version) {
@@ -140,7 +140,7 @@ publishing {
 					def depNode = depsNode.appendNode("dependency")
 					depNode.appendNode("groupId", it.group)
 					depNode.appendNode("artifactId", it.name)
-				depNode.appendNode("version", it.version)
+					depNode.appendNode("version", it.version)
 					depNode.appendNode("scope", "compile")
 				}
 			}
@@ -173,7 +173,7 @@ dependencies {
 	}
 
 	// workaround linux segfault	
-	compile "org.lwjgl:lwjgl-jemalloc:3.2.1"
+	// compile "org.lwjgl:lwjgl-jemalloc:3.2.1"
 }
 
 version = baseVersion + "+" + (ENV.BUILD_NUMBER ? ("build." + ENV.BUILD_NUMBER) : "local")
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 1c89d810f..3f5daab78 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,12 +16,12 @@
 
 package net.fabricmc.fabric.api.client.screen;
 
-import net.minecraft.client.gui.ContainerScreen;
+import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
 import net.minecraft.container.Container;
 
 @FunctionalInterface
 public interface ContainerScreenFactory<C extends Container> {
 
-	ContainerScreen create(C container);
+	AbstractContainerScreen 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 624f92d2c..e2bd83eb8 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
@@ -19,7 +19,7 @@ package net.fabricmc.fabric.api.client.screen;
 import net.fabricmc.fabric.api.container.ContainerFactory;
 import net.fabricmc.fabric.api.container.ContainerProviderRegistry;
 import net.fabricmc.fabric.impl.client.gui.ScreenProviderRegistryImpl;
-import net.minecraft.client.gui.ContainerScreen;
+import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
 import net.minecraft.container.Container;
 import net.minecraft.util.Identifier;
 
@@ -40,8 +40,8 @@ public interface ScreenProviderRegistry {
 	 * to override the default behaviour of re-using the existing "packet -> 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 ContainerScreen}
+	 * @param factory    the gui factory, this should return a new {@link AbstractContainerScreen}
 	 */
-	void registerFactory(Identifier identifier, ContainerFactory<ContainerScreen> factory);
+	void registerFactory(Identifier identifier, ContainerFactory<AbstractContainerScreen> factory);
 
 }
diff --git a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/client/gui/ScreenProviderRegistryImpl.java b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/client/gui/ScreenProviderRegistryImpl.java
index 2f83ba7ac..6a1edee2a 100644
--- a/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/client/gui/ScreenProviderRegistryImpl.java
+++ b/fabric-containers-v0/src/main/java/net/fabricmc/fabric/impl/client/gui/ScreenProviderRegistryImpl.java
@@ -23,7 +23,7 @@ import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
 import net.fabricmc.fabric.impl.container.ContainerProviderImpl;
 import net.fabricmc.fabric.impl.network.PacketTypes;
 import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.ContainerScreen;
+import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen;
 import net.minecraft.container.Container;
 import net.minecraft.util.Identifier;
 import org.apache.logging.log4j.LogManager;
@@ -41,9 +41,9 @@ public class ScreenProviderRegistryImpl implements ScreenProviderRegistry {
 
 	private static final Logger LOGGER = LogManager.getLogger();
 
-	private static final Map<Identifier, ContainerFactory<ContainerScreen>> FACTORIES = new HashMap<>();
+	private static final Map<Identifier, ContainerFactory<AbstractContainerScreen>> FACTORIES = new HashMap<>();
 
-	public void registerFactory(Identifier identifier, ContainerFactory<ContainerScreen> factory) {
+	public void registerFactory(Identifier identifier, ContainerFactory<AbstractContainerScreen> factory) {
 		if (FACTORIES.containsKey(identifier)) {
 			throw new RuntimeException("A factory has already been registered as " + identifier + "!");
 		}
@@ -67,12 +67,12 @@ public class ScreenProviderRegistryImpl implements ScreenProviderRegistry {
 			Identifier identifier = packetByteBuf.readIdentifier();
 			int syncId = packetByteBuf.readUnsignedByte();
 			MinecraftClient.getInstance().execute(() -> {
-				ContainerFactory<ContainerScreen> factory = FACTORIES.get(identifier);
+				ContainerFactory<AbstractContainerScreen> factory = FACTORIES.get(identifier);
 				if (factory == null) {
 					LOGGER.error("No GUI factory found for {}!", identifier.toString());
 					return;
 				}
-				ContainerScreen gui = factory.create(syncId, identifier, packetContext.getPlayer(), packetByteBuf);
+				AbstractContainerScreen gui = factory.create(syncId, identifier, packetContext.getPlayer(), packetByteBuf);
 				packetContext.getPlayer().container = gui.getContainer();
 				MinecraftClient.getInstance().openScreen(gui);
 			});
diff --git a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/eventsinteraction/MixinMinecraftClient.java b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/eventsinteraction/MixinMinecraftClient.java
index c6f230097..130cb2b85 100644
--- a/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/eventsinteraction/MixinMinecraftClient.java
+++ b/fabric-events-interaction-v0/src/main/java/net/fabricmc/fabric/mixin/eventsinteraction/MixinMinecraftClient.java
@@ -21,7 +21,7 @@ import net.fabricmc.fabric.api.event.client.player.ClientPickBlockCallback;
 import net.fabricmc.fabric.api.event.client.player.ClientPickBlockGatherCallback;
 import net.minecraft.block.entity.BlockEntity;
 import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
 import net.minecraft.entity.player.PlayerInventory;
 import net.minecraft.item.ItemStack;
 import net.minecraft.util.Hand;
diff --git a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/itemgroup/FabricCreativeGuiComponents.java b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/itemgroup/FabricCreativeGuiComponents.java
index 825bc4605..179af8f6d 100644
--- a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/itemgroup/FabricCreativeGuiComponents.java
+++ b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/impl/itemgroup/FabricCreativeGuiComponents.java
@@ -18,7 +18,8 @@ package net.fabricmc.fabric.impl.itemgroup;
 
 import com.mojang.blaze3d.platform.GlStateManager;
 import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen;
+
+import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
 import net.minecraft.client.gui.widget.ButtonWidget;
 import net.minecraft.client.resource.language.I18n;
 import net.minecraft.item.ItemGroup;
@@ -42,14 +43,14 @@ public class FabricCreativeGuiComponents {
 	public static class ItemGroupButtonWidget extends ButtonWidget {
 
 		CreativeGuiExtensions extensions;
-		CreativePlayerInventoryScreen gui;
+		CreativeInventoryScreen gui;
 		Type type;
 
 		public ItemGroupButtonWidget(int x, int y, Type type, CreativeGuiExtensions extensions) {
 			super(x, y, 10, 11, type.text, (bw) -> type.clickConsumer.accept(extensions));
 			this.extensions = extensions;
 			this.type = type;
-			this.gui = (CreativePlayerInventoryScreen) extensions;
+			this.gui = (CreativeInventoryScreen) extensions;
 		}
 
 		@Override
diff --git a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/mixin/itemgroup/client/MixinCreativePlayerInventoryGui.java b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/mixin/itemgroup/client/MixinCreativePlayerInventoryGui.java
index eb6f1a919..3b5d3599c 100644
--- a/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/mixin/itemgroup/client/MixinCreativePlayerInventoryGui.java
+++ b/fabric-item-groups-v0/src/main/java/net/fabricmc/fabric/mixin/itemgroup/client/MixinCreativePlayerInventoryGui.java
@@ -18,8 +18,8 @@ package net.fabricmc.fabric.mixin.itemgroup.client;
 
 import net.fabricmc.fabric.impl.itemgroup.CreativeGuiExtensions;
 import net.fabricmc.fabric.impl.itemgroup.FabricCreativeGuiComponents;
-import net.minecraft.client.gui.ingame.AbstractPlayerInventoryScreen;
-import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen;
+import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen;
+import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
 import net.minecraft.container.Container;
 import net.minecraft.entity.player.PlayerInventory;
 import net.minecraft.item.ItemGroup;
@@ -31,8 +31,8 @@ import org.spongepowered.asm.mixin.injection.Inject;
 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
 import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
 
-@Mixin(CreativePlayerInventoryScreen.class)
-public abstract class MixinCreativePlayerInventoryGui extends AbstractPlayerInventoryScreen implements CreativeGuiExtensions {
+@Mixin(CreativeInventoryScreen.class)
+public abstract class MixinCreativePlayerInventoryGui extends AbstractInventoryScreen implements CreativeGuiExtensions {
 
 	public MixinCreativePlayerInventoryGui(Container container_1, PlayerInventory playerInventory_1, Component textComponent_1) {
 		super(container_1, playerInventory_1, textComponent_1);
diff --git a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/network/MixinMinecraftClient.java b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/network/MixinMinecraftClient.java
index 38bd06870..3abbc8ea4 100644
--- a/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/network/MixinMinecraftClient.java
+++ b/fabric-networking-v0/src/main/java/net/fabricmc/fabric/mixin/network/MixinMinecraftClient.java
@@ -18,7 +18,7 @@ package net.fabricmc.fabric.mixin.network;
 
 import net.fabricmc.fabric.impl.network.ClientSidePacketRegistryImpl;
 import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
 import org.apache.logging.log4j.Logger;
 import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.Shadow;
@@ -28,7 +28,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
 
 @Mixin(MinecraftClient.class)
 public class MixinMinecraftClient {
-	@Inject(at = @At("RETURN"), method = "disconnect(Lnet/minecraft/client/gui/Screen;)V")
+	@Inject(at = @At("RETURN"), method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V")
 	public void disconnectAfter(Screen screen_1, CallbackInfo info) {
 		ClientSidePacketRegistryImpl.invalidateRegisteredIdList();
 	}
diff --git a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/client/MixinMinecraftClient.java b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/client/MixinMinecraftClient.java
index e6dfb17db..30b7af50f 100644
--- a/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/client/MixinMinecraftClient.java
+++ b/fabric-registry-sync-v0/src/main/java/net/fabricmc/fabric/mixin/registry/client/MixinMinecraftClient.java
@@ -20,7 +20,7 @@ import net.fabricmc.fabric.impl.network.ClientSidePacketRegistryImpl;
 import net.fabricmc.fabric.impl.registry.RegistrySyncManager;
 import net.fabricmc.fabric.impl.registry.RemapException;
 import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.Screen;
+import net.minecraft.client.gui.screen.Screen;
 import org.apache.logging.log4j.Logger;
 import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.Shadow;
@@ -34,7 +34,7 @@ public class MixinMinecraftClient {
 	private static Logger LOGGER;
 
 	// Unmap the registry before loading a new SP/MP setup.
-	@Inject(at = @At("RETURN"), method = "disconnect(Lnet/minecraft/client/gui/Screen;)V")
+	@Inject(at = @At("RETURN"), method = "disconnect(Lnet/minecraft/client/gui/screen/Screen;)V")
 	public void disconnectAfter(Screen screen_1, CallbackInfo info) {
 		ClientSidePacketRegistryImpl.invalidateRegisteredIdList();
 
@@ -44,4 +44,4 @@ public class MixinMinecraftClient {
 			LOGGER.warn("Failed to unmap Fabric registries!", e);
 		}
 	}
-}
\ No newline at end of file
+}