[Todo] Log instances of "Try to prevent EMF models being overridden" occurring, to warn users of crash risk in mods not expecting it, and leave a presence of the cause in the log.
Sollace opened this issue ยท 2 comments
Currently, EMF is replacing models created by other mods. This has the horrible side-effect that EMF will cause crashes in other mods' code for any players that try to use it together with Mine Little Pony, and possibly any other mods that add unique player models.
Upon my own investigating, I found the "Try to prevent EMF models being overridden" setting in "Options & Fixes" where it is enabled for a fresh install. It's my opinion that any setting like this that can lead to game crashes should rather always be disabled by default.
Thank you.
Alright.
I've since fixed the issue in Mine Little Pony. I still maintain that you should not be messing with other people's data. Since I'm changing the player's appearance, I'm adding my own renderers (not touching the original ones), so it's my expectation that the models I created and assigned to my renderers are going to abide by the generic type constraints I set.
I'm also going to start recommending my users to turn this setting off when they have issues with EMF.
If you're not willing to make it opt-in, since the nature of what you're doing produces crash reports that look like they're originating in other people's code, with no real way to trace it back to EMF I'm going to strongly recommend you add a line to the mod description, or somewhere equally as prominent stating that the option can cause instability and/or crashes when used with other mods and that users should turn it off before reporting issues to other mod developers.
Please use the latest emf version before posting reports, that version you have had a problem with overriding models even if they didn't actually have a custom emf model applied.
The reason it is enabled by default is because that is the expected default behaviour for people wanting custom models. EMF is expected to try and override models. And if a mod causes a crash the user should remove any custom models for that mob. Or change that setting and lose the expected emf feature.
This crash also means the mod maker has not tested their class casting before doing so in their own code, which is something that should really be done or atleast have the exception handled.
That being said I do have plans to improve model handling so this option won't even be needed in future