From e5fa4fd1f1080430177d4fa77b37d3f290836bda Mon Sep 17 00:00:00 2001 From: dfsek Date: Tue, 14 Jun 2022 22:18:31 -0700 Subject: [PATCH] remove decimal on whole numbers (keeps parity with old scripts) --- .../lang/operations/ConcatenationOperation.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/operations/ConcatenationOperation.java b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/operations/ConcatenationOperation.java index 5edae5f3d..17e233b84 100644 --- a/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/operations/ConcatenationOperation.java +++ b/common/addons/structure-terrascript-loader/src/main/java/com/dfsek/terra/addons/terrascript/parser/lang/operations/ConcatenationOperation.java @@ -7,8 +7,6 @@ package com.dfsek.terra.addons.terrascript.parser.lang.operations; -import java.util.function.Supplier; - import com.dfsek.terra.addons.terrascript.parser.lang.ImplementationArguments; import com.dfsek.terra.addons.terrascript.parser.lang.Returnable; import com.dfsek.terra.addons.terrascript.parser.lang.Scope; @@ -27,6 +25,17 @@ public class ConcatenationOperation extends BinaryOperation { @Override public Object apply(ImplementationArguments implementationArguments, Scope scope) { - return left.apply(implementationArguments, scope).toString() + right.apply(implementationArguments, scope).toString(); + return toString(left.apply(implementationArguments, scope)) + toString(right.apply(implementationArguments, scope)); + } + + private static String toString(Object object) { + String s = object.toString(); + if(object instanceof Double) { + int l = s.length(); + if(s.charAt(l - 2) == '.' && s.charAt(l - 1) == '0') { + s = s.substring(0, s.length() - 2); + } + } + return s; } }