Minecraftforge: [1.13] Change IRenderHandler to an interface

Created on 31 Dec 2017  路  15Comments  路  Source: MinecraftForge/MinecraftForge

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).

1.13 Assigned Needs Update

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.

All 15 comments

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!

Was this page helpful?
0 / 5 - 0 ratings