aboutsummaryrefslogtreecommitdiff
path: root/fabric/src/main/java/me
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2025-07-23 20:50:25 +0200
committerGitHub <noreply@github.com>2025-07-23 20:50:25 +0200
commitbbf4c43a1ed431c94c2a95e67ea8494a8007cdee (patch)
tree3dedaf08cf00a710b54698b20299e614a281cafa /fabric/src/main/java/me
parent3224ded226541e1dbd7809cba218e3c0c8c4144b (diff)
downloadRoughlyEnoughItems-bbf4c43a1ed431c94c2a95e67ea8494a8007cdee.tar.gz
RoughlyEnoughItems-bbf4c43a1ed431c94c2a95e67ea8494a8007cdee.tar.bz2
RoughlyEnoughItems-bbf4c43a1ed431c94c2a95e67ea8494a8007cdee.zip
Port to 1.21.6 (#1907)
* Port to 1.21.6 * Fix tooltip Z-rendering * Fix config screen * Add workflow
Diffstat (limited to 'fabric/src/main/java/me')
-rw-r--r--fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java26
-rw-r--r--fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java16
2 files changed, 5 insertions, 37 deletions
diff --git a/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java b/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java
index 7585fb2e6..f77d7b2fa 100644
--- a/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java
+++ b/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java
@@ -23,28 +23,20 @@
package me.shedaniel.rei.fabric;
-import com.google.common.base.Suppliers;
import dev.architectury.platform.Platform;
import dev.architectury.utils.Env;
import me.shedaniel.rei.RoughlyEnoughItemsState;
import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
import me.shedaniel.rei.api.common.plugins.*;
-import me.shedaniel.rei.impl.ClientInternals;
import me.shedaniel.rei.impl.init.PluginDetector;
import me.shedaniel.rei.impl.init.PrimitivePlatformAdapter;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.entrypoint.EntrypointContainer;
-import net.minecraft.client.gui.GuiGraphics;
-import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent;
-import net.minecraft.world.inventory.tooltip.TooltipComponent;
import org.apache.commons.lang3.tuple.Pair;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
import java.util.*;
-import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Supplier;
import java.util.stream.Collectors;
@@ -139,24 +131,6 @@ public class PluginDetectorImpl implements PluginDetector {
public Supplier<Runnable> detectClientPlugins() {
return () -> () -> {
loadPlugin(REIClientPlugin.class, PluginManager.getClientInstance().view()::registerPlugin);
- Supplier<Method> method = Suppliers.memoize(() -> {
- String methodName = FabricLoader.getInstance().isDevelopmentEnvironment() ? FabricLoader.getInstance().getMappingResolver().mapMethodName("intermediary", "net.minecraft.class_332", "method_51442", "(Ljava/util/List;Lnet/minecraft/class_5632;)V")
- : "method_51442";
- try {
- Method declaredMethod = GuiGraphics.class.getDeclaredMethod(methodName, List.class, TooltipComponent.class);
- if (declaredMethod != null) declaredMethod.setAccessible(true);
- return declaredMethod;
- } catch (NoSuchMethodException e) {
- throw new RuntimeException(e);
- }
- });
- ClientInternals.attachInstance((BiConsumer<List<ClientTooltipComponent>, TooltipComponent>) (lines, component) -> {
- try {
- method.get().invoke(null, lines, component);
- } catch (IllegalAccessException | InvocationTargetException e) {
- throw new RuntimeException(e);
- }
- }, "clientTooltipComponentProvider");
};
}
}
diff --git a/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java b/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java
index 89883f9fd..fe6c103ca 100644
--- a/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java
+++ b/fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplFabric.java
@@ -24,7 +24,6 @@
package me.shedaniel.rei.impl.client.gui.fabric;
import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
-import me.shedaniel.rei.impl.ClientInternals;
import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
@@ -64,13 +63,8 @@ public class ScreenOverlayImplFabric extends ScreenOverlayImpl {
if (component instanceof ClientTooltipComponent client) {
lines.add(client);
- continue;
- }
-
- try {
- ClientInternals.getClientTooltipComponent(lines, component);
- } catch (Throwable exception) {
- throw new IllegalArgumentException("Failed to add tooltip component! " + component + ", Class: " + (component == null ? null : component.getClass().getCanonicalName()), exception);
+ } else {
+ lines.add(ClientTooltipComponent.create(component));
}
}
}
@@ -81,8 +75,8 @@ public class ScreenOverlayImplFabric extends ScreenOverlayImpl {
if (lines.isEmpty()) {
return;
}
- graphics.pose().pushPose();
- graphics.renderTooltipInternal(Minecraft.getInstance().font, lines, mouseX, mouseY, DefaultTooltipPositioner.INSTANCE, tooltipStyle);
- graphics.pose().popPose();
+ graphics.pose().pushMatrix();
+ graphics.setTooltipForNextFrameInternal(Minecraft.getInstance().font, lines, mouseX, mouseY, DefaultTooltipPositioner.INSTANCE, tooltipStyle, false);
+ graphics.pose().popMatrix();
}
}