REI Plugin Compatibilities (REIPC)

REI Plugin Compatibilities (REIPC)

11M Downloads

[Bug] REI accidentally obfuscated me.shedaniel.rei.api.client.gui.widgets.TextField.isFocused()

vfyjxf opened this issue ยท 4 comments

commented

What happened?

Forge Release:Image
Fabric Release:Image

rei obfuscated isFocused in the release, but some mods (I'm using ae2) use isFocused after compilation, which makes ae2 crash when REIPC is not present.

What mod loaders are you seeing the problem on?

Forge, Fabric

What do you think this bug is of?

  • Visual
  • Recipe Lookup
  • Cheat Mode
  • Plugin Integration / JEI Plugin Compatibility
  • Others

Relevant log output

net.minecraft.ReportedException: Rendering screen
	at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:982) ~[client-1.20.1-20230612.114412-srg.jar%23224!/:?]
	at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1146) ~[client-1.20.1-20230612.114412-srg.jar%23224!/:?]
	at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23224!/:?]
	at net.minecraft.client.main.Main.main(Main.java:218) ~[1.20.1-NeoForge.jar:?]
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:126) ~[loader-47.2.2.jar:47.2]
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:114) ~[loader-47.2.2.jar:47.2]
	at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:24) ~[loader-47.2.2.jar:47.2]
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:108) ~[loader-47.2.2.jar:47.2]
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]
	at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]
Caused by: java.lang.NoSuchMethodError: 'boolean me.shedaniel.rei.api.client.gui.widgets.TextField.isFocused()'
	at appeng.integration.modules.rei.ReiRuntimeAdapter.hasSearchFocus(ReiRuntimeAdapter.java:62) ~[appliedenergistics2-forge-15.3.3.jar%23191!/:?]
	at appeng.util.ExternalSearch.isExternalSearchFocused(ExternalSearch.java:38) ~[appliedenergistics2-forge-15.3.3.jar%23191!/:?]
	at appeng.client.gui.me.common.MEStorageScreen.updateSearch(MEStorageScreen.java:391) ~[appliedenergistics2-forge-15.3.3.jar%23191!/:?]
	at appeng.client.gui.me.common.MEStorageScreen.updateBeforeRender(MEStorageScreen.java:348) ~[appliedenergistics2-forge-15.3.3.jar%23191!/:?]
	at appeng.client.gui.AEBaseScreen.m_88315_(AEBaseScreen.java:238) ~[appliedenergistics2-forge-15.3.3.jar%23191!/:?]
	at net.minecraft.client.gui.screens.Screen.m_280264_(Screen.java:109) ~[client-1.20.1-20230612.114412-srg.jar%23224!/:?]
	at net.minecraftforge.client.ForgeHooksClient.drawScreenInternal(ForgeHooksClient.java:424) ~[forge-1.20.1-47.1.106-universal.jar%23229!/:?]
	at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:417) ~[forge-1.20.1-47.1.106-universal.jar%23229!/:?]
	at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:969) ~[client-1.20.1-20230612.114412-srg.jar%23224!/:?]
	... 17 more

Anything else?

REI version 1.20.1 12.1.785
until 1.21, the fabric side of the rei still used the obfuscated name, while neoforge already runs with the mojang name.

By submitting this issue, I have included the necessary logs by pasting the contents into the correct location or attaching the file as an upload.

  • Yes, and I did not use any paste services other than GitHub Gists.

By submitting this issue, I have confirmed my REI and REI's dependencies are up to date.

  • Yes
commented

Since the cause of this bug I'm not sure if it's the toolchain or the rei, I've created issues in both ae2 and the rei

commented

Hi, nice diagnostics! I did the same sleuthing in #1548 a couple of days ago, and just found your issue now.

In the Discord server, @shedaniel even acknowledged the same source of the issue:

I think isFocused could be remapped accidentally by loom for that version, would need to check, is this in prod or dev?

However, nobody has replied to my message yet. I'm not sure if REI for MC 1.20.1 is still under active development, so it may fall to us to find the toolchain issue.

I don't think this is an issue with AE2, because IntegratedTerminals uses the same API function from REI, and I can't see a reason why these API functions should be obfuscated after REI is compiled.

commented

Any update on this? I'm currently running into the same issue

Edit: Installing REI Plugin Compatibilities (REIPC) fixed the issue.

commented

Any update on this? I'm currently running into the same issue

Edit: Installing REI Plugin Compatibilities (REIPC) fixed the issue.

Only work for ae2,.
It was actually a coincidence to fix it