From 1706fd41a8c54942c3ffe04dd2b0bc95579c0806 Mon Sep 17 00:00:00 2001 From: gnembon Date: Wed, 30 Oct 2019 01:54:21 -0300 Subject: [PATCH] handle no arguments in modify --- .../java/carpet/script/value/EntityValue.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/carpet/script/value/EntityValue.java b/src/main/java/carpet/script/value/EntityValue.java index c571b632..8eb778f0 100644 --- a/src/main/java/carpet/script/value/EntityValue.java +++ b/src/main/java/carpet/script/value/EntityValue.java @@ -420,7 +420,14 @@ public class EntityValue extends Value { if (!(featureModifiers.containsKey(what))) throw new InternalExpressionException("Unknown entity action: " + what); - featureModifiers.get(what).accept(entity, toWhat); + try + { + featureModifiers.get(what).accept(entity, toWhat); + } + catch (NullPointerException npe) + { + throw new InternalExpressionException("'modify' for '"+what+"' expects a value"); + } } private static void updatePosition(Entity e, double x, double y, double z, float yaw, float pitch) @@ -732,7 +739,13 @@ public class EntityValue extends Value } }); - put("no_clip", (e, v) -> e.noClip = v.getBoolean()); + put("no_clip", (e, v) -> + { + if (v == null) + e.noClip = true; + else + e.noClip = v.getBoolean(); + }); // gamemode // spectate