diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-10-09 22:29:01 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-10-15 01:31:13 +0800 |
| commit | b08c48f2a3efd13260efb913f11effd3a6b3a359 (patch) | |
| tree | ea48ab4330689d9eb6cdd5cd1431bb35b4d7671d /runtime/src/main/java | |
| parent | 7e2a297a2f04b5d4fbff6416cc6737be286c94f5 (diff) | |
| download | RoughlyEnoughItems-b08c48f2a3efd13260efb913f11effd3a6b3a359.tar.gz RoughlyEnoughItems-b08c48f2a3efd13260efb913f11effd3a6b3a359.tar.bz2 RoughlyEnoughItems-b08c48f2a3efd13260efb913f11effd3a6b3a359.zip | |
Make SearchProviderImpl crash with more details
Diffstat (limited to 'runtime/src/main/java')
| -rw-r--r-- | runtime/src/main/java/me/shedaniel/rei/impl/client/search/SearchProviderImpl.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/SearchProviderImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/SearchProviderImpl.java index 530bfa266..0112ca363 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/search/SearchProviderImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/search/SearchProviderImpl.java @@ -28,6 +28,9 @@ import me.shedaniel.rei.api.client.search.SearchProvider; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.impl.client.search.argument.Argument; import me.shedaniel.rei.impl.client.search.argument.CompoundArgument; +import me.shedaniel.rei.impl.client.util.CrashReportUtils; +import net.minecraft.CrashReport; +import net.minecraft.CrashReportCategory; import java.util.List; import java.util.Objects; @@ -54,7 +57,18 @@ public class SearchProviderImpl implements SearchProvider { @Override public boolean test(EntryStack<?> stack) { - return Argument.matches(stack, arguments); + try { + return Argument.matches(stack, arguments); + } catch (Throwable throwable) { + CrashReport report = CrashReportUtils.essential(throwable, "Testing entry with search filter"); + CrashReportCategory category = report.addCategory("Search entry details"); + try { + stack.fillCrashReport(report, category); + } catch (Throwable throwable1) { + category.setDetailError("Filling Report", throwable1); + } + throw CrashReportUtils.throwReport(report); + } } @Override |
