fabric-loader icon indicating copy to clipboard operation
fabric-loader copied to clipboard

Idiot-proof the error messages in swing gui

Open i509VCB opened this issue 4 years ago • 12 comments

It has come to my attention on discord from shedaniel and the Origins discord server that apparently people do not typically want to read and try to understand the error messages that show up on the swing gui for mod dependency issues.

Typically most people seeing this GUI are users, hence they do not need the developer cruft.

Essentially the solution here is to cut out all the developer cruft from the error messages (probably just dropping them into a dropdown box) and simplify the messages into:

You need to install X, You need to upgrade X to version 2.0.0, X breaks Y, you need to remove one of these.

If we want dev text, it may be better then to either display the full fat thing in a dev environment or make people pass some sort of -DBigBrain to see the verbose developer text.

i509VCB avatar Feb 16 '21 04:02 i509VCB

I like this suggestion, there are way to many people saying "Whats wrong?" when it says "requires A mod Z.C"

timelady-victorious avatar Mar 06 '21 14:03 timelady-victorious

I was also thinking about addinb a "Get Help" Button that could link to a wiki page with common issues? Im unsure if its a good idea.

modmuss50 avatar Mar 06 '21 15:03 modmuss50

I'm not sure if this is possible but would be nice if the dialog box that informs you about missing dependency would contain all needed dependencies, not only the one (that halted the loading?). Some mods really need like 5 other mods to run and sometimes they aren't even mentioned on the mod page so you need to run the game 5 times to get all these dependencies names (if you don't know about the fabric.mod.json file that is).

K0-RR avatar Mar 06 '21 22:03 K0-RR

I'm not sure if this is possible but would be nice if the dialog box that informs you about missing dependency would contain all needed dependencies, not only the one (that halted the loading?). Some mods really need like 5 other mods to run and sometimes they aren't even mentioned on the mod page so you need to run the game 5 times to get all these dependencies names (if you don't know about the fabric.mod.json file that is).

This is a good idea, and so us the FAQ idea modmuss50

timelady-victorious avatar Mar 10 '21 05:03 timelady-victorious

You need to upgrade X to version 2.0.0

That to me indicates one mod taking precedence over another in terms of messaging.

jamierocks avatar Mar 10 '21 14:03 jamierocks

Maybe also allow mods to add a URL to a dependancy mod? Like make [modid,URL] be an optional replacement for modid in fabric.mod.json. This could be used for direct links to the mod pages.

timelady-victorious avatar Mar 13 '21 08:03 timelady-victorious

I was about to create another issue when I saw this, so instead, I'll add to this one.

If you are browsing on the /r/fabricmc subreddit like me, you'll see literally every single day a poor soul being confused by the same error:

Could not find required mod: $MOD requires {fabric @ [>=$VERSION]}

They do not know and do not realize that fabric is the mod id for the Fabric API, an actual mod, and not the Modloader. Instead, they assume that the installation of "Fabric" went wrong. I've seen my fair share of other misunderstandings in that regard as well. Like people are trying to match the version of fabric-loader and the Fabric API.

So when the message gets improved, add a special case for the Fabric API. Tell people what this is and why they need it. Nobody knows that.

tyra314 avatar Apr 18 '21 11:04 tyra314

The text of the dialog when mods break each other needs a change too. Some people don't understand their game didn't launch on purpose and report an incompatibility issue to devs. https://github.com/Gegy/tic-tacs/issues/43

Maybe instead of "Found conflicting mods: X conflicts with {Y @ [version of Y]} Creating Empty clause ?"

something like "Mods X and Y are marked as incompatible with each other (in these versions). Try removing one of them."

K0-RR avatar Jun 23 '21 17:06 K0-RR

$MOD requires {fabric @ [>=$VERSION]}

This is a bad practice anyway - almost no mods require the entire Fabric API, they should declare specific modules that they depend on. This keeps development environments relatively clean & allows more flexibility in real clients too.

LoganDark avatar Apr 02 '22 21:04 LoganDark

$MOD requires {fabric @ [>=$VERSION]}

This is a bad practice anyway - almost no mods require the entire Fabric API, they should declare specific modules that they depend on. This keeps development environments relatively clean & allows more flexibility in real clients too.

  1. Completely off-topic. Why do you post this here and now?
  2. Completely wrong. Mods like AE2 will obviously never depend on individual modules, I have better things to do than track all of them, their versions, etc. And what for? The size in large enough modpacks is still the same since most modules will be there anyway.

Technici4n avatar Apr 03 '22 08:04 Technici4n

BTW I think that this issue can be closed with loader 0.12, the messages are a lot better.

Technici4n avatar Apr 03 '22 08:04 Technici4n

This is an old issue but bumping because I found someone confused by the current breaks message: https://old.reddit.com/r/feedthebeast/comments/1cbilre/hows_that_even_possible_java_1201_fabric/

Saying that a version "matches" some condition is a bit developerspeak-y, I guess?

quat1024 avatar Apr 24 '24 11:04 quat1024