aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/plugin')
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java26
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java8
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java2
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java20
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/beacon/DefaultBeaconBaseCategory.java18
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java8
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/containers/CraftingContainerInfoWrapper.java8
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java4
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java8
-rw-r--r--src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java8
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);