Can't disable FE support anymore (impossible to get an EU-only mode at all)
coderbot16 opened this issue · 7 comments
In older versions of TechReborn/RebornCore, it was possible to selectively disable all supported energy types. But now, while it is still possible to disable ExternalPowerManagers individually, the option for FE support appears to be absent. It looks like it was removed in TechReborn/RebornCore@1a74f2c with the configuration update. This kinda breaks my modpack since a major design element is the isolation of the EU and FE power systems. While I could always just remain on the older version, I don't want to do this since the newer release brings the new IC2 abstraction layer for IC2 Classic support, so I wanted to see if support for EU only mode is a consideration.
Ok, that is a good point, I will see about re-enabling it. A large part of TR now uses FE at its core (mainly items) I think I will be able to disable it for blocks however.
Sorry about this
Alright, glad to hear that EU only mode will still be supported. I wonder if it would be feasible to treat FE as an ExternalPowerHandler, making it be treated the same way as EU.
Thanks for the support!
Yeah, I think that might be the best idea. Will take a bit of work to move over to it, but will allow for the most options going forward. You should be fine using the older versions for now as most of the last few versions have been this refactor + bug fixes to do with it.
Sounds like a good plan. On the note of older versions, the main reason I'm using the newer versions is to test my IC2C compatibility module (https://github.com/coderbot16/IC2-Classic-Compat-Module), because I'm almost done with it and just want to do some final tests with it.
On another note, one item on my TODO list is to put together a PR that allows similar pluggability with power systems on items as on blocks. This would make it possible to prevent the FE->EU transmutation issue in my modpack once and for all, and would also allow TR items to charge in IC2 machines. I'm just curious if such an addition would be accepted before I start work on it, since it would be several hours at least.
I would be happy to accept a PR for this, I haven’t familiarised my self with the ic2 api in a while but it used to require implementing an interface on the item. (I wonder if there is a way around it like there is with the tiles).
In 1.10 I used to use a core mod to inject the interface, this worked well but people complained anyway.
The external power systems can defiantly be extended to support item caps (it’s even possible without anything from TR)
I hope in the end all these changes are worth it, as they were mainly to allow compatibility with ic2c.
I’m going to be bit busy the next few days so if you beat me to it with a PR then that’s great, if not I’ll be willing to look into it.
There are 2 ways it appears to make custom electric items in IC2 from a cursory inspection:
- Implement ISpecialElectricItem and make an IElectricItemManager that supports TR items
- Register an IBackupElectricItemManager, and as before make an IElectricItemManager that supports TR items
- With this one you don't actually have to implement an interface in TR, you can do it in the compat module. But obviously it's less elegant / idiomatic than the former.
I might also be a little busy (holidays) but I think it would make sense to have a 2 part PR: first just preliminary toggle-able EU item support and then after that full extensibility.
Regarding the changes, they certainly make it much easier to add IC2C support. In fact, over half of the development time for my compat module was spent trying to find out how to automatically download IC2C in the build, which I gave up on eventually.
In fact, this might even have benefits for IC2E because afaik I'm guessing you can't charge TR items in IC2E storage units.