We should change IRenderHandler to be an interface instead of an abstract class, so that lambdas can be used for it. This is a breaking change, so I'm opening this issue so that we remember to do this come 1.13 (otherwise I'd just PR it now).
Would be also good to update the interface to pass through the render pass as well.
This can be done in a backwards compatible way, just make a new interface and let IRenderHandler implement it (it's an abstract class after all).
@diesieben07 How about existing mods that uses this abstract class as a parameter in methods?
How about existing mods that uses this abstract class as a parameter in methods?
What about them?
@liach it's 1.13, we can make backwards incompatible changes
@diesieben07 I thought you'd apply this change in 1.12. If that's the case, old mods cannot utilize the new interface, much like the Teleporter and ITeleporter change.
Why would they not be able to? They can require a minimum Forge version.
old mods -> mods compiled before this change in 1.12
They would continue to use the abstract class, which now implements the interface and is thus compatible.
Yes. I meant that new functional interfaces by mods from later forge cannot be utilized by those "old mods", so we should leave it for 1.13
Why would other mods need to utilize them? The methods in this class are only called by Forge.
1.13 should be in the next few months if I had to make a guess based on snapshots.
I think we should just wait until then. I can put this on my personal "1.13 todo" list.
Ok @diesieben07 I am ending this discussion. :+1: for mezz
This issue has been automatically marked as stale because it has not had activity in a long time. If this issue is still relevant and should remain open, please reply with a short explanation (e.g. "I have checked the code and this issue is still relevant because ___." or "Here's a screenshot of this issue on the latest version"). Thank you for your contributions!
Issue can be closed, commit: https://github.com/MinecraftForge/MinecraftForge/commit/9245975955f533e291e27f748c1456e8a879e318
Most helpful comment
1.13 should be in the next few months if I had to make a guess based on snapshots.
I think we should just wait until then. I can put this on my personal "1.13 todo" list.