From 0e3395e7bd89824669b8857c4171c85b6223b3a7 Mon Sep 17 00:00:00 2001 From: gnembon Date: Tue, 23 Jun 2020 02:13:13 -0300 Subject: [PATCH] command crash when they throw weird exceptions --- src/main/java/carpet/script/CarpetExpression.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/carpet/script/CarpetExpression.java b/src/main/java/carpet/script/CarpetExpression.java index 87eaa6b7..83e031a5 100644 --- a/src/main/java/carpet/script/CarpetExpression.java +++ b/src/main/java/carpet/script/CarpetExpression.java @@ -3082,9 +3082,14 @@ public class CarpetExpression BlockPos target = ((CarpetContext)c).origin; Vec3d posf = new Vec3d((double)target.getX()+0.5D,(double)target.getY(),(double)target.getZ()+0.5D); ServerCommandSource s = ((CarpetContext)c).s; - Value retval = new NumericValue(s.getMinecraftServer().getCommandManager().execute( - s.withPosition(posf).withSilent().withLevel(CarpetSettings.runPermissionLevel), lv.get(0).evalValue(c).getString())); - return (c_, t_) -> retval; + try + { + Value retval = new NumericValue(s.getMinecraftServer().getCommandManager().execute( + s.withPosition(posf).withSilent().withLevel(CarpetSettings.runPermissionLevel), lv.get(0).evalValue(c).getString())); + return (c_, t_) -> retval; + } + catch (Exception ignored) {} + return LazyValue.NULL; }); this.expr.addLazyFunction("save", 0, (c, t, lv) -> {