Logistics Pipes

Logistics Pipes

13M Downloads

LP causes ASP's BUG when Uncomplication(IC2 Classic E-Net) installed

gonglinyuan opened this issue ยท 15 comments

commented

I found that the Molecular Transformer(MT) of AdvancedSolarPanel(ASP) won't receive any energy from the IC2 E-Net with Uncomplication. Actually, the method injectEnergy() of class TileEntityMolecularTransformer is never invoked. But this problem only occurs when LogisticPipes(LP) installed, and the bug won't happen without LP. I think it's strange because this bug should not be relative to LP.

Test environment:
minecraft 1.7.10, forge 1492
buildcraft-7.1.14
buildcraft-compat-7.1.3
logisticspipes-0.9.3.70
industrialcraft-2-2.2.811-experimental
AdvancedSolarPanel-1.7.10-3.5.1
Aroma1997Core-1.7.10-1.0.2.16
Uncomplication-1.7.10-0.1.2.1.b70

This problem is kind of complex and it may not be the fault of LP but I really want to know the reason. Thank you!

commented

Uncomplication is /NOT/ officially supported by Logistics Pipes!
Just as well, Advanced Solar Panels might also not support Uncomplication!
I suppose you are using the Energy Transfer by LP?
If not please clarify!

Additionally, LP does /NOT/ alter any E-Net Tiles.

commented

I'm sorry for not explaining the problem clearly. I am not using the Energy Transfer by LP. This time there are some pictures clarifying this problem.

This is the test environment with the problem:
1

You can see from the following pictures that MT is not running. And I promise that it's a newly created world and I didn't get and put any LP stuff.
2
3

And this time, LogisticPipes mod disabled and it won't load any more.
4

I created a new world again, and this time MT is running properly.
5
6

And I reported this bug to the authors of Uncomlication,(https://bitbucket.org/Aroma1997/uncomplication/issues/12/molecular-transformer-advanced-solar-panel)

commented

@XFactHD even if it is a bug, it's quite good one, shouldn't be fixed ๐Ÿ˜„

commented

LOL ๐Ÿ˜

commented

The Molecular Transformer is enormously bugged. For me it didn't ever receive the right amount of power. I fed a glass fiber cable with 512 eu/t, the MT showed that it received 8192 eu/t but it worked like if it got over 32k eu/t.

commented

@XFactHD that is simply because they calculated the total Injected amount and not the EnergyAmount per cable...
Also another thing this is simply because IC2 Exp does not really care about how much energy is requested. The Inject simply as much as possible. While IC2 Classic and Uncomplication ask the TileEntity: Hey how much Energy do you want... And then they insert the right amount of energy.
That simply fixes the bug that some machines eat like 512 EU per tick while their usage per tick is only 32... Simply prevent EnergyWaste...

public double getDemandedEnergy() { if (!this.doWork) { this.inputEU = 0; return 0.0D; } if (this.lastRecipeEnergyPerOperation - this.lastRecipeEnergyUsed >= 0) { return this.lastRecipeEnergyPerOperation - this.lastRecipeEnergyUsed; } return 0.0D; }

That is their code. They simply request 0 EU. And if that is the case then they do not get any EU...

That is the problem of Many Addon makers using the API wrong... (Sometimes a little bit (intendet) and sometimes completly)

commented

I didn't look at their code, because I don't quite understand the IC2 API.

commented

@XFactHD yeah its hard to understand in the firstplace because it requires: Thinking.... At least the advanced stuff....
But you can say for fact and this is one of the only things i agree Player that the IC2 EnergyAPI is way more powerfull then the RF API can ever be in its current state. You can add IC2 Compat without even implementing the IC2 Classes to your TileEntity. Can you say that to any API?

commented

That's right but in terms of usage you can't compare the two APIs, RF is supposed to be simple and just work and the IC2 E-Net API is taking some more complex things into account. Both have their use cases and both are great in their own ways.

commented

@XFactHD True but the only thing that you need to do is implement: IEnergySink or IEnergySource and then you need to post a event to register the TileEntiy but that i think is still easy enough. That simply gives IC2 the LagFree boni for cable which RF does not have...

commented

Being almost lag-free is in my opinion also possible with the RF API if you don't do complete shit and the rest is user error (building dumb and unnecessary loops for example).

commented

Well Energy Loops are not a problem with IC2 Energy @XFactHD also yeah but with IC2 Classic you can place down 10k cables without increasing the Mean time of the TPS... Try that with RF (when you run power through it) and you see that your mean time will be much higher..

commented

I can't try it out as I am not using IC2 at the moment and my RF transfer is almost entirely going over AE2 RF P2P tunnels.

commented

xD. Everyone does what he like as long he does not pray the other side to the 100% crap...

commented

I have to say that I really like IC2 but it doesn't really work with my survival play style at the moment.