From 2a22249e3394e47b11b338f2fc6b03475ad7a54f Mon Sep 17 00:00:00 2001 From: Unknown Date: Sat, 18 May 2019 00:11:34 +0800 Subject: Build 111, updated to 1.14.1, discontinuing 1.14 support --- .../me/shedaniel/rei/REIModMenuEntryPoint.java | 3 +- .../me/shedaniel/rei/RoughlyEnoughItemsCore.java | 30 ++++++------- .../me/shedaniel/rei/api/BaseBoundsHandler.java | 2 +- .../java/me/shedaniel/rei/api/ConfigManager.java | 2 +- src/main/java/me/shedaniel/rei/api/REIPlugin.java | 2 +- .../me/shedaniel/rei/api/SpeedCraftFunctional.java | 2 +- .../rei/client/BaseBoundsHandlerImpl.java | 2 +- .../me/shedaniel/rei/client/ClientHelperImpl.java | 4 +- .../me/shedaniel/rei/client/ConfigManagerImpl.java | 2 +- .../java/me/shedaniel/rei/client/ScreenHelper.java | 12 +++--- .../shedaniel/rei/gui/ContainerScreenOverlay.java | 12 ++++-- .../shedaniel/rei/gui/PreRecipeViewingScreen.java | 2 +- .../me/shedaniel/rei/gui/RecipeViewingScreen.java | 43 ++++++++++++++----- .../rei/gui/VillagerRecipeViewingScreen.java | 4 +- .../rei/gui/credits/CreditsEntryListWidget.java | 2 +- .../shedaniel/rei/gui/credits/CreditsScreen.java | 8 ++-- .../shedaniel/rei/gui/widget/TextFieldWidget.java | 2 +- .../rei/listeners/ContainerScreenHooks.java | 4 +- .../CreativePlayerInventoryScreenHooks.java | 4 +- .../rei/listeners/RecipeBookGuiHooks.java | 10 ++--- .../rei/plugin/DefaultBlastingDisplay.java | 2 +- .../rei/plugin/DefaultCampfireDisplay.java | 2 +- .../me/shedaniel/rei/plugin/DefaultPlugin.java | 49 ++++++++-------------- .../shedaniel/rei/plugin/DefaultShapedDisplay.java | 2 +- .../rei/plugin/DefaultShapelessDisplay.java | 2 +- .../rei/plugin/DefaultSmeltingDisplay.java | 2 +- .../rei/plugin/DefaultSmokingDisplay.java | 2 +- .../shedaniel/rei/utils/ClothScreenRegistry.java | 2 +- 28 files changed, 114 insertions(+), 101 deletions(-) (limited to 'src/main/java/me') diff --git a/src/main/java/me/shedaniel/rei/REIModMenuEntryPoint.java b/src/main/java/me/shedaniel/rei/REIModMenuEntryPoint.java index 3d329531c..6f69001a9 100644 --- a/src/main/java/me/shedaniel/rei/REIModMenuEntryPoint.java +++ b/src/main/java/me/shedaniel/rei/REIModMenuEntryPoint.java @@ -6,7 +6,7 @@ package me.shedaniel.rei; import io.github.prospector.modmenu.api.ModMenuApi; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; import java.util.Optional; import java.util.function.Supplier; @@ -18,6 +18,7 @@ public class REIModMenuEntryPoint implements ModMenuApi { return "roughlyenoughitems"; } + @SuppressWarnings("deprecation") @Override public Optional> getConfigScreen(Screen screen) { return Optional.of(() -> getScreen(screen)); diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index eb3bec81f..6982e3503 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -21,11 +21,11 @@ import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ModMetadata; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.ContainerScreen; import net.minecraft.client.gui.Element; -import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen; -import net.minecraft.client.gui.ingame.PlayerInventoryScreen; -import net.minecraft.client.gui.recipebook.RecipeBookGui; +import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen; +import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen; +import net.minecraft.client.gui.screen.ingame.InventoryScreen; +import net.minecraft.client.gui.screen.recipebook.RecipeBookScreen; import net.minecraft.client.gui.widget.RecipeBookButtonWidget; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.util.ActionResult; @@ -190,15 +190,15 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { ((RecipeHelperImpl) RoughlyEnoughItemsCore.getRecipeHelper()).recipesLoaded(recipeManager); }); ClothClientHooks.SCREEN_ADD_BUTTON.register((minecraftClient, screen, abstractButtonWidget) -> { - if (RoughlyEnoughItemsCore.getConfigManager().getConfig().disableRecipeBook && screen instanceof ContainerScreen && abstractButtonWidget instanceof RecipeBookButtonWidget) + if (RoughlyEnoughItemsCore.getConfigManager().getConfig().disableRecipeBook && screen instanceof AbstractContainerScreen && abstractButtonWidget instanceof RecipeBookButtonWidget) return ActionResult.FAIL; return ActionResult.PASS; }); ClothClientHooks.SCREEN_INIT_POST.register((minecraftClient, screen, screenHooks) -> { - if (screen instanceof ContainerScreen) { - if (screen instanceof PlayerInventoryScreen && minecraftClient.interactionManager.hasCreativeInventory()) + if (screen instanceof AbstractContainerScreen) { + if (screen instanceof InventoryScreen && minecraftClient.interactionManager.hasCreativeInventory()) return; - ScreenHelper.setLastContainerScreen((ContainerScreen) screen); + ScreenHelper.setLastContainerScreen((AbstractContainerScreen) screen); boolean alreadyAdded = false; for(Element element : Lists.newArrayList(screenHooks.cloth_getInputListeners())) if (ContainerScreenOverlay.class.isAssignableFrom(element.getClass())) @@ -211,11 +211,11 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } }); ClothClientHooks.SCREEN_RENDER_POST.register((minecraftClient, screen, i, i1, v) -> { - if (screen instanceof ContainerScreen) + if (screen instanceof AbstractContainerScreen) ScreenHelper.getLastOverlay().render(i, i1, v); }); ClothClientHooks.SCREEN_MOUSE_CLICKED.register((minecraftClient, screen, v, v1, i) -> { - if (screen instanceof CreativePlayerInventoryScreen) + if (screen instanceof CreativeInventoryScreen) if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().mouseClicked(v, v1, i)) { screen.setFocused(ScreenHelper.getLastOverlay()); if (i == 0) @@ -225,13 +225,13 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { return ActionResult.PASS; }); ClothClientHooks.SCREEN_MOUSE_SCROLLED.register((minecraftClient, screen, v, v1, v2) -> { - if (screen instanceof ContainerScreen) + if (screen instanceof AbstractContainerScreen) if (ScreenHelper.isOverlayVisible() && ScreenHelper.getLastOverlay().isInside(ClientUtils.getMouseLocation()) && ScreenHelper.getLastOverlay().mouseScrolled(v, v1, v2)) return ActionResult.SUCCESS; return ActionResult.PASS; }); ClothClientHooks.SCREEN_CHAR_TYPED.register((minecraftClient, screen, character, keyCode) -> { - if (screen instanceof ContainerScreen) + if (screen instanceof AbstractContainerScreen) if (ScreenHelper.getLastOverlay().charTyped(character, keyCode)) return ActionResult.SUCCESS; return ActionResult.PASS; @@ -239,13 +239,13 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { ClothClientHooks.SCREEN_LATE_RENDER.register((minecraftClient, screen, i, i1, v) -> { if (!ScreenHelper.isOverlayVisible()) return; - if (screen instanceof ContainerScreen) + if (screen instanceof AbstractContainerScreen) ScreenHelper.getLastOverlay().lateRender(i, i1, v); }); ClothClientHooks.SCREEN_KEY_PRESSED.register((minecraftClient, screen, i, i1, i2) -> { - if (screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget || (screen.getFocused() instanceof RecipeBookGui && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField() != null && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField().isFocused())) + if (screen.getFocused() != null && screen.getFocused() instanceof TextFieldWidget || (screen.getFocused() instanceof RecipeBookScreen && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField() != null && ((RecipeBookGuiHooks) screen.getFocused()).rei_getSearchField().isFocused())) return ActionResult.PASS; - if (screen instanceof ContainerScreen) + if (screen instanceof AbstractContainerScreen) if (ScreenHelper.getLastOverlay().keyPressed(i, i1, i2)) return ActionResult.SUCCESS; return ActionResult.PASS; diff --git a/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java b/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java index 3aaf1f482..3dea674fe 100644 --- a/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java +++ b/src/main/java/me/shedaniel/rei/api/BaseBoundsHandler.java @@ -5,7 +5,7 @@ package me.shedaniel.rei.api; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; import java.awt.*; import java.util.List; diff --git a/src/main/java/me/shedaniel/rei/api/ConfigManager.java b/src/main/java/me/shedaniel/rei/api/ConfigManager.java index 4b138b639..5f915dfff 100644 --- a/src/main/java/me/shedaniel/rei/api/ConfigManager.java +++ b/src/main/java/me/shedaniel/rei/api/ConfigManager.java @@ -6,7 +6,7 @@ package me.shedaniel.rei.api; import me.shedaniel.rei.client.ConfigObject; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; import java.io.IOException; diff --git a/src/main/java/me/shedaniel/rei/api/REIPlugin.java b/src/main/java/me/shedaniel/rei/api/REIPlugin.java index 372c9e23f..77ee28d9d 100644 --- a/src/main/java/me/shedaniel/rei/api/REIPlugin.java +++ b/src/main/java/me/shedaniel/rei/api/REIPlugin.java @@ -16,6 +16,6 @@ import net.minecraft.util.Identifier; public interface REIPlugin extends REIPluginEntry { @Override default Identifier getPluginIdentifier() { - return RoughlyEnoughItemsCore.getPluginIdentifier(this).orElse(Identifier.create("null")); + return RoughlyEnoughItemsCore.getPluginIdentifier(this).orElse(Identifier.ofNullable("null")); } } diff --git a/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java b/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java index 6824883a3..32f67438d 100644 --- a/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java +++ b/src/main/java/me/shedaniel/rei/api/SpeedCraftFunctional.java @@ -5,7 +5,7 @@ package me.shedaniel.rei.api; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; public interface SpeedCraftFunctional { diff --git a/src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java b/src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java index ca2720e8f..972fba8b3 100644 --- a/src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java +++ b/src/main/java/me/shedaniel/rei/client/BaseBoundsHandlerImpl.java @@ -10,7 +10,7 @@ import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.BaseBoundsHandler; import me.shedaniel.rei.api.DisplayHelper; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.util.ActionResult; import net.minecraft.util.Pair; diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java b/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java index 207723944..5d04387aa 100644 --- a/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java +++ b/src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java @@ -25,7 +25,7 @@ import net.fabricmc.loader.api.FabricLoader; import net.fabricmc.loader.api.ModContainer; import net.fabricmc.loader.api.metadata.ModMetadata; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen; +import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen; import net.minecraft.client.util.InputUtil; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -131,7 +131,7 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer { @Override public void sendDeletePacket() { - if (ScreenHelper.getLastContainerScreen() instanceof CreativePlayerInventoryScreen) { + if (ScreenHelper.getLastContainerScreen() instanceof CreativeInventoryScreen) { MinecraftClient.getInstance().player.inventory.setCursorStack(ItemStack.EMPTY); return; } diff --git a/src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java b/src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java index 741bd9fc4..d232c9914 100644 --- a/src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java +++ b/src/main/java/me/shedaniel/rei/client/ConfigManagerImpl.java @@ -13,7 +13,7 @@ import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.ConfigManager; import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.resource.language.I18n; import net.minecraft.network.chat.TextComponent; diff --git a/src/main/java/me/shedaniel/rei/client/ScreenHelper.java b/src/main/java/me/shedaniel/rei/client/ScreenHelper.java index 016a82c14..81c5c8df4 100644 --- a/src/main/java/me/shedaniel/rei/client/ScreenHelper.java +++ b/src/main/java/me/shedaniel/rei/client/ScreenHelper.java @@ -12,7 +12,7 @@ import me.shedaniel.rei.listeners.ContainerScreenHooks; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.event.client.ClientTickCallback; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.ContainerScreen; +import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen; import net.minecraft.client.util.Window; import net.minecraft.item.ItemStack; import org.apache.logging.log4j.util.TriConsumer; @@ -26,7 +26,7 @@ public class ScreenHelper implements ClientModInitializer { public static List inventoryStacks = Lists.newArrayList(); private static boolean overlayVisible = true; private static ContainerScreenOverlay overlay; - private static ContainerScreen lastContainerScreen = null; + private static AbstractContainerScreen lastContainerScreen = null; public static boolean isOverlayVisible() { return overlayVisible; @@ -48,11 +48,11 @@ public class ScreenHelper implements ClientModInitializer { return getLastOverlay(false, false); } - public static ContainerScreen getLastContainerScreen() { + public static AbstractContainerScreen getLastContainerScreen() { return lastContainerScreen; } - public static void setLastContainerScreen(ContainerScreen lastContainerScreen) { + public static void setLastContainerScreen(AbstractContainerScreen lastContainerScreen) { ScreenHelper.lastContainerScreen = lastContainerScreen; } @@ -78,8 +78,8 @@ public class ScreenHelper implements ClientModInitializer { @Override public void onInitializeClient() { ClientTickCallback.EVENT.register(client -> { - if (lastContainerScreen != client.currentScreen && client.currentScreen instanceof ContainerScreen) - lastContainerScreen = (ContainerScreen) client.currentScreen; + if (lastContainerScreen != client.currentScreen && client.currentScreen instanceof AbstractContainerScreen) + lastContainerScreen = (AbstractContainerScreen) client.currentScreen; }); } diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java index e90fef7c1..ed7d3b852 100644 --- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java @@ -17,7 +17,11 @@ import me.shedaniel.rei.gui.widget.*; import me.shedaniel.rei.listeners.ContainerScreenHooks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; -import net.minecraft.client.gui.*; +import net.minecraft.client.gui.AbstractParentElement; +import net.minecraft.client.gui.Drawable; +import net.minecraft.client.gui.Element; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen; import net.minecraft.client.render.GuiLighting; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.sound.PositionedSoundInstance; @@ -344,12 +348,12 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra DisplayHelper.DisplayBoundsHandler boundsHandler = RoughlyEnoughItemsCore.getDisplayHelper().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass()); itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true); } - if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen && SearchFieldWidget.isSearching) { + if (MinecraftClient.getInstance().currentScreen instanceof AbstractContainerScreen && SearchFieldWidget.isSearching) { GuiLighting.disable(); blitOffset = 200; ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen; int left = hooks.rei_getContainerLeft(), top = hooks.rei_getContainerTop(); - for(Slot slot : ((ContainerScreen) MinecraftClient.getInstance().currentScreen).getContainer().slotList) + for(Slot slot : ((AbstractContainerScreen) MinecraftClient.getInstance().currentScreen).getContainer().slotList) if (!slot.hasStack() || !itemListOverlay.filterItem(slot.getStack(), itemListOverlay.getLastSearchArgument())) fillGradient(left + slot.xPosition, top + slot.yPosition, left + slot.xPosition + 16, top + slot.yPosition + 16, -601874400, -601874400); blitOffset = 0; @@ -474,7 +478,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra if (!ScreenHelper.isOverlayVisible()) return false; ItemStack itemStack = null; - if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen) + if (MinecraftClient.getInstance().currentScreen instanceof AbstractContainerScreen) if (ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot() != null && !ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot().getStack().isEmpty()) itemStack = ScreenHelper.getLastContainerScreenHooks().rei_getHoveredSlot().getStack(); if (itemStack != null && !itemStack.isEmpty()) { diff --git a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java index 7509524c6..bfceee51c 100644 --- a/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java @@ -17,7 +17,7 @@ import me.shedaniel.rei.gui.widget.HighlightableWidget; import me.shedaniel.rei.gui.widget.Widget; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Element; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.render.GuiLighting; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.sound.PositionedSoundInstance; diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java index de66c2e17..8884fb380 100644 --- a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java @@ -13,9 +13,9 @@ import me.shedaniel.rei.api.*; import me.shedaniel.rei.client.ScreenHelper; import me.shedaniel.rei.gui.widget.*; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.ContainerScreen; import net.minecraft.client.gui.Element; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen; import net.minecraft.client.render.GuiLighting; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.sound.PositionedSoundInstance; @@ -37,6 +37,7 @@ public class RecipeViewingScreen extends Screen { public static final Identifier CHEST_GUI_TEXTURE = new Identifier("roughlyenoughitems", "textures/gui/recipecontainer.png"); public static final Color SUB_COLOR = new Color(159, 159, 159); + private static final int TABS_PER_PAGE = 5; private final List widgets; private final List tabs; private final Map> categoriesMap; @@ -68,7 +69,7 @@ public class RecipeViewingScreen extends Screen { this.choosePageActivated = false; } - public static SpeedCraftFunctional getSpeedCraftFunctionalByCategory(ContainerScreen containerScreen, RecipeCategory category) { + public static SpeedCraftFunctional getSpeedCraftFunctionalByCategory(AbstractContainerScreen containerScreen, RecipeCategory category) { for(SpeedCraftFunctional functional : RecipeHelper.getInstance().getSpeedCraftFunctional(category)) for(Class aClass : functional.getFunctioningFor()) if (containerScreen.getClass().isAssignableFrom(aClass)) @@ -129,6 +130,26 @@ public class RecipeViewingScreen extends Screen { this.bounds = new Rectangle(width / 2 - guiWidth / 2, height / 2 - guiHeight / 2, guiWidth, guiHeight); this.page = MathHelper.clamp(page, 0, getTotalPages(selectedCategory) - 1); + ButtonWidget w, w2; + this.widgets.add(w = new ButtonWidget(bounds.x + 2, bounds.y - 16, 10, 10, new TranslatableComponent("text.rei.left_arrow")) { + @Override + public void onPressed() { + categoryPages--; + if (categoryPages < 0) + categoryPages = MathHelper.ceil(categories.size() / (float) TABS_PER_PAGE) - 1; + RecipeViewingScreen.this.init(); + } + }); + this.widgets.add(w2 = new ButtonWidget(bounds.x + bounds.width - 12, bounds.y - 16, 10, 10, new TranslatableComponent("text.rei.right_arrow")) { + @Override + public void onPressed() { + categoryPages++; + if (categoryPages > MathHelper.ceil(categories.size() / (float) TABS_PER_PAGE) - 1) + categoryPages = 0; + RecipeViewingScreen.this.init(); + } + }); + w.enabled = w2.enabled = categories.size() > TABS_PER_PAGE; widgets.add(categoryBack = new ButtonWidget((int) bounds.getX() + 5, (int) bounds.getY() + 5, 12, 12, new TranslatableComponent("text.rei.left_arrow")) { @Override public void onPressed() { @@ -137,7 +158,7 @@ public class RecipeViewingScreen extends Screen { if (currentCategoryIndex < 0) currentCategoryIndex = categories.size() - 1; selectedCategory = categories.get(currentCategoryIndex); - categoryPages = MathHelper.floor(currentCategoryIndex / 6d); + categoryPages = MathHelper.floor(currentCategoryIndex / (double) TABS_PER_PAGE); page = 0; RecipeViewingScreen.this.init(); } @@ -173,7 +194,7 @@ public class RecipeViewingScreen extends Screen { if (currentCategoryIndex >= categories.size()) currentCategoryIndex = 0; selectedCategory = categories.get(currentCategoryIndex); - categoryPages = MathHelper.floor(currentCategoryIndex / 6d); + categoryPages = MathHelper.floor(currentCategoryIndex / (double) TABS_PER_PAGE); page = 0; RecipeViewingScreen.this.init(); } @@ -234,18 +255,18 @@ public class RecipeViewingScreen extends Screen { } }); recipeBack.enabled = recipeNext.enabled = categoriesMap.get(selectedCategory).size() > getRecipesPerPageByHeight(); - for(int i = 0; i < 6; i++) { - int j = i + categoryPages * 6; + for(int i = 0; i < TABS_PER_PAGE; i++) { + int j = i + categoryPages * TABS_PER_PAGE; if (categories.size() > j) { TabWidget tab; - tabs.add(tab = new TabWidget(i, new Rectangle(bounds.x + 4 + 28 * i, bounds.y - 28, 28, 28)) { + tabs.add(tab = new TabWidget(i, new Rectangle(bounds.x + bounds.width / 2 - Math.min(categories.size() - categoryPages * TABS_PER_PAGE, TABS_PER_PAGE) * 14 + i * 28, bounds.y - 28, 28, 28)) { @Override public boolean mouseClicked(double mouseX, double mouseY, int button) { if (getBounds().contains(mouseX, mouseY)) { MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F)); - if (getId() + categoryPages * 6 == categories.indexOf(selectedCategory)) + if (getId() + categoryPages * TABS_PER_PAGE == categories.indexOf(selectedCategory)) return false; - selectedCategory = categories.get(getId() + categoryPages * 6); + selectedCategory = categories.get(getId() + categoryPages * TABS_PER_PAGE); page = 0; RecipeViewingScreen.this.init(); return true; @@ -253,7 +274,7 @@ public class RecipeViewingScreen extends Screen { return false; } }); - tab.setRenderer(categories.get(j), categories.get(j).getIcon(), categories.get(j).getCategoryName(), tab.getId() + categoryPages * 6 == categories.indexOf(selectedCategory)); + tab.setRenderer(categories.get(j), categories.get(j).getIcon(), categories.get(j).getCategoryName(), tab.getId() + categoryPages * TABS_PER_PAGE == categories.indexOf(selectedCategory)); } } Optional supplier = RecipeHelper.getInstance().getSpeedCraftButtonArea(selectedCategory); diff --git a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java index 7b70cfb93..1b59cc1f7 100644 --- a/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java @@ -16,7 +16,7 @@ import me.shedaniel.rei.gui.renderables.RecipeRenderer; import me.shedaniel.rei.gui.widget.*; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Element; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.render.GuiLighting; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.sound.PositionedSoundInstance; @@ -276,7 +276,7 @@ public class VillagerRecipeViewingScreen extends Screen { } if (ClientHelper.getInstance().getNextPageKeyBinding().matchesKey(int_1, int_2)) { if (categoryMap.get(categories.get(selectedCategoryIndex)).size() > 1) { - selectedRecipeIndex ++; + selectedRecipeIndex++; if (selectedRecipeIndex >= categoryMap.get(categories.get(selectedCategoryIndex)).size()) selectedRecipeIndex = 0; init(); diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java index 440971a37..ac396b7e4 100644 --- a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java @@ -6,7 +6,7 @@ package me.shedaniel.rei.gui.credits; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.menu.AlwaysSelectedEntryListWidget; +import net.minecraft.client.gui.widget.AlwaysSelectedEntryListWidget; import net.minecraft.network.chat.Component; public class CreditsEntryListWidget extends AlwaysSelectedEntryListWidget { diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java index e8371e9f8..ab96765fa 100644 --- a/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java @@ -8,8 +8,8 @@ package me.shedaniel.rei.gui.credits; import me.shedaniel.rei.client.ScreenHelper; import me.shedaniel.rei.gui.credits.CreditsEntryListWidget.CreditsItem; import me.shedaniel.rei.gui.widget.ButtonWidget; -import net.minecraft.client.gui.ContainerScreen; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen; import net.minecraft.client.resource.language.I18n; import net.minecraft.network.chat.TextComponent; @@ -28,7 +28,7 @@ public class CreditsScreen extends Screen { public boolean keyPressed(int int_1, int int_2, int int_3) { if (int_1 == 256 && this.shouldCloseOnEsc()) { this.minecraft.openScreen(parent); - if (parent instanceof ContainerScreen) + if (parent instanceof AbstractContainerScreen) ScreenHelper.getLastOverlay().init(); return true; } @@ -46,7 +46,7 @@ public class CreditsScreen extends Screen { @Override public void onPressed() { CreditsScreen.this.minecraft.openScreen(parent); - if (parent instanceof ContainerScreen) + if (parent instanceof AbstractContainerScreen) ScreenHelper.getLastOverlay().init(); } }); diff --git a/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java index e470e16e8..651fd9ee7 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java @@ -8,7 +8,7 @@ package me.shedaniel.rei.gui.widget; import com.google.common.base.Predicates; import com.mojang.blaze3d.platform.GlStateManager; import net.minecraft.SharedConstants; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.render.BufferBuilder; import net.minecraft.client.render.Tessellator; import net.minecraft.client.render.VertexFormats; diff --git a/src/main/java/me/shedaniel/rei/listeners/ContainerScreenHooks.java b/src/main/java/me/shedaniel/rei/listeners/ContainerScreenHooks.java index 0eb21534b..961595c44 100644 --- a/src/main/java/me/shedaniel/rei/listeners/ContainerScreenHooks.java +++ b/src/main/java/me/shedaniel/rei/listeners/ContainerScreenHooks.java @@ -5,12 +5,12 @@ package me.shedaniel.rei.listeners; -import net.minecraft.client.gui.ContainerScreen; +import net.minecraft.client.gui.screen.ingame.AbstractContainerScreen; import net.minecraft.container.Slot; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; -@Mixin(ContainerScreen.class) +@Mixin(AbstractContainerScreen.class) public interface ContainerScreenHooks { @Accessor("left") diff --git a/src/main/java/me/shedaniel/rei/listeners/CreativePlayerInventoryScreenHooks.java b/src/main/java/me/shedaniel/rei/listeners/CreativePlayerInventoryScreenHooks.java index 837552bff..e01f01bf0 100644 --- a/src/main/java/me/shedaniel/rei/listeners/CreativePlayerInventoryScreenHooks.java +++ b/src/main/java/me/shedaniel/rei/listeners/CreativePlayerInventoryScreenHooks.java @@ -5,11 +5,11 @@ package me.shedaniel.rei.listeners; -import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen; +import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; -@Mixin(CreativePlayerInventoryScreen.class) +@Mixin(CreativeInventoryScreen.class) public interface CreativePlayerInventoryScreenHooks { @Accessor("selectedTab") int rei_getSelectedTab(); diff --git a/src/main/java/me/shedaniel/rei/listeners/RecipeBookGuiHooks.java b/src/main/java/me/shedaniel/rei/listeners/RecipeBookGuiHooks.java index c382a5728..917129b8a 100644 --- a/src/main/java/me/shedaniel/rei/listeners/RecipeBookGuiHooks.java +++ b/src/main/java/me/shedaniel/rei/listeners/RecipeBookGuiHooks.java @@ -5,16 +5,16 @@ package me.shedaniel.rei.listeners; -import net.minecraft.client.gui.recipebook.GroupButtonWidget; -import net.minecraft.client.gui.recipebook.RecipeBookGui; -import net.minecraft.client.gui.widget.RecipeBookGhostSlots; +import net.minecraft.client.gui.screen.recipebook.RecipeBookGhostSlots; +import net.minecraft.client.gui.screen.recipebook.RecipeBookScreen; +import net.minecraft.client.gui.screen.recipebook.RecipeGroupButtonWidget; import net.minecraft.client.gui.widget.TextFieldWidget; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.gen.Accessor; import java.util.List; -@Mixin(RecipeBookGui.class) +@Mixin(RecipeBookScreen.class) public interface RecipeBookGuiHooks { @Accessor("ghostSlots") @@ -24,6 +24,6 @@ public interface RecipeBookGuiHooks { TextFieldWidget rei_getSearchField(); @Accessor("tabButtons") - List rei_getTabButtons(); + List rei_getTabButtons(); } diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java index f57104cfe..4b88d9e7e 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java @@ -10,7 +10,7 @@ import me.shedaniel.rei.api.RecipeDisplay; import net.minecraft.block.entity.FurnaceBlockEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.recipe.cooking.BlastingRecipe; +import net.minecraft.recipe.BlastingRecipe; import net.minecraft.util.Identifier; import java.util.Collections; diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java index 384cdb6c2..0ab1d9fdb 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java @@ -8,8 +8,8 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Lists; import me.shedaniel.rei.api.RecipeDisplay; import net.minecraft.item.ItemStack; +import net.minecraft.recipe.CampfireCookingRecipe; import net.minecraft.recipe.Ingredient; -import net.minecraft.recipe.cooking.CampfireCookingRecipe; import net.minecraft.util.DefaultedList; import net.minecraft.util.Identifier; diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java index e49540683..1120e4384 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java @@ -14,15 +14,9 @@ import me.shedaniel.rei.gui.VillagerRecipeViewingScreen; import me.shedaniel.rei.listeners.ContainerScreenHooks; import me.shedaniel.rei.listeners.RecipeBookGuiHooks; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.ContainerScreen; -import net.minecraft.client.gui.Screen; -import net.minecraft.client.gui.container.BlastFurnaceScreen; -import net.minecraft.client.gui.container.CraftingTableScreen; -import net.minecraft.client.gui.container.FurnaceScreen; -import net.minecraft.client.gui.container.SmokerScreen; -import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen; -import net.minecraft.client.gui.ingame.PlayerInventoryScreen; -import net.minecraft.client.gui.ingame.RecipeBookProvider; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ingame.*; +import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; import net.minecraft.client.recipe.book.ClientRecipeBook; import net.minecraft.container.CraftingContainer; import net.minecraft.enchantment.Enchantment; @@ -30,20 +24,13 @@ import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.potion.PotionUtil; -import net.minecraft.recipe.Recipe; -import net.minecraft.recipe.StonecuttingRecipe; -import net.minecraft.recipe.cooking.BlastingRecipe; -import net.minecraft.recipe.cooking.CampfireCookingRecipe; -import net.minecraft.recipe.cooking.SmeltingRecipe; -import net.minecraft.recipe.cooking.SmokingRecipe; -import net.minecraft.recipe.crafting.ShapedRecipe; -import net.minecraft.recipe.crafting.ShapelessRecipe; +import net.minecraft.recipe.*; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; import java.awt.*; -import java.util.*; import java.util.List; +import java.util.*; public class DefaultPlugin implements REIPluginEntry { @@ -144,7 +131,7 @@ public class DefaultPlugin implements REIPluginEntry { @Override public void registerBounds(DisplayHelper displayHelper) { - displayHelper.getBaseBoundsHandler().registerExclusionZones(ContainerScreen.class, isOnRightSide -> { + displayHelper.getBaseBoundsHandler().registerExclusionZones(AbstractContainerScreen.class, isOnRightSide -> { if (isOnRightSide || !MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(ScreenHelper.getLastContainerScreen().getContainer() instanceof CraftingContainer)) return Collections.emptyList(); ContainerScreenHooks screenHooks = ScreenHelper.getLastContainerScreenHooks(); @@ -154,19 +141,19 @@ public class DefaultPlugin implements REIPluginEntry { l.add(new Rectangle(screenHooks.rei_getContainerLeft() - 4 - 145 - 30, screenHooks.rei_getContainerTop(), 30, (size - 1) * 27)); return l; }); - displayHelper.registerBoundsHandler(new DisplayHelper.DisplayBoundsHandler() { + displayHelper.registerBoundsHandler(new DisplayHelper.DisplayBoundsHandler() { @Override public Class getBaseSupportedClass() { - return ContainerScreen.class; + return AbstractContainerScreen.class; } @Override - public Rectangle getLeftBounds(ContainerScreen screen) { + public Rectangle getLeftBounds(AbstractContainerScreen screen) { return new Rectangle(2, 0, ScreenHelper.getLastContainerScreenHooks().rei_getContainerLeft() - 4, MinecraftClient.getInstance().window.getScaledHeight()); } @Override - public Rectangle getRightBounds(ContainerScreen screen) { + public Rectangle getRightBounds(AbstractContainerScreen screen) { int startX = ScreenHelper.getLastContainerScreenHooks().rei_getContainerLeft() + ScreenHelper.getLastContainerScreenHooks().rei_getContainerWidth() + 2; return new Rectangle(startX, 0, MinecraftClient.getInstance().window.getScaledWidth() - startX - 2, MinecraftClient.getInstance().window.getScaledHeight()); } @@ -220,19 +207,19 @@ public class DefaultPlugin implements REIPluginEntry { return -1.0f; } }); - displayHelper.registerBoundsHandler(new DisplayHelper.DisplayBoundsHandler() { + displayHelper.registerBoundsHandler(new DisplayHelper.DisplayBoundsHandler() { @Override public Class getBaseSupportedClass() { - return CreativePlayerInventoryScreen.class; + return CreativeInventoryScreen.class; } @Override - public Rectangle getLeftBounds(CreativePlayerInventoryScreen screen) { + public Rectangle getLeftBounds(CreativeInventoryScreen screen) { return new Rectangle(2, 0, ScreenHelper.getLastContainerScreenHooks().rei_getContainerLeft() - 2, MinecraftClient.getInstance().window.getScaledHeight()); } @Override - public Rectangle getRightBounds(CreativePlayerInventoryScreen screen) { + public Rectangle getRightBounds(CreativeInventoryScreen screen) { int startX = ScreenHelper.getLastContainerScreenHooks().rei_getContainerLeft() + ScreenHelper.getLastContainerScreenHooks().rei_getContainerWidth(); return new Rectangle(startX, 0, MinecraftClient.getInstance().window.getScaledWidth() - startX - 2, MinecraftClient.getInstance().window.getScaledHeight()); } @@ -269,7 +256,7 @@ public class DefaultPlugin implements REIPluginEntry { recipeHelper.registerSpeedCraftFunctional(DefaultPlugin.CRAFTING, new SpeedCraftFunctional() { @Override public Class[] getFunctioningFor() { - return new Class[]{PlayerInventoryScreen.class, CraftingTableScreen.class}; + return new Class[]{InventoryScreen.class, CraftingTableScreen.class}; } @Override @@ -278,8 +265,8 @@ public class DefaultPlugin implements REIPluginEntry { return false; if (screen.getClass().isAssignableFrom(CraftingTableScreen.class)) ((RecipeBookGuiHooks) (((CraftingTableScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); - else if (screen.getClass().isAssignableFrom(PlayerInventoryScreen.class)) - ((RecipeBookGuiHooks) (((PlayerInventoryScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); + else if (screen.getClass().isAssignableFrom(InventoryScreen.class)) + ((RecipeBookGuiHooks) (((InventoryScreen) screen).getRecipeBookGui())).rei_getGhostSlots().reset(); else return false; MinecraftClient.getInstance().interactionManager.clickRecipe(MinecraftClient.getInstance().player.container.syncId, (Recipe) recipe.getRecipe().get(), Screen.hasShiftDown()); @@ -288,7 +275,7 @@ public class DefaultPlugin implements REIPluginEntry { @Override public boolean acceptRecipe(Screen screen, DefaultCraftingDisplay recipe) { - return screen instanceof CraftingTableScreen || (screen instanceof PlayerInventoryScreen && recipe.getHeight() < 3 && recipe.getWidth() < 3); + return screen instanceof CraftingTableScreen || (screen instanceof InventoryScreen && recipe.getHeight() < 3 && recipe.getWidth() < 3); } }); recipeHelper.registerSpeedCraftFunctional(DefaultPlugin.SMELTING, new SpeedCraftFunctional() { diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java index 076808130..b7a4d343a 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java @@ -8,7 +8,7 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Lists; import net.minecraft.item.ItemStack; import net.minecraft.recipe.Recipe; -import net.minecraft.recipe.crafting.ShapedRecipe; +import net.minecraft.recipe.ShapedRecipe; import java.util.Collections; import java.util.List; diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java index 7a00ffc7d..d58afd938 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java @@ -7,7 +7,7 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Lists; import net.minecraft.item.ItemStack; -import net.minecraft.recipe.crafting.ShapelessRecipe; +import net.minecraft.recipe.ShapelessRecipe; import java.util.Collections; import java.util.List; diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java index cdb44151d..c87295094 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java @@ -10,7 +10,7 @@ import me.shedaniel.rei.api.RecipeDisplay; import net.minecraft.block.entity.FurnaceBlockEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.recipe.cooking.SmeltingRecipe; +import net.minecraft.recipe.SmeltingRecipe; import net.minecraft.util.Identifier; import java.util.Collections; diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java index 420258526..9a307d574 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java @@ -10,7 +10,7 @@ import me.shedaniel.rei.api.RecipeDisplay; import net.minecraft.block.entity.FurnaceBlockEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.recipe.cooking.SmokingRecipe; +import net.minecraft.recipe.SmokingRecipe; import net.minecraft.util.Identifier; import java.util.Collections; diff --git a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java index 6ec093cec..a6780f9c4 100644 --- a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java +++ b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java @@ -17,7 +17,7 @@ import me.shedaniel.rei.client.RecipeScreenType; import me.shedaniel.rei.gui.config.ItemListOrderingConfig; import me.shedaniel.rei.gui.credits.CreditsScreen; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.Screen; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.resource.language.I18n; -- cgit