From 14aa5df586a7de16f51c586d356cde44c45adfd3 Mon Sep 17 00:00:00 2001 From: clasher113 Date: Sun, 20 Jul 2025 12:14:13 +0300 Subject: [PATCH 1/2] BasicParser::parseNumber() out of range fix --- src/coders/BasicParser.inl | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/coders/BasicParser.inl b/src/coders/BasicParser.inl index 6eac2b47..2e7a3623 100644 --- a/src/coders/BasicParser.inl +++ b/src/coders/BasicParser.inl @@ -435,19 +435,21 @@ dv::value BasicParser::parseNumber(int sign) { static_cast(std::log10(afterdot) + 1) ) ); - c = source[pos]; double dvalue = (value + (afterdot / (double)expo)); - if (c == 'e' || c == 'E') { - pos++; - int s = 1; - if (peek() == '-') { - s = -1; - pos++; - } else if (peek() == '+') { + if (hasNext()){ + c = source[pos]; + if (c == 'e' || c == 'E') { pos++; + int s = 1; + if (peek() == '-') { + s = -1; + pos++; + } else if (peek() == '+') { + pos++; + } + return sign * dvalue * power(10.0, s * parseSimpleInt(10)); } - return sign * dvalue * power(10.0, s * parseSimpleInt(10)); } return sign * dvalue; } From 59f1e5ddc782b83f4fde0018b70d78d13689db27 Mon Sep 17 00:00:00 2001 From: clasher113 Date: Sun, 20 Jul 2025 12:19:34 +0300 Subject: [PATCH 2/2] drop: count fix --- res/content/base/scripts/components/drop.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/res/content/base/scripts/components/drop.lua b/res/content/base/scripts/components/drop.lua index cf57f72f..4995aee4 100644 --- a/res/content/base/scripts/components/drop.lua +++ b/res/content/base/scripts/components/drop.lua @@ -66,8 +66,9 @@ function on_sensor_enter(index, oid) local stack = item.stack_size(dropitem.id) local sum = dropitem.count + odrop.count if sum <= stack then - dropitem.count = sum - other:despawn() + dropitem.count = 0 + odrop.count = sum + entity:despawn() end end end