diff --git a/src/main/java/dev/zenfyr/rbip/compat/PulsarCompat.java b/src/main/java/dev/zenfyr/rbip/compat/PulsarCompat.java index c084a47..b5d6461 100644 --- a/src/main/java/dev/zenfyr/rbip/compat/PulsarCompat.java +++ b/src/main/java/dev/zenfyr/rbip/compat/PulsarCompat.java @@ -13,16 +13,16 @@ import net.minecraft.world.item.CreativeModeTab; public class PulsarCompat { private static MethodHandle getIconAnimation; - private static MethodHandle animateIcon; + private static MethodHandle renderTabIcon; @SneakyThrows public static boolean render( GuiGraphics context, int i, RecipeBookTabButton widget, CreativeModeTab group) { - if (getIconAnimation == null || animateIcon == null) return false; + if (getIconAnimation == null || renderTabIcon == null) return false; Optional opt = (Optional) getIconAnimation.invoke(group); if (opt.isEmpty()) return false; - animateIcon.invoke( + renderTabIcon.invoke( opt.get(), group, context, @@ -35,15 +35,24 @@ public class PulsarCompat { public static void init(MethodHandles.Lookup lookup) { try { - var iconClass = Class.forName("dev.zenfyr.pulsar.creativetab.CreativeModeTabAnimaton"); + boolean legacy = false; + Class iconClass; + + try { + iconClass = + Class.forName("dev.zenfyr.pulsar.api.client.creativetab.CreativeModeTabAnimation"); + } catch (ClassNotFoundException e) { + iconClass = Class.forName("dev.zenfyr.pulsar.creativetab.CreativeModeTabAnimaton"); + legacy = true; + } getIconAnimation = lookup.findStatic( iconClass, "getIconAnimation", MethodType.methodType(Optional.class, CreativeModeTab.class)); - animateIcon = lookup.findVirtual( + renderTabIcon = lookup.findVirtual( iconClass, - "animateIcon", + legacy ? "animateIcon" : "renderTabIcon", MethodType.methodType( void.class, CreativeModeTab.class,