diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-05-09 00:26:18 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-05-09 00:26:18 +0800 |
| commit | c27630f0c0eb7e5084f28139aaf2ba45ff3a7e23 (patch) | |
| tree | 6ffc4062b4207ced1eb17bfdb51c5d2a865e9d06 /src/main/java | |
| parent | 9662f0e452a0e1ac23de3f39861d15db7db5b1cc (diff) | |
| download | RoughlyEnoughItems-c27630f0c0eb7e5084f28139aaf2ba45ff3a7e23.tar.gz RoughlyEnoughItems-c27630f0c0eb7e5084f28139aaf2ba45ff3a7e23.tar.bz2 RoughlyEnoughItems-c27630f0c0eb7e5084f28139aaf2ba45ff3a7e23.zip | |
Welcome back: Container
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main/java')
36 files changed, 226 insertions, 213 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index 0fd28b111..9c90ea21d 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -39,9 +39,9 @@ import net.fabricmc.loader.api.ModContainer; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Element; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.CraftingScreen; +import net.minecraft.client.gui.screen.ingame.ContainerScreen; +import net.minecraft.client.gui.screen.ingame.CraftingTableScreen; import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen; -import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.client.gui.screen.ingame.InventoryScreen; import net.minecraft.client.gui.screen.recipebook.RecipeBookGhostSlots; import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; @@ -49,11 +49,11 @@ import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.client.gui.widget.TexturedButtonWidget; import net.minecraft.client.resource.language.I18n; +import net.minecraft.container.CraftingTableContainer; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.RecipeManager; -import net.minecraft.screen.CraftingScreenHandler; import net.minecraft.screen.slot.Slot; import net.minecraft.text.LiteralText; import net.minecraft.util.ActionResult; @@ -192,11 +192,11 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { ClientSidePacketRegistry.INSTANCE.register(RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, (packetContext, packetByteBuf) -> { ItemStack stack = packetByteBuf.readItemStack(); String player = packetByteBuf.readString(32767); - packetContext.getPlayer().sendMessage(new LiteralText(I18n.translate("text.rei.cheat_items").replaceAll("\\{item_name}", SearchArgument.tryGetItemStackName(stack.copy())).replaceAll("\\{item_count}", stack.copy().getCount() + "").replaceAll("\\{player_name}", player)), false); + packetContext.getPlayer().addMessage(new LiteralText(I18n.translate("text.rei.cheat_items").replaceAll("\\{item_name}", SearchArgument.tryGetItemStackName(stack.copy())).replaceAll("\\{item_count}", stack.copy().getCount() + "").replaceAll("\\{player_name}", player)), false); }); ClientSidePacketRegistry.INSTANCE.register(RoughlyEnoughItemsNetwork.NOT_ENOUGH_ITEMS_PACKET, (packetContext, packetByteBuf) -> { Screen currentScreen = MinecraftClient.getInstance().currentScreen; - if (currentScreen instanceof CraftingScreen) { + if (currentScreen instanceof CraftingTableScreen) { RecipeBookWidget recipeBookGui = ((RecipeBookProvider) currentScreen).getRecipeBookWidget(); RecipeBookGhostSlots ghostSlots = recipeBookGui.ghostSlots; ghostSlots.reset(); @@ -213,12 +213,12 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { } ghostSlots.addSlot(Ingredient.ofItems(Items.STONE), 381203812, 12738291); - CraftingScreenHandler screenHandler = ((CraftingScreen) currentScreen).getScreenHandler(); + CraftingTableContainer container = ((CraftingTableScreen) currentScreen).getContainer(); for (int i = 0; i < input.size(); i++) { List<ItemStack> stacks = input.get(i); if (!stacks.isEmpty()) { - Slot slot = screenHandler.getSlot(i + screenHandler.getCraftingResultSlotIndex() + 1); - ghostSlots.addSlot(Ingredient.ofStacks(stacks.toArray(new ItemStack[0])), slot.x, slot.y); + Slot slot = container.getSlot(i + container.getCraftingResultSlotIndex() + 1); + ghostSlots.addSlot(Ingredient.ofStacks(stacks.toArray(new ItemStack[0])), slot.xPosition, slot.yPosition); } } } @@ -296,7 +296,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { continue; ActionResult result = decider.shouldScreenBeOverlayed(screen); if (result != ActionResult.PASS) - return result == ActionResult.FAIL || REIHelper.getInstance().getPreviousHandledScreen() == null; + return result == ActionResult.FAIL || REIHelper.getInstance().getPreviousContainerScreen() == null; } } catch (ConcurrentModificationException ignored) { } @@ -308,7 +308,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { long[] lastSync = {-1}; ClothClientHooks.SYNC_RECIPES.register((minecraftClient, recipeManager, synchronizeRecipesS2CPacket) -> syncRecipes(lastSync)); ClothClientHooks.SCREEN_ADD_BUTTON.register((minecraftClient, screen, abstractButtonWidget) -> { - if (ConfigObject.getInstance().doesDisableRecipeBook() && screen instanceof HandledScreen && abstractButtonWidget instanceof TexturedButtonWidget) + if (ConfigObject.getInstance().doesDisableRecipeBook() && screen instanceof ContainerScreen && abstractButtonWidget instanceof TexturedButtonWidget) if (((TexturedButtonWidget) abstractButtonWidget).texture.equals(recipeButtonTex)) return ActionResult.FAIL; return ActionResult.PASS; @@ -318,8 +318,8 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { return; if (screen instanceof InventoryScreen && minecraftClient.interactionManager.hasCreativeInventory()) return; - if (screen instanceof HandledScreen) - ScreenHelper.setLastHandledScreen((HandledScreen<?>) screen); + if (screen instanceof ContainerScreen) + ScreenHelper.setPreviousContainerScreen((ContainerScreen<?>) screen); boolean alreadyAdded = false; for (Element element : Lists.newArrayList(screenHooks.cloth_getChildren())) if (ContainerScreenOverlay.class.isAssignableFrom(element.getClass())) @@ -385,9 +385,9 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { return ActionResult.PASS; if (ScreenHelper.getLastOverlay().keyPressed(i, i1, i2)) return ActionResult.SUCCESS; - if (screen instanceof HandledScreen && ConfigObject.getInstance().doesDisableRecipeBook() && ConfigObject.getInstance().doesFixTabCloseContainer()) + if (screen instanceof ContainerScreen && ConfigObject.getInstance().doesDisableRecipeBook() && ConfigObject.getInstance().doesFixTabCloseContainer()) if (i == 258 && minecraftClient.options.keyInventory.matchesKey(i, i1)) { - minecraftClient.player.closeHandledScreen(); + minecraftClient.player.closeContainer(); return ActionResult.SUCCESS; } return ActionResult.PASS; diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java index 2898983b7..4c20d5f7b 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java @@ -31,11 +31,11 @@ import me.shedaniel.rei.server.InputSlotCrafter; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.network.ServerSidePacketRegistry; import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.container.Container; +import net.minecraft.container.CraftingContainer; +import net.minecraft.container.PlayerContainer; import net.minecraft.item.ItemStack; import net.minecraft.network.PacketByteBuf; -import net.minecraft.screen.AbstractRecipeScreenHandler; -import net.minecraft.screen.PlayerScreenHandler; -import net.minecraft.screen.ScreenHandler; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.text.TranslatableText; import net.minecraft.util.Formatting; @@ -65,7 +65,7 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer { ServerSidePacketRegistry.INSTANCE.register(DELETE_ITEMS_PACKET, (packetContext, packetByteBuf) -> { ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer(); if (player.getServer().getPermissionLevel(player.getGameProfile()) < player.getServer().getOpPermissionLevel()) { - player.sendMessage(new TranslatableText("text.rei.no_permission_cheat").formatted(Formatting.RED), false); + player.addMessage(new TranslatableText("text.rei.no_permission_cheat").formatted(Formatting.RED), false); return; } if (!player.inventory.getCursorStack().isEmpty()) @@ -74,20 +74,20 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer { ServerSidePacketRegistry.INSTANCE.register(CREATE_ITEMS_PACKET, (packetContext, packetByteBuf) -> { ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer(); if (player.getServer().getPermissionLevel(player.getGameProfile()) < player.getServer().getOpPermissionLevel()) { - player.sendMessage(new TranslatableText("text.rei.no_permission_cheat").formatted(Formatting.RED), false); + player.addMessage(new TranslatableText("text.rei.no_permission_cheat").formatted(Formatting.RED), false); return; } ItemStack stack = packetByteBuf.readItemStack(); if (player.inventory.insertStack(stack.copy())) { ServerSidePacketRegistry.INSTANCE.sendToPlayer(player, RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, new PacketByteBuf(Unpooled.buffer()).writeItemStack(stack.copy()).writeString(player.getEntityName(), 32767)); } else - player.sendMessage(new TranslatableText("text.rei.failed_cheat_items"), false); + player.addMessage(new TranslatableText("text.rei.failed_cheat_items"), false); }); ServerSidePacketRegistry.INSTANCE.register(MOVE_ITEMS_PACKET, (packetContext, packetByteBuf) -> { Identifier category = packetByteBuf.readIdentifier(); ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer(); - ScreenHandler screenHandler = player.currentScreenHandler; - PlayerScreenHandler playerScreenHandler = player.playerScreenHandler; + Container container = player.container; + PlayerContainer playerContainer = player.playerContainer; try { boolean shift = packetByteBuf.readBoolean(); Map<Integer, List<ItemStack>> input = Maps.newHashMap(); @@ -101,9 +101,9 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer { input.put(i, list); } try { - InputSlotCrafter.start(category, screenHandler, player, input, shift); + InputSlotCrafter.start(category, container, player, input, shift); } catch (InputSlotCrafter.NotEnoughMaterialsException e) { - if (!(screenHandler instanceof AbstractRecipeScreenHandler)) + if (!(container instanceof CraftingContainer)) return; PacketByteBuf buf = new PacketByteBuf(Unpooled.buffer()); buf.writeInt(input.size()); @@ -118,9 +118,9 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer { ServerSidePacketRegistry.INSTANCE.sendToPlayer(player, NOT_ENOUGH_ITEMS_PACKET, buf); } } catch (IllegalStateException e) { - player.sendSystemMessage(new TranslatableText(e.getMessage()).formatted(Formatting.RED)); + player.sendMessage(new TranslatableText(e.getMessage()).formatted(Formatting.RED)); } catch (Exception e) { - player.sendSystemMessage(new TranslatableText("error.rei.internal.error", e.getMessage()).formatted(Formatting.RED)); + player.sendMessage(new TranslatableText("error.rei.internal.error", e.getMessage()).formatted(Formatting.RED)); e.printStackTrace(); } } catch (Exception e) { diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsState.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsState.java index 0a67d6f75..2f5240d09 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsState.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsState.java @@ -79,7 +79,6 @@ public class RoughlyEnoughItemsState { } } - @SuppressWarnings({"Convert2MethodRef", "FunctionalExpressionCanBeFolded"}) public static void onContinue(Runnable runnable) { continueCallbacks.add(runnable); } diff --git a/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java b/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java index e494aae65..85eb02553 100644 --- a/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java +++ b/src/main/java/me/shedaniel/rei/api/AutoTransferHandler.java @@ -26,8 +26,8 @@ package me.shedaniel.rei.api; import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntList; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.ingame.HandledScreen; -import net.minecraft.screen.ScreenHandler; +import net.minecraft.client.gui.screen.ingame.ContainerScreen; +import net.minecraft.container.Container; import org.jetbrains.annotations.ApiStatus; import java.util.function.Supplier; @@ -80,8 +80,8 @@ public interface AutoTransferHandler { } interface Context { - static Context create(boolean actuallyCrafting, HandledScreen<?> handledScreen, RecipeDisplay recipeDisplay) { - return new ContextImpl(actuallyCrafting, handledScreen, () -> recipeDisplay); + static Context create(boolean actuallyCrafting, ContainerScreen<?> containerScreen, RecipeDisplay recipeDisplay) { + return new ContextImpl(actuallyCrafting, containerScreen, () -> recipeDisplay); } default MinecraftClient getMinecraft() { @@ -90,12 +90,22 @@ public interface AutoTransferHandler { boolean isActuallyCrafting(); - HandledScreen<?> getHandledScreen(); + ContainerScreen<?> getContainerScreen(); + + @Deprecated + default ContainerScreen<?> getHandledScreen() { + return getContainerScreen(); + } RecipeDisplay getRecipe(); - default ScreenHandler getScreenHandler() { - return getHandledScreen().getScreenHandler(); + @Deprecated + default Container getScreenHandler() { + return getContainer(); + } + + default Container getContainer() { + return getHandledScreen().getContainer(); } } @@ -154,12 +164,12 @@ public interface AutoTransferHandler { @ApiStatus.Internal final class ContextImpl implements Context { boolean actuallyCrafting; - HandledScreen<?> handledScreen; + ContainerScreen<?> containerScreen; Supplier<RecipeDisplay> recipeDisplaySupplier; - private ContextImpl(boolean actuallyCrafting, HandledScreen<?> handledScreen, Supplier<RecipeDisplay> recipeDisplaySupplier) { + private ContextImpl(boolean actuallyCrafting, ContainerScreen<?> containerScreen, Supplier<RecipeDisplay> recipeDisplaySupplier) { this.actuallyCrafting = actuallyCrafting; - this.handledScreen = handledScreen; + this.containerScreen = containerScreen; this.recipeDisplaySupplier = recipeDisplaySupplier; } @@ -169,8 +179,8 @@ public interface AutoTransferHandler { } @Override - public HandledScreen<?> getHandledScreen() { - return handledScreen; + public ContainerScreen<?> getContainerScreen() { + return containerScreen; } @Override diff --git a/src/main/java/me/shedaniel/rei/api/REIHelper.java b/src/main/java/me/shedaniel/rei/api/REIHelper.java index bfb9eac9f..a6ff10a8b 100644 --- a/src/main/java/me/shedaniel/rei/api/REIHelper.java +++ b/src/main/java/me/shedaniel/rei/api/REIHelper.java @@ -26,7 +26,7 @@ package me.shedaniel.rei.api; import me.shedaniel.rei.api.widgets.Tooltip; import me.shedaniel.rei.gui.widget.TextFieldWidget; import me.shedaniel.rei.impl.ScreenHelper; -import net.minecraft.client.gui.screen.ingame.HandledScreen; +import net.minecraft.client.gui.screen.ingame.ContainerScreen; import net.minecraft.item.ItemStack; import org.jetbrains.annotations.Nullable; @@ -41,7 +41,12 @@ public interface REIHelper { return ScreenHelper.getInstance(); } - HandledScreen<?> getPreviousHandledScreen(); + ContainerScreen<?> getPreviousContainerScreen(); + + @Deprecated + default ContainerScreen<?> getPreviousHandledScreen() { + return getPreviousContainerScreen(); + } boolean isDarkThemeEnabled(); diff --git a/src/main/java/me/shedaniel/rei/api/RecipeHelper.java b/src/main/java/me/shedaniel/rei/api/RecipeHelper.java index 9bec4c656..e4b80e915 100644 --- a/src/main/java/me/shedaniel/rei/api/RecipeHelper.java +++ b/src/main/java/me/shedaniel/rei/api/RecipeHelper.java @@ -25,7 +25,7 @@ package me.shedaniel.rei.api; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.RoughlyEnoughItemsCore; -import net.minecraft.client.gui.screen.ingame.HandledScreen; +import net.minecraft.client.gui.screen.ingame.ContainerScreen; import net.minecraft.recipe.Recipe; import net.minecraft.recipe.RecipeManager; import net.minecraft.util.Identifier; @@ -221,7 +221,7 @@ public interface RecipeHelper { */ void registerLiveRecipeGenerator(LiveRecipeGenerator<?> liveRecipeGenerator); - void registerScreenClickArea(Rectangle rectangle, Class<? extends HandledScreen<?>> screenClass, Identifier... categories); + void registerScreenClickArea(Rectangle rectangle, Class<? extends ContainerScreen<?>> screenClass, Identifier... categories); <T extends Recipe<?>> void registerRecipes(Identifier category, Class<T> recipeClass, Function<T, RecipeDisplay> mappingFunction); @@ -233,7 +233,7 @@ public interface RecipeHelper { boolean arePluginsLoading(); interface ScreenClickArea { - Class<? extends HandledScreen> getScreenClass(); + Class<? extends ContainerScreen> getScreenClass(); Rectangle getRectangle(); diff --git a/src/main/java/me/shedaniel/rei/api/TransferRecipeDisplay.java b/src/main/java/me/shedaniel/rei/api/TransferRecipeDisplay.java index e5ff9aa2c..d856b9076 100644 --- a/src/main/java/me/shedaniel/rei/api/TransferRecipeDisplay.java +++ b/src/main/java/me/shedaniel/rei/api/TransferRecipeDisplay.java @@ -24,8 +24,7 @@ package me.shedaniel.rei.api; import me.shedaniel.rei.server.ContainerInfo; -import net.minecraft.screen.ScreenHandler; - +import net.minecraft.container.Container; import java.util.List; public interface TransferRecipeDisplay extends RecipeDisplay { @@ -40,6 +39,6 @@ public interface TransferRecipeDisplay extends RecipeDisplay { */ int getHeight(); - List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<ScreenHandler> containerInfo, ScreenHandler container); + List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<Container> containerInfo, Container container); } diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java index 0aaabfa7a..9388ad352 100644 --- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java @@ -47,7 +47,7 @@ import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Element; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.HandledScreen; +import net.minecraft.client.gui.screen.ingame.ContainerScreen; import net.minecraft.client.render.Tessellator; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.item.ItemRenderer; @@ -234,7 +234,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { ClientHelper.getInstance().setCheating(!ClientHelper.getInstance().isCheating()); return; } - ConfigManager.getInstance().openConfigScreen(REIHelper.getInstance().getPreviousHandledScreen()); + ConfigManager.getInstance().openConfigScreen(REIHelper.getInstance().getPreviousContainerScreen()); }) .onRender((matrices, button) -> { if (ClientHelper.getInstance().isCheating() && RoughlyEnoughItemsCore.hasOperatorPermission()) { @@ -374,7 +374,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { VillagerRecipeViewingScreen widget = (VillagerRecipeViewingScreen) MinecraftClient.getInstance().currentScreen; return new Rectangle(widget.bounds.x, 3, widget.bounds.width, 18); } - return new Rectangle(REIHelper.getInstance().getPreviousHandledScreen().x, 3, REIHelper.getInstance().getPreviousHandledScreen().backgroundWidth, 18); + return new Rectangle(REIHelper.getInstance().getPreviousContainerScreen().x, 3, REIHelper.getInstance().getPreviousContainerScreen().containerWidth, 18); } return null; } @@ -443,7 +443,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { VillagerRecipeViewingScreen widget = (VillagerRecipeViewingScreen) MinecraftClient.getInstance().currentScreen; return new Rectangle(widget.bounds.x, window.getScaledHeight() - 22, widget.bounds.width - widthRemoved, 18); } - return new Rectangle(REIHelper.getInstance().getPreviousHandledScreen().x, window.getScaledHeight() - 22, REIHelper.getInstance().getPreviousHandledScreen().backgroundWidth - widthRemoved, 18); + return new Rectangle(REIHelper.getInstance().getPreviousContainerScreen().x, window.getScaledHeight() - 22, REIHelper.getInstance().getPreviousContainerScreen().containerWidth - widthRemoved, 18); } private Rectangle getCraftableToggleArea() { @@ -494,22 +494,22 @@ public class ContainerScreenOverlay extends WidgetWithBounds { if (OverlaySearchField.isSearching) { matrices.push(); matrices.translate(0, 0, 200f); - if (MinecraftClient.getInstance().currentScreen instanceof HandledScreen) { - HandledScreen<?> handledScreen = (HandledScreen<?>) MinecraftClient.getInstance().currentScreen; - int x = handledScreen.x, y = handledScreen.y; - for (Slot slot : handledScreen.getScreenHandler().slots) + if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen) { + ContainerScreen<?> containerScreen = (ContainerScreen<?>) MinecraftClient.getInstance().currentScreen; + int x = containerScreen.x, y = containerScreen.y; + for (Slot slot : containerScreen.getContainer().slots) if (!slot.hasStack() || !ENTRY_LIST_WIDGET.canLastSearchTermsBeAppliedTo(EntryStack.create(slot.getStack()))) - fillGradient(matrices, x + slot.x, y + slot.y, x + slot.x + 16, y + slot.y + 16, -601874400, -601874400); + fillGradient(matrices, x + slot.xPosition, y + slot.yPosition, x + slot.xPosition + 16, y + slot.yPosition + 16, -601874400, -601874400); } matrices.pop(); } RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.renderWidgets(matrices, mouseX, mouseY, delta); - if (MinecraftClient.getInstance().currentScreen instanceof HandledScreen && ConfigObject.getInstance().areClickableRecipeArrowsEnabled()) { - HandledScreen<?> handledScreen = (HandledScreen<?>) MinecraftClient.getInstance().currentScreen; + if (MinecraftClient.getInstance().currentScreen instanceof ContainerScreen && ConfigObject.getInstance().areClickableRecipeArrowsEnabled()) { + ContainerScreen<?> containerScreen = (ContainerScreen<?>) MinecraftClient.getInstance().currentScreen; for (RecipeHelper.ScreenClickArea area : RecipeHelper.getInstance().getScreenClickAreas()) if |
