Minor visual: Wooden kinesis pipes doesn't render all sides of the incoming energy
mystise opened this issue ยท 5 comments
@adudney: Could you try now? I did some fixes to the wooden kinesis pipe rendering system.
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.
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.