dmsafai
Don't make such a fuzz about it. A Fabric mod that makes some errors a bit less loud
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
dmsafai
Don't make such a fuzz about it
You hate it that the most simple and "normal" errors always add a useless stacktrace?
This mod wraps some common error handler and only writes the exception message instead of the whole stacktrace.
Examples
- Failed to generate recipe for... - Couldn't parse element... - Failed to load model... - Parsing error loading recipe...
Invalid model files
Before: ``` [17:28:56] [Worker-ResourceReload-5/ERROR]: Failed to load model <filename>.json java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 at jdk.internal.util.Preconditions$1.apply(Preconditions.java:55) ~[?:?] at jdk.internal.util.Preconditions$1.apply(Preconditions.java:52) ~[?:?] at jdk.internal.util.Preconditions$4.apply(Preconditions.java:213) ~[?:?] at jdk.internal.util.Preconditions$4.apply(Preconditions.java:210) ~[?:?] at jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98) ~[?:?] at jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106) ~ ... ```
After: Removed by adding a check for empty strings
Loot Tables with missing items
Before: ``` [Worker-ResourceReload-7/ERROR]: Couldn't parse element loot_tables:foo/bar com.google.gson.JsonSyntaxException: Expected name to be an item, was unknown string 'foo:bar' at net.minecraft.class_3518.method_17995(class_3518.java:145) ~[client-intermediary.jar:?] at java.util.Optional.orElseThrow(Optional.java:403) ~[?:?] at net.minecraft.class_3518.method_15256(class_3518.java:145) ~[client-intermediary.jar:?] at net.minecraft.class_3518.method_15288(class_3518.java:153) ~[client-intermediary.jar:?] at net.minecraft.class_77$class_78.method_413(class_77.java:55) ~[client-intermediary.jar:?] at net.minecraft.class_77$class_78.method_443(class_77.java:40) ~[client-intermediary.jar:?] at net.minecraft.class_85$class_90.method_441(class_85.java:151) ~[client-intermediary.jar:?] at net.minecraft.class_85$class_90.method_424(class_85.java:129) ~[client-intermediary.jar:?] at net.minecraft.class_79$class_5337.method_29319(class_79.java:86) ~[client-intermediary.jar:?] at net.minecraft.class_79$class_5337.method_517(class_79.java:74) ~[client-intermediary.jar:?] at net.minecraft.class_5330$class_5333.deserialize(class_5330.java:102) ~[client-intermediary.jar:?] ```
After: ``` [Worker-ResourceReload-7/ERROR]: Couldn't parse element loot_tables:foo/bar: Expected name to be an item, was unknown string 'foo:bar' ```