aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-05-27 18:59:12 +0800
committershedaniel <daniel@shedaniel.me>2022-05-27 18:59:12 +0800
commit95195247b173215c6bb48654ac97f78b1dd28cd3 (patch)
tree3b5d598b332ea6bf29f8d58261ab296be2ef3a2a
parent0557246d6a3fa48133272c7fcb532ffd41181437 (diff)
downloadRoughlyEnoughItems-95195247b173215c6bb48654ac97f78b1dd28cd3.tar.gz
RoughlyEnoughItems-95195247b173215c6bb48654ac97f78b1dd28cd3.tar.bz2
RoughlyEnoughItems-95195247b173215c6bb48654ac97f78b1dd28cd3.zip
Refactor Point -> TooltipContext
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java12
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/ForwardingEntryRenderer.java7
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/DisplayRenderer.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/Renderer.java9
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java15
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Slot.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/screen/ScreenRegistry.java8
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java12
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultFuelCategory.java11
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java9
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java9
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/registry/screen/ScreenRegistryImpl.java10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/types/EmptyEntryDefinition.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java5
19 files changed, 51 insertions, 99 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java
index c51309603..aa2ce6db8 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/EntryRenderer.java
@@ -24,7 +24,6 @@
package me.shedaniel.rei.api.client.entry.renderer;
import com.mojang.blaze3d.vertex.PoseStack;
-import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
@@ -54,16 +53,7 @@ public interface EntryRenderer<T> extends EntryRendererProvider<T> {
@Nullable
@Environment(EnvType.CLIENT)
- @Deprecated(forRemoval = true, since = "8.3")
- default Tooltip getTooltip(EntryStack<T> entry, Point mouse) {
- return null;
- }
-
- @Nullable
- @Environment(EnvType.CLIENT)
- default Tooltip getTooltip(EntryStack<T> entry, TooltipContext context) {
- return getTooltip(entry, context.getPoint());
- }
+ Tooltip getTooltip(EntryStack<T> entry, TooltipContext context);
@ApiStatus.NonExtendable
default <O> EntryRenderer<O> cast() {
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/ForwardingEntryRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/ForwardingEntryRenderer.java
index 229020ad4..999a50d4b 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/ForwardingEntryRenderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/renderer/ForwardingEntryRenderer.java
@@ -24,7 +24,6 @@
package me.shedaniel.rei.api.client.entry.renderer;
import com.mojang.blaze3d.vertex.PoseStack;
-import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
@@ -45,12 +44,6 @@ public abstract class ForwardingEntryRenderer<T> implements EntryRenderer<T> {
@Override
@Nullable
- public Tooltip getTooltip(EntryStack<T> entry, Point mouse) {
- return this.next.getTooltip(entry, TooltipContext.of(mouse));
- }
-
- @Override
- @Nullable
public Tooltip getTooltip(EntryStack<T> entry, TooltipContext context) {
return this.next.getTooltip(entry, context);
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/DisplayRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/DisplayRenderer.java
index 9540c1ef6..98967729a 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/gui/DisplayRenderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/DisplayRenderer.java
@@ -23,7 +23,6 @@
package me.shedaniel.rei.api.client.gui;
-import me.shedaniel.math.Point;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import net.fabricmc.api.EnvType;
@@ -42,7 +41,7 @@ public abstract class DisplayRenderer extends AbstractRenderer {
@Override
@Nullable
- public Tooltip getTooltip(Point mouse) {
+ public Tooltip getTooltip(TooltipContext mouse) {
return null;
}
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/Renderer.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/Renderer.java
index c0a40c0ec..317fed296 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/gui/Renderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/Renderer.java
@@ -41,15 +41,8 @@ public interface Renderer {
@Nullable
@Environment(EnvType.CLIENT)
- @Deprecated(forRemoval = true)
- default Tooltip getTooltip(Point mouse) {
- return null;
- }
-
- @Nullable
- @Environment(EnvType.CLIENT)
default Tooltip getTooltip(TooltipContext context) {
- return getTooltip(context.getPoint());
+ return null;
}
@Environment(EnvType.CLIENT)
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java
index b0ce0e735..872c66636 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/SimpleDisplayRenderer.java
@@ -30,10 +30,7 @@ import it.unimi.dsi.fastutil.longs.LongOpenHashSet;
import it.unimi.dsi.fastutil.longs.LongSet;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
-import me.shedaniel.rei.api.client.gui.widgets.Slot;
-import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
-import me.shedaniel.rei.api.client.gui.widgets.WidgetHolder;
-import me.shedaniel.rei.api.client.gui.widgets.Widgets;
+import me.shedaniel.rei.api.client.gui.widgets.*;
import me.shedaniel.rei.api.common.entry.EntryIngredient;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.util.CollectionUtils;
@@ -133,14 +130,14 @@ public class SimpleDisplayRenderer extends DisplayRenderer implements WidgetHold
@Nullable
@Override
- public Tooltip getTooltip(Point point) {
+ public Tooltip getTooltip(TooltipContext context) {
for (Slot widget : inputWidgets) {
- if (widget.containsMouse(point))
- return widget.getCurrentTooltip(point);
+ if (widget.containsMouse(context.getPoint()))
+ return widget.getCurrentTooltip(context);
}
for (Slot widget : outputWidgets) {
- if (widget.containsMouse(point))
- return widget.getCurrentTooltip(point);
+ if (widget.containsMouse(context.getPoint()))
+ return widget.getCurrentTooltip(context);
}
return null;
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Slot.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Slot.java
index f0b2842e6..cee90d97c 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Slot.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Slot.java
@@ -23,7 +23,6 @@
package me.shedaniel.rei.api.client.gui.widgets;
-import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.common.entry.EntryStack;
import org.jetbrains.annotations.Nullable;
@@ -141,7 +140,7 @@ public abstract class Slot extends WidgetWithBounds {
public abstract Rectangle getInnerBounds();
@Nullable
- public Tooltip getCurrentTooltip(Point point) {
+ public Tooltip getCurrentTooltip(TooltipContext context) {
return null;
}
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/ScreenRegistry.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/ScreenRegistry.java
index e6423d4e3..92da6b563 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/ScreenRegistry.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/screen/ScreenRegistry.java
@@ -137,14 +137,6 @@ public interface ScreenRegistry extends Reloadable<REIClientPlugin> {
registerDraggableComponentProvider(DraggableComponentProviderWidget.toProvider(provider, priority));
}
- @ApiStatus.ScheduledForRemoval
- @Deprecated(forRemoval = true)
- Iterable<DraggableStackProvider<Screen>> getDraggableProviders();
-
- @ApiStatus.ScheduledForRemoval
- @Deprecated(forRemoval = true)
- Iterable<DraggableStackVisitor<Screen>> getDraggableVisitors();
-
Iterable<DraggableComponentProvider<Screen, Object>> getDraggableComponentProviders();
Iterable<DraggableComponentVisitor<Screen>> getDraggableComponentVisitors();
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java
index 1067ff6d3..bb0dc58c4 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java
@@ -98,22 +98,10 @@ public interface EntryStack<T> extends TextRepresentable, Renderer {
@Nullable
@Environment(EnvType.CLIENT)
- default Tooltip getTooltip(Point mouse, boolean appendModName) {
- return getTooltip(TooltipContext.of(mouse), appendModName);
- }
-
- @Nullable
- @Environment(EnvType.CLIENT)
Tooltip getTooltip(TooltipContext context, boolean appendModName);
@Override
@Nullable
- default Tooltip getTooltip(Point mouse) {
- return getTooltip(mouse, ConfigObject.getInstance().shouldAppendModNames());
- }
-
- @Override
- @Nullable
default Tooltip getTooltip(TooltipContext context) {
return getTooltip(context, ConfigObject.getInstance().shouldAppendModNames());
}
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultFuelCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultFuelCategory.java
index 21355338b..9ed1f944e 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultFuelCategory.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/DefaultFuelCategory.java
@@ -29,10 +29,7 @@ import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.gui.DisplayRenderer;
import me.shedaniel.rei.api.client.gui.Renderer;
-import me.shedaniel.rei.api.client.gui.widgets.Slot;
-import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
-import me.shedaniel.rei.api.client.gui.widgets.Widget;
-import me.shedaniel.rei.api.client.gui.widgets.Widgets;
+import me.shedaniel.rei.api.client.gui.widgets.*;
import me.shedaniel.rei.api.client.registry.display.DisplayCategory;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.util.EntryStacks;
@@ -99,9 +96,9 @@ public class DefaultFuelCategory implements DisplayCategory<DefaultFuelDisplay>
@Nullable
@Override
- public Tooltip getTooltip(Point point) {
- if (slot.containsMouse(point))
- return slot.getCurrentTooltip(point);
+ public Tooltip getTooltip(TooltipContext context) {
+ if (slot.containsMouse(context.getPoint()))
+ return slot.getCurrentTooltip(context);
return null;
}
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java
index b3cc253b2..ed3614f1d 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/GameModeFavoriteEntry.java
@@ -37,6 +37,7 @@ import me.shedaniel.rei.api.client.favorites.FavoriteMenuEntry;
import me.shedaniel.rei.api.client.gui.AbstractRenderer;
import me.shedaniel.rei.api.client.gui.Renderer;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import me.shedaniel.rei.api.common.util.CollectionUtils;
import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
@@ -78,8 +79,8 @@ public class GameModeFavoriteEntry extends FavoriteEntry {
return new CompoundFavoriteRenderer(showcase, renderers, () -> Minecraft.getInstance().gameMode.getPlayerMode().getId()) {
@Override
@Nullable
- public Tooltip getTooltip(Point mouse) {
- return Tooltip.create(mouse, Component.translatable("text.rei.gamemode_button.tooltip.dropdown"));
+ public Tooltip getTooltip(TooltipContext context) {
+ return Tooltip.create(context.getPoint(), Component.translatable("text.rei.gamemode_button.tooltip.dropdown"));
}
@Override
@@ -121,8 +122,8 @@ public class GameModeFavoriteEntry extends FavoriteEntry {
@Override
@Nullable
- public Tooltip getTooltip(Point mouse) {
- return Tooltip.create(mouse, Component.translatable("text.rei.gamemode_button.tooltip.entry", type.getLongDisplayName().getString()));
+ public Tooltip getTooltip(TooltipContext context) {
+ return Tooltip.create(context.getPoint(), Component.translatable("text.rei.gamemode_button.tooltip.entry", type.getLongDisplayName().getString()));
}
@Override
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java
index f8cabd35f..d03e88797 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/TimeFavoriteEntry.java
@@ -38,6 +38,7 @@ import me.shedaniel.rei.api.client.favorites.FavoriteMenuEntry;
import me.shedaniel.rei.api.client.gui.AbstractRenderer;
import me.shedaniel.rei.api.client.gui.Renderer;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import me.shedaniel.rei.api.common.util.CollectionUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.components.events.GuiEventListener;
@@ -97,8 +98,8 @@ public class TimeFavoriteEntry extends FavoriteEntry {
return new CompoundFavoriteRenderer(showcase, renderers, () -> nextTime().ordinal()) {
@Override
@Nullable
- public Tooltip getTooltip(Point mouse) {
- return Tooltip.create(mouse, Component.translatable("text.rei.time_button.tooltip.dropdown"));
+ public Tooltip getTooltip(TooltipContext context) {
+ return Tooltip.create(context.getPoint(), Component.translatable("text.rei.time_button.tooltip.dropdown"));
}
@Override
@@ -155,8 +156,8 @@ public class TimeFavoriteEntry extends FavoriteEntry {
@Override
@Nullable
- public Tooltip getTooltip(Point mouse) {
- return Tooltip.create(mouse, Component.translatable("text.rei.time_button.tooltip.entry", Component.translatable("text.rei.time_button.name." + time.name().toLowerCase(Locale.ROOT))));
+ public Tooltip getTooltip(TooltipContext context) {
+ return Tooltip.create(context.getPoint(), Component.translatable("text.rei.time_button.tooltip.entry", Component.translatable("text.rei.time_button.name." + time.name().toLowerCase(Locale.ROOT))));
}
@Override
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java
index fd46efba7..fceb2a973 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/favorites/WeatherFavoriteEntry.java
@@ -38,6 +38,7 @@ import me.shedaniel.rei.api.client.favorites.FavoriteMenuEntry;
import me.shedaniel.rei.api.client.gui.AbstractRenderer;
import me.shedaniel.rei.api.client.gui.Renderer;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import me.shedaniel.rei.api.common.util.CollectionUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.components.events.GuiEventListener;
@@ -80,8 +81,8 @@ public class WeatherFavoriteEntry extends FavoriteEntry {
return new CompoundFavoriteRenderer(showcase, renderers, () -> getCurrentWeather().getId()) {
@Override
@Nullable
- public Tooltip getTooltip(Point mouse) {
- return Tooltip.create(mouse, Component.translatable("text.rei.weather_button.tooltip.dropdown"));
+ public Tooltip getTooltip(TooltipContext context) {
+ return Tooltip.create(context.getPoint(), Component.translatable("text.rei.weather_button.tooltip.dropdown"));
}
@Override
@@ -131,8 +132,8 @@ public class WeatherFavoriteEntry extends FavoriteEntry {
@Override
@Nullable
- public Tooltip getTooltip(Point mouse) {
- return Tooltip.create(mouse, Component.translatable("text.rei.weather_button.tooltip.entry", Component.translatable(weather.getTranslateKey())));
+ public Tooltip getTooltip(TooltipContext context) {
+ return Tooltip.create(context.getPoint(), Component.translatable("text.rei.weather_button.tooltip.entry", Component.translatable(weather.getTranslateKey())));
}
@Override
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java
index eed4c08a0..0e37743d4 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java
@@ -36,6 +36,7 @@ import me.shedaniel.math.Rectangle;
import me.shedaniel.math.impl.PointHelper;
import me.shedaniel.rei.api.client.REIRuntime;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import me.shedaniel.rei.api.client.registry.entry.EntryRegistry;
import me.shedaniel.rei.api.client.search.SearchFilter;
import me.shedaniel.rei.api.client.search.SearchProvider;
@@ -503,7 +504,7 @@ public class FilteringScreen extends Screen {
protected void queueTooltip(PoseStack matrices, int mouseX, int mouseY, float delta) {
if (searchField.containsMouse(mouseX, mouseY))
return;
- Tooltip tooltip = getCurrentTooltip(new Point(mouseX, mouseY));
+ Tooltip tooltip = getCurrentTooltip(TooltipContext.of(new Point(mouseX, mouseY)));
if (tooltip != null) {
FilteringScreen.this.tooltip = tooltip;
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java
index 919a2c1c6..20b0c9a5b 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/entry/type/types/RenderingEntryDefinition.java
@@ -74,7 +74,7 @@ public class RenderingEntryDefinition {
@Override
@Nullable
public Tooltip getTooltip(EntryStack<Renderer> entry, TooltipContext context) {
- return entry.getValue().getTooltip(context.getPoint());
+ return entry.getValue().getTooltip(context);
}
}
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java
index a62e63373..5122cc9c2 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java
@@ -44,6 +44,7 @@ import me.shedaniel.rei.api.client.gui.drag.DraggingContext;
import me.shedaniel.rei.api.client.gui.screen.DisplayScreen;
import me.shedaniel.rei.api.client.gui.widgets.Slot;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import me.shedaniel.rei.api.client.overlay.ScreenOverlay;
import me.shedaniel.rei.api.client.registry.display.DisplayRegistry;
import me.shedaniel.rei.api.client.registry.transfer.TransferHandler;
@@ -392,7 +393,7 @@ public class EntryWidget extends Slot implements DraggableStackProviderWidget {
}
protected void queueTooltip(PoseStack matrices, int mouseX, int mouseY, float delta) {
- Tooltip tooltip = getCurrentTooltip(new Point(mouseX, mouseY));
+ Tooltip tooltip = getCurrentTooltip(TooltipContext.of(new Point(mouseX, mouseY)));
if (tooltip != null) {
if (interactableFavorites && ConfigObject.getInstance().doDisplayFavoritesTooltip() && !ConfigObject.getInstance().getFavoriteKeyCode().isUnknown()) {
String name = ConfigObject.getInstance().getFavoriteKeyCode().getLocalizedName().getString();
@@ -414,8 +415,8 @@ public class EntryWidget extends Slot implements DraggableStackProviderWidget {
@Override
@Nullable
- public Tooltip getCurrentTooltip(Point point) {
- Tooltip tooltip = getCurrentEntry().getTooltip(point);
+ public Tooltip getCurrentTooltip(TooltipContext context) {
+ Tooltip tooltip = getCurrentEntry().getTooltip(context);
if (tooltip != null && !ClientHelper.getInstance().isCheating() && getTransferHandler() != null
&& !(Minecraft.getInstance().screen instanceof DisplayScreen)) {
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java
index 8df9f1b10..8ea3effd8 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java
@@ -33,6 +33,7 @@ import me.shedaniel.rei.api.client.config.ConfigObject;
import me.shedaniel.rei.api.client.favorites.FavoriteEntry;
import me.shedaniel.rei.api.client.gui.drag.DraggableStack;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import me.shedaniel.rei.api.client.util.ClientEntryStacks;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.util.CollectionUtils;
@@ -167,10 +168,10 @@ public class FavoritesPanelEntriesRow extends FavoritesPanelRow {
@Override
@Nullable
- public Tooltip getCurrentTooltip(Point point) {
- point = PointHelper.ofMouse();
- if (!panel.getInnerBounds().contains(point)) return null;
- Tooltip tooltip = super.getCurrentTooltip(point);
+ public Tooltip getCurrentTooltip(TooltipContext context) {
+ context = TooltipContext.ofMouse();
+ if (!panel.getInnerBounds().contains(context.getPoint())) return null;
+ Tooltip tooltip = super.getCurrentTooltip(context);
if (tooltip != null) {
tooltip.add(Component.empty());
tooltip.add(Component.translatable("tooltip.rei.drag_to_add_favorites"));
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/registry/screen/ScreenRegistryImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/registry/screen/ScreenRegistryImpl.java
index ba13253de..a7137a7b2 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/registry/screen/ScreenRegistryImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/registry/screen/ScreenRegistryImpl.java
@@ -194,16 +194,6 @@ public class ScreenRegistryImpl implements ScreenRegistry {
}
@Override
- public Iterable<DraggableStackProvider<Screen>> getDraggableProviders() {
- return Iterables.filter(Collections.unmodifiableList(draggableProviders), (Class<DraggableStackProvider<Screen>>) (Class<?>) DraggableStackVisitor.class);
- }
-
- @Override
- public Iterable<DraggableStackVisitor<Screen>> getDraggableVisitors() {
- return Iterables.filter(Collections.unmodifiableList(draggableVisitors), (Class<DraggableStackVisitor<Screen>>) (Class<?>) DraggableStackVisitor.class);
- }
-
- @Override
public Iterable<DraggableComponentProvider<Screen, Object>> getDraggableComponentProviders() {
return Collections.unmodifiableList(draggableProviders);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/types/EmptyEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/types/EmptyEntryDefinition.java
index b4456c634..05dc9acba 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/types/EmptyEntryDefinition.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/types/EmptyEntryDefinition.java
@@ -28,6 +28,7 @@ import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.entry.renderer.EntryRenderer;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.entry.type.BuiltinEntryTypes;
import me.shedaniel.rei.api.common.entry.type.EntryDefinition;
@@ -47,5 +48,11 @@ public class EmptyEntryDefinition {
public void render(EntryStack<Unit> entry, PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) {
}
+
+ @Override
+ @Nullable
+ public Tooltip getTooltip(EntryStack<Unit> entry, TooltipContext context) {
+ return null;
+ }
}
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
index 66e150d1e..5e30527cf 100644
--- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
+++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java
@@ -43,6 +43,7 @@ import me.shedaniel.rei.api.client.gui.drag.component.DraggableComponentVisitorW
import me.shedaniel.rei.api.client.gui.screen.DisplayScreen;
import me.shedaniel.rei.api.client.gui.widgets.Panel;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
+import me.shedaniel.rei.api.client.gui.widgets.TooltipContext;
import me.shedaniel.rei.api.client.gui.widgets.Widgets;
import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
import me.shedaniel.rei.api.client.registry.display.DisplayRegistry;
@@ -108,8 +109,8 @@ public class DefaultClientRuntimePlugin implements REIClientPlugin {
@Override
@Nullable
- public Tooltip getTooltip(Point point) {
- return Tooltip.create(Component.literal("Kirby"), ClientHelper.getInstance().getFormattedModFromModId("Dream Land"));
+ public Tooltip getTooltip(TooltipContext context) {
+ return Tooltip.create(context.getPoint(), Component.literal("Kirby"), ClientHelper.getInstance().getFormattedModFromModId("Dream Land"));
}
}));
}