Weee, this looks like fun
SourceRemoved BC 5 MJ api and moved to RF on all engines and machines. As far as I can tell I've kept all the mechanics the same except for one exception, engines will no longer connect to each other to transmit power to each other. I could implement this easily, and I have while testing, the only problem with it is there are two ways to implement it, both with disadvantages:
Only thing is that I am ignorant how the LGPLv3 from CoFH's code will mesh with your license, it may work fine, it may require special trickery with the compiler, I just have no idea.
- Add a case to the engine update method that checks not only EngineTools.isPowerProvider, but also if tile instanceof TileEngine, and handle that case separately. This is slightly hacky, and also disallows power transmission from any other engines, say Forestry's engines.
- Make TileEngine an IEnergyHandler, this unfortunately will make not only engines output to it, but also any energy transport system. It is easy to disallow adding energy from the piston end, but I don't know how to ensure that the energy is only being added by an engine, and not an energy pipe.
Anyway, here are some screenshots of it in action with only Buildcraft and Railcraft installed:
(The floats in guis are only in the guis, all internal math is done using ints.)