diff options
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
12 files changed, 48 insertions, 70 deletions
diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java index 52ebfc721..112d0a978 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java @@ -26,17 +26,19 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import it.unimi.dsi.fastutil.objects.Object2FloatMap; +import me.shedaniel.math.Point; import me.shedaniel.math.api.Rectangle; import me.shedaniel.rei.RoughlyEnoughItemsCore; import me.shedaniel.rei.api.*; import me.shedaniel.rei.api.plugins.REIPluginV0; +import me.shedaniel.rei.api.widgets.Panel; +import me.shedaniel.rei.api.widgets.Tooltip; import me.shedaniel.rei.gui.RecipeViewingScreen; import me.shedaniel.rei.gui.VillagerRecipeViewingScreen; -import me.shedaniel.rei.gui.widget.CategoryBaseWidget; -import me.shedaniel.rei.gui.widget.QueuedTooltip; import me.shedaniel.rei.impl.ClientHelperImpl; import me.shedaniel.rei.impl.RenderingEntry; import me.shedaniel.rei.impl.ScreenHelper; +import me.shedaniel.rei.listeners.ContainerScreenHooks; import me.shedaniel.rei.plugin.beacon.DefaultBeaconBaseCategory; import me.shedaniel.rei.plugin.beacon.DefaultBeaconBaseDisplay; import me.shedaniel.rei.plugin.blasting.DefaultBlastingDisplay; @@ -173,8 +175,8 @@ public class DefaultPlugin implements REIPluginV0 { } @Override - public @Nullable QueuedTooltip getTooltip(int mouseX, int mouseY) { - return QueuedTooltip.create("Kibby"); + public @Nullable Tooltip getTooltip(Point point) { + return Tooltip.create("Kibby"); } }); } @@ -289,7 +291,7 @@ public class DefaultPlugin implements REIPluginV0 { baseBoundsHandler.registerExclusionZones(AbstractInventoryScreen.class, new DefaultPotionEffectExclusionZones()); baseBoundsHandler.registerExclusionZones(RecipeBookProvider.class, new DefaultRecipeBookExclusionZones()); baseBoundsHandler.registerExclusionZones(RecipeViewingScreen.class, () -> { - CategoryBaseWidget widget = ((RecipeViewingScreen) MinecraftClient.getInstance().currentScreen).getWorkingStationsBaseWidget(); + Panel widget = ((RecipeViewingScreen) MinecraftClient.getInstance().currentScreen).getWorkingStationsBaseWidget(); if (widget == null) return Collections.emptyList(); return Collections.singletonList(widget.getBounds().clone()); @@ -310,20 +312,20 @@ public class DefaultPlugin implements REIPluginV0 { // return 10f; // } // }); - displayHelper.registerHandler(new DisplayHelper.DisplayBoundsHandler<ScreenWithHandler<?>>() { + displayHelper.registerHandler(new DisplayHelper.DisplayBoundsHandler<HandledScreen<?>>() { @Override public Class<?> getBaseSupportedClass() { - return ScreenWithHandler.class; + return HandledScreen.class; } @Override - public Rectangle getLeftBounds(ScreenWithHandler<?> screen) { - return new Rectangle(2, 0, ScreenHelper.getLastScreenWithHandlerHooks().rei_getContainerLeft() - 4, MinecraftClient.getInstance().getWindow().getScaledHeight()); + public Rectangle getLeftBounds(HandledScreen<?> screen) { + return new Rectangle(2, 0, ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerLeft() - 4, MinecraftClient.getInstance().getWindow().getScaledHeight()); } @Override - public Rectangle getRightBounds(ScreenWithHandler<?> screen) { - int startX = ScreenHelper.getLastScreenWithHandlerHooks().rei_getContainerLeft() + ScreenHelper.getLastScreenWithHandlerHooks().rei_getContainerWidth() + 2; + public Rectangle getRightBounds(HandledScreen<?> screen) { + int startX = ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerLeft() + ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerWidth() + 2; return new Rectangle(startX, 0, MinecraftClient.getInstance().getWindow().getScaledWidth() - startX - 2, MinecraftClient.getInstance().getWindow().getScaledHeight()); } @@ -396,7 +398,7 @@ public class DefaultPlugin implements REIPluginV0 { recipeHelper.removeAutoCraftButton(COMPOSTING); recipeHelper.removeAutoCraftButton(BEACON); recipeHelper.removeAutoCraftButton(INFO); - recipeHelper.registerScreenClickArea(new Rectangle(88, 32, 28, 23), CraftingTableScreen.class, CRAFTING); + recipeHelper.registerScreenClickArea(new Rectangle(88, 32, 28, 23), CraftingScreen.class, CRAFTING); recipeHelper.registerScreenClickArea(new Rectangle(137, 29, 10, 13), InventoryScreen.class, CRAFTING); recipeHelper.registerScreenClickArea(new Rectangle(97, 16, 14, 30), BrewingStandScreen.class, BREWING); recipeHelper.registerScreenClickArea(new Rectangle(78, 32, 28, 23), FurnaceScreen.class, SMELTING); diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java index 295f33924..216edeb9a 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java @@ -41,12 +41,12 @@ import java.util.function.Supplier; public class DefaultPotionEffectExclusionZones implements Supplier<List<Rectangle>> { @Override public List<Rectangle> get() { - if (!(ScreenHelper.getLastScreenWithHandler() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreenHooks) ScreenHelper.getLastScreenWithHandler()).rei_doesOffsetGuiForEffects()) + if (!(ScreenHelper.getLastHandledScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreenHooks) ScreenHelper.getLastHandledScreen()).rei_doesOffsetGuiForEffects()) return Collections.emptyList(); Collection<StatusEffectInstance> activePotionEffects = MinecraftClient.getInstance().player.getStatusEffects(); if (activePotionEffects.isEmpty()) return Collections.emptyList(); - ContainerScreenHooks hooks = ScreenHelper.getLastScreenWithHandlerHooks(); + ContainerScreenHooks hooks = ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()); List<Rectangle> list = new ArrayList<>(); int x = hooks.rei_getContainerLeft() - 124; int y = hooks.rei_getContainerTop(); diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java index 51510f38e..acc533ba6 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java @@ -30,7 +30,7 @@ import me.shedaniel.rei.listeners.ContainerScreenHooks; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; import net.minecraft.client.recipebook.ClientRecipeBook; -import net.minecraft.screen.CraftingScreenHandler; +import net.minecraft.screen.AbstractRecipeScreenHandler; import java.util.Collections; import java.util.List; @@ -40,11 +40,11 @@ public class DefaultRecipeBookExclusionZones implements Supplier<List<Rectangle> @Override public List<Rectangle> get() { - if (!MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(ScreenHelper.getLastScreenWithHandler().getScreenHandler() instanceof CraftingScreenHandler)) + if (!MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(ScreenHelper.getLastHandledScreen().getScreenHandler() instanceof AbstractRecipeScreenHandler)) return Collections.emptyList(); - ContainerScreenHooks screenHooks = ScreenHelper.getLastScreenWithHandlerHooks(); + ContainerScreenHooks screenHooks = ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()); List<Rectangle> l = Lists.newArrayList(new Rectangle(screenHooks.rei_getContainerLeft() - 4 - 145, screenHooks.rei_getContainerTop(), 4 + 145 + 30, screenHooks.rei_getContainerHeight())); - int size = ClientRecipeBook.getGroups((CraftingScreenHandler<?>) ScreenHelper.getLastScreenWithHandler().getScreenHandler()).size(); + int size = ClientRecipeBook.getGroups((AbstractRecipeScreenHandler<?>) ScreenHelper.getLastHandledScreen().getScreenHandler()).size(); if (size > 0) l.add(new Rectangle(screenHooks.rei_getContainerLeft() - 4 - 145 - 30, screenHooks.rei_getContainerTop(), 30, size * 27)); return l; diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java b/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java index c3abc29c5..1573669c3 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java @@ -31,7 +31,7 @@ import net.minecraft.util.Identifier; public class DefaultServerContainerPlugin implements Runnable { @Override public void run() { - ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(CraftingTableScreenHandler.class)); + ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(CraftingScreenHandler.class)); ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(PlayerScreenHandler.class)); ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/smelting"), CraftingContainerInfoWrapper.create(FurnaceScreenHandler.class)); ContainerInfoHandler.registerScreenWithHandlerInfo(new Identifier("minecraft", "plugins/smoking"), CraftingContainerInfoWrapper.create(SmokerScreenHandler.class)); diff --git a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java index 5b492e5fc..59b4da5c3 100644 --- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java +++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java @@ -36,7 +36,7 @@ import me.shedaniel.rei.server.ContainerInfoHandler; import net.fabricmc.fabric.api.network.ClientSidePacketRegistry; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.ScreenWithHandler; +import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; import net.minecraft.client.resource.language.I18n; import net.minecraft.item.ItemStack; @@ -57,7 +57,7 @@ public class DefaultCategoryHandler implements AutoTransferHandler { if (!(context.getRecipe() instanceof TransferRecipeDisplay)) return Result.createNotApplicable(); TransferRecipeDisplay recipe = (TransferRecipeDisplay) context.getRecipe(); - ScreenWithHandler<?> screenWithHandler = context.getScreenWithHandler(); + HandledScreen<?> screenWithHandler = context.getHandledScreen(); ScreenHandler screenHandler = context.getScreenHandler(); ContainerInfo<ScreenHandler> containerInfo = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(recipe.getRecipeCategory(), screenHandler.getClass()); if (containerInfo == null) diff --git a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java index b16e41e2c..ea11d7795 100644 --- a/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java +++ b/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java @@ -34,8 +34,8 @@ import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; import net.minecraft.client.resource.language.I18n; import net.minecraft.recipe.Recipe; +import net.minecraft.screen.AbstractRecipeScreenHandler; import net.minecraft.screen.CraftingScreenHandler; -import net.minecraft.screen.CraftingTableScreenHandler; import net.minecraft.screen.PlayerScreenHandler; public class DefaultRecipeBookHandler implements AutoTransferHandler { @@ -44,14 +44,14 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler { if (context.getRecipe() instanceof TransferRecipeDisplay && DefaultCategoryHandler.canUseMovePackets()) return Result.createNotApplicable(); RecipeDisplay display = context.getRecipe(); - if (!(context.getScreenHandler() instanceof CraftingScreenHandler)) + if (!(context.getScreenHandler() instanceof AbstractRecipeScreenHandler)) return Result.createNotApplicable(); - CraftingScreenHandler<?> container = (CraftingScreenHandler<?>) context.getScreenHandler(); + AbstractRecipeScreenHandler<?> container = (AbstractRecipeScreenHandler<?>) context.getScreenHandler(); if (display instanceof DefaultCraftingDisplay) { DefaultCraftingDisplay craftingDisplay = (DefaultCraftingDisplay) display; if (craftingDisplay.getOptionalRecipe().isPresent()) { int h = -1, w = -1; - if (container instanceof CraftingTableScreenHandler) { + if (container instanceof CraftingScreenHandler) { h = 3; w = 3; } else if (container instanceof PlayerScreenHandler) { @@ -67,9 +67,9 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler { return Result.createFailed(I18n.translate("error.rei.recipe.not.unlocked")); if (!context.isActuallyCrafting()) return Result.createSuccessful(); - context.getMinecraft().openScreen(context.getScreenWithHandler()); - if (context.getScreenWithHandler() instanceof RecipeBookProvider) - ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getScreenWithHandler()).getRecipeBookWidget()).rei_getGhostSlots().reset(); + context.getMinecraft().openScreen(context.getHandledScreen()); + if (context.getHandledScreen() instanceof RecipeBookProvider) + ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getHandledScreen()).getRecipeBookWidget()).rei_getGhostSlots().reset(); context.getMinecraft().interactionManager.clickRecipe(container.syncId, recipe, Screen.hasShiftDown()); ScreenHelper.getLastOverlay().init(); } @@ -81,9 +81,9 @@ public class DefaultRecipeBookHandler implements AutoTransferHandler { return Result.createFailed(I18n.translate("error.rei.recipe.not.unlocked")); if (!context.isActuallyCrafting()) return Result.createSuccessful(); - context.getMinecraft().openScreen(context.getScreenWithHandler()); - if (context.getScreenWithHandler() instanceof RecipeBookProvider) - ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getScreenWithHandler()).getRecipeBookWidget()).rei_getGhostSlots().reset(); + context.getMinecraft().openScreen(context.getHandledScreen()); + if (context.getHandledScreen() instanceof RecipeBookProvider) + ((RecipeBookGuiHooks) ((RecipeBookProvider) context.getHandledScreen()).getRecipeBookWidget()).rei_getGhostSlots().reset(); context.getMinecraft().interactionManager.clickRecipe(container.syncId, recipe, Screen.hasShiftDown()); ScreenHelper.getLastOverlay().init(); } diff --git a/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java b/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java index a64720862..2b30fc79e 100644 --- a/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java @@ -33,10 +33,9 @@ import me.shedaniel.math.Rectangle; import me.shedaniel.math.impl.PointHelper; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeCategory; +import me.shedaniel.rei.api.widgets.Slot; import me.shedaniel.rei.api.widgets.Widgets; import me.shedaniel.rei.gui.entries.RecipeEntry; -import me.shedaniel.rei.gui.widget.EntryWidget; -import me.shedaniel.rei.gui.widget.QueuedTooltip; import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.gui.widget.WidgetWithBounds; import me.shedaniel.rei.plugin.DefaultPlugin; @@ -50,7 +49,6 @@ import net.minecraft.client.render.VertexFormats; import net.minecraft.client.resource.language.I18n; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; -import org.jetbrains.annotations.Nullable; import java.util.List; @@ -79,12 +77,6 @@ public class DefaultBeaconBaseCategory implements RecipeCategory<DefaultBeaconBa return 10 + MinecraftClient.getInstance().textRenderer.fontHeight; } - @Nullable - @Override - public QueuedTooltip getTooltip(int mouseX, int mouseY) { - return null; - } - @Override public void render(me.shedaniel.math.api.Rectangle rectangle, int mouseX, int mouseY, float delta) { MinecraftClient.getInstance().textRenderer.draw(name, rectangle.x + 5, rectangle.y + 6, -1); @@ -98,7 +90,7 @@ public class DefaultBeaconBaseCategory implements RecipeCategory<DefaultBeaconBa widgets.add(Widgets.createSlot(new Point(bounds.getCenterX() - 8, bounds.y + 3)).entry(getLogo())); Rectangle rectangle = new Rectangle(bounds.getCenterX() - (bounds.width / 2) - 1, bounds.y + 23, bounds.width + 2, bounds.height - 28); widgets.add(Widgets.createSlotBase(rectangle)); - widgets.add(new ScrollableSlotsWidget(rectangle, CollectionUtils.map(display.getEntries(), t -> EntryWidget.create(0, 0).noBackground().entry(t)))); + widgets.add(new ScrollableSlotsWidget(rectangle, CollectionUtils.map(display.getEntries(), t -> Widgets.createSlot(new Point(0, 0)).disableBackground().entry(t)))); return widgets; } @@ -114,13 +106,13 @@ public class DefaultBeaconBaseCategory implements RecipeCategory<DefaultBeaconBa private static class ScrollableSlotsWidget extends WidgetWithBounds { private me.shedaniel.math.api.Rectangle bounds; - private List<EntryWidget> widgets; + private List<Slot> widgets; private double target; private double scroll; private long start; private long duration; - public ScrollableSlotsWidget(Rectangle bounds, List<EntryWidget> widgets) { + public ScrollableSlotsWidget(Rectangle bounds, List<Slot> widgets) { this.bounds = new me.shedaniel.math.api.Rectangle(bounds); this.widgets = Lists.newArrayList(widgets); } @@ -183,7 +175,7 @@ public class DefaultBeaconBaseCategory implements RecipeCategory<DefaultBeaconBa int index = y * 8 + x; if (widgets.size() <= index) break; - EntryWidget widget = widgets.get(index); + Slot widget = widgets.get(index); widget.getBounds().setLocation(bounds.x + 1 + x * 18, (int) (bounds.y + 1 + y * 18 - scroll)); widget.render(mouseX, mouseY, delta); } diff --git a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java index a7a91a399..094a63542 100644 --- a/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java @@ -31,7 +31,6 @@ import me.shedaniel.rei.api.REIHelper; import me.shedaniel.rei.api.RecipeCategory; import me.shedaniel.rei.api.widgets.Widgets; import me.shedaniel.rei.gui.entries.RecipeEntry; -import me.shedaniel.rei.gui.widget.QueuedTooltip; import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.plugin.DefaultPlugin; import net.minecraft.block.Blocks; @@ -40,7 +39,6 @@ import net.minecraft.client.resource.language.I18n; import net.minecraft.item.ItemConvertible; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; -import org.jetbrains.annotations.Nullable; import java.util.Collections; import java.util.LinkedList; @@ -72,12 +70,6 @@ public class DefaultCompostingCategory implements RecipeCategory<DefaultComposti return 10 + MinecraftClient.getInstance().textRenderer.fontHeight; } - @Nullable - @Override - public QueuedTooltip getTooltip(int mouseX, int mouseY) { - return null; - } - @Override public void render(me.shedaniel.math.api.Rectangle rectangle, int mouseX, int mouseY, float delta) { MinecraftClient.getInstance().textRenderer.draw(I18n.translate("text.rei.composting.page", recipe.getPage() + 1), rectangle.x + 5, rectangle.y + 6, -1); diff --git a/src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java b/src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java index 58785a5df..60dc3abb1 100644 --- a/src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java +++ b/src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java @@ -26,17 +26,17 @@ package me.shedaniel.rei.plugin.containers; import me.shedaniel.rei.server.ContainerInfo; import me.shedaniel.rei.server.RecipeFinder; import net.minecraft.item.ItemStack; -import net.minecraft.screen.CraftingScreenHandler; +import net.minecraft.screen.AbstractRecipeScreenHandler; import net.minecraft.screen.ScreenHandler; -public class CraftingContainerInfoWrapper<T extends CraftingScreenHandler<?>> implements ContainerInfo<T> { - private Class<? extends CraftingScreenHandler<?>> containerClass; +public class CraftingContainerInfoWrapper<T extends AbstractRecipeScreenHandler<?>> implements ContainerInfo<T> { + private Class<? extends AbstractRecipeScreenHandler<?>> containerClass; public CraftingContainerInfoWrapper(Class<T> containerClass) { this.containerClass = containerClass; } - public static <R extends CraftingScreenHandler<?>> ContainerInfo<R> create(Class<R> containerClass) { + public static <R extends AbstractRecipeScreenHandler<?>> ContainerInfo<R> create(Class<R> containerClass) { return new CraftingContainerInfoWrapper<>(containerClass); } diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java index 675deecec..a3661c9cc 100644 --- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java @@ -95,12 +95,12 @@ public class DefaultCraftingCategory implements TransferRecipeCategory<DefaultCr @Override public void renderRedSlots(List<Widget> widgets, me.shedaniel.math.api.Rectangle bounds, DefaultCraftingDisplay display, IntList redSlots) { - ContainerInfo<ScreenHandler> info = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(getIdentifier(), ScreenHelper.getLastScreenWithHandler().getScreenHandler().getClass()); + ContainerInfo<ScreenHandler> info = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(getIdentifier(), ScreenHelper.getLastHandledScreen().getScreenHandler().getClass()); if (info == null) return; RenderSystem.translatef(0, 0, 400); Point startPoint = new Point(bounds.getCenterX() - 58, bounds.getCenterY() - 27); - int width = info.getCraftingWidth(ScreenHelper.getLastScreenWithHandler().getScreenHandler()); + int width = info.getCraftingWidth(ScreenHelper.getLastHandledScreen().getScreenHandler()); for (Integer slot : redSlots) { int i = slot; int x = i % width; diff --git a/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java b/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java index f0e6f9666..d29867cd1 100644 --- a/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java @@ -28,9 +28,9 @@ import me.shedaniel.math.Point; import me.shedaniel.rei.api.EntryStack; import me.shedaniel.rei.api.RecipeCategory; import me.shedaniel.rei.api.widgets.Slot; +import me.shedaniel.rei.api.widgets.Tooltip; import me.shedaniel.rei.api.widgets.Widgets; import me.shedaniel.rei.gui.entries.RecipeEntry; -import me.shedaniel.rei.gui.widget.QueuedTooltip; import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.plugin.DefaultPlugin; import net.minecraft.client.MinecraftClient; @@ -91,9 +91,9 @@ public class DefaultFuelCategory implements RecipeCategory<DefaultFuelDisplay> { @Nullable @Override - public QueuedTooltip getTooltip(int mouseX, int mouseY) { - if (slot.containsMouse(mouseX, mouseY)) - return slot.getCurrentTooltip(mouseX, mouseY); + public Tooltip getTooltip(Point point) { + if (slot.containsMouse(point)) + return slot.getCurrentTooltip(point); return null; } diff --git a/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java b/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java index 7240e8dbe..8d8cf036a 100644 --- a/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java @@ -36,7 +36,6 @@ import me.shedaniel.rei.api.REIHelper; import me.shedaniel.rei.api.RecipeCategory; import me.shedaniel.rei.api.widgets.Widgets; import me.shedaniel.rei.gui.entries.RecipeEntry; -import me.shedaniel.rei.gui.widget.QueuedTooltip; import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.gui.widget.WidgetWithBounds; import me.shedaniel.rei.impl.RenderingEntry; @@ -53,7 +52,6 @@ import net.minecraft.client.util.math.Matrix4f; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; -import org.jetbrains.annotations.Nullable; import java.util.Collections; import java.util.List; @@ -90,12 +88,6 @@ public class DefaultInformationCategory implements RecipeCategory<DefaultInforma return 10 + MinecraftClient.getInstance().textRenderer.fontHeight; } - @Nullable - @Override - public QueuedTooltip getTooltip(int mouseX, int mouseY) { - return null; - } - @Override public void render(me.shedaniel.math.api.Rectangle rectangle, int mouseX, int mouseY, float delta) { MinecraftClient.getInstance().textRenderer.draw(name.asFormattedString(), rectangle.x + 5, rectangle.y + 6, -1); |
