TerminatorNL / TickCentral

GNU General Public License v3.0
2 stars 8 forks source link

[1.12.2] TickCentral + Logistic Pipes Issues #16

Closed Worive closed 3 years ago

Worive commented 3 years ago

Issue

Hi, I've found that when TickCentral is present with LogisticPipes it will cause for other mods a NoClassDefFoundError crashing the game.

The game work perfectly if you just have LogisticPipes and TickCentral. Or any other combination of 2 of these 3 mods.

In this case i used thermal. But it also occur with SimplyJetpacks, bewitchment and some others.

I think that's also the reason why https://github.com/TerminatorNL/TickCentral/issues/7 have a problem

I hope you may help to found the reason behind that :smiley:

Note

I'm using the fixed TickCentral version from https://github.com/TerminatorNL/TickCentral/issues/13

Files:

saibotu commented 3 years ago

This code in LogisticsPipes expects List.add to append the LogisticsPipesClassInjector to the end of the transformer list (as specified by the documentation of List.add) and then moves all others transformers based on this assumption.

With TickCentral installed this call to List.add now sorts the transformer list and breaks this assumption.

Instead of moving the LogisticsPipesClassInjector to the front of the list, LogisticsPipes now ends up removing Forge's ModAPITransformer, breaking @Optional annotations for all mods, and adding a second reference to the LogisticsPipesClassInjector.

One possible solution for this would be delaying the sorting until LaunchClassLoader.runTransformers (or something else) wants to iterate through the list. There's probably a better way to do this though.

Worive commented 3 years ago

May it be possible to get a compiled version of TickCentral including this change ? So it's possible to use with modpacks including logistic pipes @saibotu

saibotu commented 3 years ago

Here you go: TickCentral-3.1-unsigned.jar.zip (don't forget to unzip) compiled from https://github.com/saibotu/TickCentral/commit/a56608108067616cbeb8d6a43375cf6f14c7b1ef