fabric-loader
fabric-loader copied to clipboard
Idiot-proof the error messages in swing gui
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.
I like this suggestion, there are way to many people saying "Whats wrong?" when it says "requires A mod Z.C"
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.
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).
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
You need to upgrade X to version 2.0.0
That to me indicates one mod taking precedence over another in terms of messaging.
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.
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.
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."
$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.
$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.
- Completely off-topic. Why do you post this here and now?
- 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.
BTW I think that this issue can be closed with loader 0.12, the messages are a lot better.
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?