Mekanism

Mekanism

111M Downloads

Universal Cable doesn't work with IC2 classic.

FnordMan opened this issue ยท 15 comments

commented

IC2 Classic: https://github.com/TinyModularThings/IC2Classic

Won't move power to or from any devices or storage.

The other IC2 addons work without issue so this is got to be something Mekanism is doing.

commented

No, this is not something Mekanism is doing wrong. Mekanism uses the IC2 Experimenral API and IC2 Classic uses a different API. Perhaps it could be included into Mekanism but you will have to see what @aidancbrady thinks of this.

commented

Er... did you read my text? There are IC2 addons out there that use the IC2 experimental API work fine with IC2 classic.
See their issue tracker for more details.

commented

Then those mods either also include the IC2 classic API or IC2 classic has special compatibility code for them. Anything other doesn't make sense.

commented

The only thing that doesn't make sense here is you... Quit jumping to whacko conclusions.
Neither of those apply, Mek v7 worked fine with IC2 classic without any "special compatibility code" mek v8 utterly broke. Thus it's something mekanism did.

commented

Then I propose that you ask @Speiger and @aidancbrady why it worked before and is not working anymore now.

commented

Duh? Why do you think I posted this issue here in the Mekanism issues page then.

commented

@XFactHD IC2 Classic supports every feature of the IC2 Exp API and even extend it to even more support...
And as long you are using the Basic API like everyone else does then it will run.
Little note: use IMetaDelegate for multistructures... It makes your life a lot easier...

commented

@XFactHD
please give me the classes which handle the powerhandling and the TileEntities which are representing the UPower cable (if they are the same then it is ok)

commented

Anyway going sleep now until tomorrow i can do nothing... bye

commented

@XFactHD well i assumed that already. But good to know.
So first. You are using the API how you should not be doing it...
Reason beeing that IC2 Has a Enet is that it handles everything for you.
What you are doing is handling everything yourself. And the reason beeing that the machines do not accept power is because you overload them. If they get more power then they can Except then the say i do not want anything.
And Ener would call the Explosion function... And the Reason beeing that it works with Exp is because they accept power no matter what, and explosions are not enabled.
This is not a bug of IC2 Exp or IC2 Classic, you are using the API not how you should be doing it! No wonder that there are some problems...
So there is your Bug.
Next time before you say "It is not our bug" check the source of both sides... Because i did that before i sended @FnordMan to you... (I checked only the PartUniversalCable before i sended him to you and there i nodest already something is wrong, now i checked PartUniversalCable, EnergyNetwork, WrapperIC2Addaptor and there i found the bug)
a simple fix would be to add to your math max (WarpperIC2Addaptor) a math min that compares the actual requested energy and the energy you can send. That would solve the problem for now... But it would be a really dirty fix... (Because of the wrong usage of the API)
The Best thing would be to implement to your EnergyNetwork (it has to Extend TileEntity for it (and requires a x,y,z, world from 1 of your cables)) IMetadelegate, IEnergySink, IEnergySource and then you register the EnergyNetwork in the IC2 Enet.
To explain what i metadelegate does:
It is a CoordsPuffer, where you put your coords of your EnergyTile is represendet. The TileEntities which are returned there do not have to implement the IEnergyTile base Interfaces at all, because they link directly to the Network,
only thing todo when the EnergyNetwork coords storage changes it, (because a tile got broken/unloaded) you have to first unload the Current set of coords from the IC2 Enet and the reload the updated version of it...
CovertJaguar does have a good example for that^^"

I hope that helps

commented

Sorry for the rotton language...

commented

@Speiger just a sidenote: This is not my mod, I am just someone who tries to give support to others. I am sorry that I was wrong in the assumption that IC2 classic uses a revamp of the old energy API instead of the new one.

commented

I understand that IC2 Classic still does have some support, but with 1.8, 1.9 and 1.10 all following the experimental branch I don't think it's worth it to put in the effort to allow for both-ways compatibility. Support for IC2 experimental has been fixed as of the latest development changes, v9.0.3 will be coming soon with all the changes.

commented

@aidancbrady as long you support the basic api its no problem... Then you support both... Even if i am slower...
But instead of IC2Exp i am trying to make a solid api which allows more then Exp provides (to be fair their api is partly rubbish and still wip...)