Improve exceptions (#1256)

- Kick more exceptions further up the pipeline to be more likely to be shown to player
- Try to avoid lots of console spamming when it's the same error multiple times
- Allow parsing of FaweExceptions during commands to better give information to players
This commit is contained in:
dordsor21
2021-09-01 15:36:03 +01:00
committed by GitHub
parent 0c9270dbc1
commit fb7e95c440
19 changed files with 415 additions and 231 deletions

View File

@ -774,19 +774,18 @@ public final class PlatformCommandManager {
}
actor.printError(e.getRichMessage());
} catch (CommandExecutionException e) {
handleUnknownException(actor, e.getCause());
} catch (CommandException e) {
if (e.getCause() instanceof FaweException) {
actor.print(Caption.of("fawe.cancel.worldedit.cancel.reason", ((FaweException) e.getCause()).getComponent()));
} else {
handleUnknownException(actor, e.getCause());
}
} catch (CommandException e) {
Component msg = e.getRichMessage();
if (msg != TextComponent.empty()) {
actor.print(TextComponent.builder("")
.append(e.getRichMessage())
.build());
List<String> argList = parseArgs(event.getArguments()).map(Substring::getSubstring).collect(Collectors.toList());
printUsage(actor, argList);
Component msg = e.getRichMessage();
if (msg != TextComponent.empty()) {
List<String> argList = parseArgs(event.getArguments())
.map(Substring::getSubstring)
.collect(Collectors.toList());
printUsage(actor, argList);
}
}
} catch (Throwable t) {
handleUnknownException(actor, t);