Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: 4.0.5 -> 4.0.6 broke IC2 Classic EU compatibility #209

Open
xJon opened this issue Jul 28, 2024 · 2 comments
Open

[Bug]: 4.0.5 -> 4.0.6 broke IC2 Classic EU compatibility #209

xJon opened this issue Jul 28, 2024 · 2 comments
Assignees
Labels
[Attribute] Bug Report [Status] Triage Requires review for validity and severity if the issue is valid

Comments

@xJon
Copy link

xJon commented Jul 28, 2024

Forge Version

14.23.5.2860

Galacticraft Version

4.0.6

Log or Crash Report

When using version 4.0.6 alongside IC2 Classic, this error is in the log:

Unhide
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: java.lang.NoSuchFieldException: tickHandler
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at java.lang.Class.getDeclaredField(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at micdoodle8.mods.galacticraft.core.util.CompatibilityManager.checkForCompatibleMods(CompatibilityManager.java:127)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at micdoodle8.mods.galacticraft.core.GalacticraftCore.postInit(GalacticraftCore.java:538)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.EventBus.post(EventBus.java:217)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at com.google.common.eventbus.EventBus.post(EventBus.java:217)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:754)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:336)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:535)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:378)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraft.client.main.Main.main(SourceFile:123)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at java.lang.reflect.Method.invoke(Unknown Source)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
[Client thread/INFO]: [micdoodle8.mods.galacticraft.core.util.CompatibilityManager:checkForCompatibleMods:170]: 	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

Reproduction steps

First reported over xJon/Tekkit-2#258.

  1. Use Galacticraft 4.0.6, alongside any of IC2 Classic's versions from the past couple of years
  2. Try to flow IC2 Classic EU through Galacticraft Sealable blocks (i.e. Sealable Glass Fiber Cable)
  3. Energy won't flow

I believe this commit broke it.

@xJon xJon added [Attribute] Bug Report [Status] Triage Requires review for validity and severity if the issue is valid labels Jul 28, 2024
@xJon
Copy link
Author

xJon commented Jul 28, 2024

@Speiger do you have any ideas about what's happening?

@Speiger
Copy link

Speiger commented Jul 29, 2024

@xJon GalacticCraft searches for IC2 Core classes.
The whole ITickHandler implementation they try to use only exists in IC2Exp.
here is the code:

fieldIC2tickhandler = clazzIC2.getDeclaredField("tickHandler");

IC2Classic has a whole API for this stuff (this says 1.10.2 but the api between 1.10.2 and 1.12.2 is 100% equal)
https://github.com/TinyModularThings/IC2Classic/blob/1.10.2/src/main/java/ic2/api/classic/util/ITickCallbackProvider.java

So there have to be patches made to have classic compat but it would remove a lot of Reflection code too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Attribute] Bug Report [Status] Triage Requires review for validity and severity if the issue is valid
Projects
None yet
Development

No branches or pull requests

3 participants