BuildCraft|Core

BuildCraft|Core

7M Downloads

Minor visual: Wooden kinesis pipes doesn't render all sides of the incoming energy

mystise opened this issue ยท 5 comments

commented

Not only that but it also renders from the wrong sides (Which is understandable)

2014-10-18_20 16 01

commented

@adudney: Could you try now? I did some fixes to the wooden kinesis pipe rendering system.

commented

Doesn't seem to be fixed yet.

2014-10-19_00 45 28

commented

Ah, I see why that is happening and it is not fixable until the RF API updates.

Specifically, RF right now does not let you check whether a side is used as input or as output. In other words, I can only check if something emits RF on that side or does not - I cannot differentiate between sources and sinks.

Closed, wontfix, might come back to this in 1.8.

commented

Ahhhhh, I think I can fix that, but I'm about to head to bed :P
Essentially if instead of adding to the internal RFBattery when receiveEnergy is called you add to transport.internalNextPower and make sure it doesn't go over a maximum. That way each side that has an engine on it will have their buffer input directly to the energy beam rather than to an internal buffer that is then split between the beams.

Another way to differentiate: If it's an IEnergyConnection it's a source. If it's an IEnergyHandler: 1. If it has no power stored in it, simulate inserting a small amount of power (e.g. 1RF), if it returns 0, it is not a sink. 2. If it has power stored in it, simulate extracting the whole buffer, if it returns anything non-zero, it's a source.

commented

That differentiation way is still a massive hack.