Railcraft

Railcraft

34M Downloads

Railcraft is wrongly shipping IC2 API

Vexatos opened this issue · 8 comments

commented

Firstly, the jar file contains both .java and compiled .class files of the IC2 API. Secondly, the API is not shipped completely, leading to issues with other mods checking for the API to be present and expecting every class to be there.

My recommendation would be to not be shipping the API at all and instead using @Optional and ModAPIManager.INSTANCE.hasAPI("IC2API") where necessary.

commented

Fixed by #697

commented

So much shit explodes....

commented

The removal of unneeded Classes is perfectly okay with the IC² API, as far as I know (unless Player changed his mind on that recently, what I doubt).

However it is not okay to contain outdated APIs, like you do (or did in version 9.5.0.0) with the RF API, what breaks compatibility. If you wanna include APIs, such as Interfaces and I mean only Interfaces, then please update them at least.

commented

I just relayed this here, there were some crashes regarding other mods I don't know detecting IC2API and expecting the entire API to be there.

commented

Really? I had problems with the Rolling Machine not accepting any RF
and when I did that I downloaded the latest RF API, which had things
moved from IEnergyHandler to seperate emitter and receiver interfaces.
I need to check for both Interfaces in order to convert GT-KU into RF
properly.

2015-04-13 21:44 GMT+01:00, CovertJaguar [email protected]:

9.5 as far as I know was current on the RF api at the time of release.


Reply to this email directly or view it on GitHub:
#579 (comment)

commented
commented

9.5 as far as I know was current on the RF api at the time of release. I always update my submodules before release.

If someone wants to fix this shit, go ahead. I have trouble wrapping my head around the practice of "hiding" classes. And since this crap only breaks when other mods don't also include the files...I have trouble finding the motivation.

That said, I think the IC2 api is suitably removed from the code that simply deleting it might still work. But testing that is a bitch and I'd rather ship something that I know works.

commented

Yes, there was an issue with my engines grabbing the wrong interface, but the API was definitely updated.