-
-
Notifications
You must be signed in to change notification settings - Fork 215
Description
This is now the second time I've seen a coremod that breaks when used together with mixin, because it's implemented with essentially Map<String, Patch> and the entries are removed after applying.
This mostly silently breaks such coremods with mixins, and if someone isn't aware of it, it can take a really long time to debug such a seemingly simple issue.
I propose adding a mixin.debug option that, when a transformer is first called, calls it a second time and verifies that the output stays the same. Yes, it would slow down classloading, that's why it would be debug only. But it would also allow to easily catch such mistakes. Currently I'm not aware of anything other than mixin applying class transformers twice, and since mixin is generally used in project that change a lot of things, its easy to see it as just an incompatibility with the coremod that uses mixin.