dmsafai

Don't make such a fuzz about it. A Fabric mod that makes some errors a bit less loud

316

Quick challenge

How far can you run before the mobs catch you?

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' ```

ADS