isXander / YetAnotherConfigLib

YetAnotherConfigLib (yacl) is just that. A builder-based configuration library for Minecraft.
GNU Lesser General Public License v3.0
97 stars 41 forks source link

mouseClicked event handler java.lang.IncompatibleClassChangeError: class dev.isxander.yacl3.gui.OptionListWidget overrides final method net.minecraft.client.gui.components.AbstractSelectionList.m_6702_()Ljava/util/List; #208

Open longsosos opened 2 months ago

longsosos commented 2 months ago

I got crash while using shift-left click to craft an item in EMI but yet another config lib got mentioned, if not because of yacl i will contact to EMI owner crash-2024-09-13_01.41.18-client.txt

Barerock commented 2 months ago

I just got this error when trying to enter a config menu for Auto Hud. crash-2024-09-22_12.54.18-client.txt

This happens every time.

Barerock commented 2 months ago

This error is crashing my game even without the mod enabled.

Imajo24I commented 2 months ago

This error is from YACL. No need to contact EMI.

Duplicate of #182.

Barerock commented 2 months ago

But how do I fix it crashing my config menus without the mod being present?

Imajo24I commented 2 months ago

Some other mod is probably including YACL in its jar, meaning its still present.

Barerock commented 2 months ago

I don't have any mods that advertise doing that, can you provide an idea of which might?

Imajo24I commented 2 months ago

Sounds for example. It includes yacl in its jar, meaning yacl is still present

Barerock commented 2 months ago

That's exactly what might be doing it. Maybe everyone here has Sounds? I only encountered this after adding it during dev recently. Is there a way to remove yacl from Sounds? There's no reason it should have a separate mod in its jar. That's incredibly annoying if not.

Imajo24I commented 2 months ago

No, theres no simple way I know. Even if you could easily remove it, it would make Sounds crash, as it uses some stuff from yacl. Having other library mods included has some advantages, like it being easier for the user

The crash happens on all config screens made using yacl on forge 1.20.1, its not bound to Sounds.

Barerock commented 2 months ago

That's super weird, and very unfortunate. I'll make a report over at Sounds. Maybe they can temporarily remove yacl since it breaks usage of their mod too. I was using yacl for... months, and even yesterday it was fine when I looked at config. My mod list didn't change either, except to remove one unrelated library.

Imajo24I commented 2 months ago

They can't easily remove yacl, as its fundamentally used for their config system. They would have to redo the whole config system, just for a bug thats hopefully fixed soon.

Barerock commented 2 months ago

A temporary fix is to use a different config mod to make my configs and then revert to YACL, since if I don't need to click anything in there it won't crash :D win for everyone. I get sounds, I get config.

Barerock commented 2 months ago

Never mind, it seems like YACL is the only config loader that will work at all in 1.20.1. I have no idea why. Others crash or simply don't load themselves. Configured, Forge Config Screens, FzzyConfig all fail to work at all.

Imajo24I commented 2 months ago

You cant just replace a config mod with another one. Most mods use one specific config mod. Other config mods will be different and cant just be replaced with one another.

Barerock commented 2 months ago

My configs stopped crashing with YACL 3.4.2 1.20.1 and extensions 1.10. Adding Sounds back works fine, it just displays the "can't load" message. So that's cool.

I'm not sure what you mean. If literally no mod uses a config mod, why do they exist? Don't they "just" load the config files in instance/name/config? Mod files can indicate what configs they use, like Sounds, and require that mod to work, but generally mods leave their config files to be interpreted without enforcement, yes?

Imajo24I commented 2 months ago

Not sure why you think no mod would use config mods.

Config Mods don't just load all the config files. A mod has to use specific methods to get the config mod to load and convert the config file.

The way to interact with the config mod, to let it know how to convert between file and converted file, and lots of other things are specific to the config mod, which is why they cant just be replaced with another.

Barerock commented 2 months ago

Okay, so out of 325 mods, none of them use any other config mod but YACL. Got it, but why do they exist then?

Imajo24I commented 2 months ago

Its not just yacl being used. For example, you also have Cloth Config and Owo lib.

And who do you mean with "they"? Do you mean why config mods exist in the first place?

Barerock commented 2 months ago

Never mind, I just don't get this. Using other config mods does nothing for over 320 mods, YACL at least registers most of those with configs. Seems odd to me that this is not true of other config mods doing more or less the same job.