From 4a881264b44976bd976db028cab2cafd8ec85b0e Mon Sep 17 00:00:00 2001 From: gnembon <41132274+gnembon@users.noreply.github.com> Date: Wed, 11 Oct 2023 15:52:10 +0200 Subject: [PATCH] fix NaaN comparisons. Fix #1576 --- src/main/java/carpet/script/value/NumericValue.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/carpet/script/value/NumericValue.java b/src/main/java/carpet/script/value/NumericValue.java index 7b15e09b..f801d70a 100644 --- a/src/main/java/carpet/script/value/NumericValue.java +++ b/src/main/java/carpet/script/value/NumericValue.java @@ -193,7 +193,15 @@ public class NumericValue extends Value } if (o instanceof final NumericValue no) { - return longValue != null && no.longValue != null ? longValue.equals(no.longValue) : !this.subtract(no).getBoolean(); + if (longValue != null && no.longValue != null) + { + return longValue.equals(no.longValue); + } + if (Double.isNaN(this.value) || Double.isNaN(no.value)) + { + return false; + } + return !this.subtract(no).getBoolean(); } return super.equals(o); }