diff --git a/src/main/java/com/volmit/iris/util/decree/handlers/DoubleHandler.java b/src/main/java/com/volmit/iris/util/decree/handlers/DoubleHandler.java index 45c4c7b92..0fc5577ea 100644 --- a/src/main/java/com/volmit/iris/util/decree/handlers/DoubleHandler.java +++ b/src/main/java/com/volmit/iris/util/decree/handlers/DoubleHandler.java @@ -24,6 +24,8 @@ import com.volmit.iris.util.decree.exceptions.DecreeParsingException; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.math.RNG; +import java.util.concurrent.atomic.AtomicReference; + public class DoubleHandler implements DecreeParameterHandler { @Override public KList getPossibilities() { @@ -34,7 +36,9 @@ public class DoubleHandler implements DecreeParameterHandler { public Double parse(String in) throws DecreeParsingException { try { - return Double.parseDouble(in); + AtomicReference r = new AtomicReference<>(in); + double m = getMultiplier(r); + return Double.parseDouble(r.get()) * m; } catch(Throwable e) diff --git a/src/main/java/com/volmit/iris/util/decree/handlers/FloatHandler.java b/src/main/java/com/volmit/iris/util/decree/handlers/FloatHandler.java index 27f127f80..8f7942ca4 100644 --- a/src/main/java/com/volmit/iris/util/decree/handlers/FloatHandler.java +++ b/src/main/java/com/volmit/iris/util/decree/handlers/FloatHandler.java @@ -24,6 +24,8 @@ import com.volmit.iris.util.decree.exceptions.DecreeParsingException; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.math.RNG; +import java.util.concurrent.atomic.AtomicReference; + public class FloatHandler implements DecreeParameterHandler { @Override public KList getPossibilities() { @@ -34,7 +36,9 @@ public class FloatHandler implements DecreeParameterHandler { public Float parse(String in) throws DecreeParsingException { try { - return Float.parseFloat(in); + AtomicReference r = new AtomicReference<>(in); + double m = getMultiplier(r); + return (float)(Float.parseFloat(r.get()) * m); } catch(Throwable e) diff --git a/src/main/java/com/volmit/iris/util/decree/handlers/IntegerHandler.java b/src/main/java/com/volmit/iris/util/decree/handlers/IntegerHandler.java index b9bb6f983..454866a2f 100644 --- a/src/main/java/com/volmit/iris/util/decree/handlers/IntegerHandler.java +++ b/src/main/java/com/volmit/iris/util/decree/handlers/IntegerHandler.java @@ -24,6 +24,9 @@ import com.volmit.iris.util.decree.exceptions.DecreeParsingException; import com.volmit.iris.util.format.Form; import com.volmit.iris.util.math.RNG; +import java.util.Locale; +import java.util.concurrent.atomic.AtomicReference; + public class IntegerHandler implements DecreeParameterHandler { @Override public KList getPossibilities() { @@ -34,7 +37,9 @@ public class IntegerHandler implements DecreeParameterHandler { public Integer parse(String in) throws DecreeParsingException { try { - return Integer.parseInt(in); + AtomicReference r = new AtomicReference<>(in); + double m = getMultiplier(r); + return (int)(Integer.valueOf(r.get()).doubleValue() * m); } catch(Throwable e) diff --git a/src/main/java/com/volmit/iris/util/decree/handlers/LongHandler.java b/src/main/java/com/volmit/iris/util/decree/handlers/LongHandler.java index 1d7085a16..cfe40ea33 100644 --- a/src/main/java/com/volmit/iris/util/decree/handlers/LongHandler.java +++ b/src/main/java/com/volmit/iris/util/decree/handlers/LongHandler.java @@ -23,6 +23,8 @@ import com.volmit.iris.util.decree.DecreeParameterHandler; import com.volmit.iris.util.decree.exceptions.DecreeParsingException; import com.volmit.iris.util.math.RNG; +import java.util.concurrent.atomic.AtomicReference; + public class LongHandler implements DecreeParameterHandler { @Override public KList getPossibilities() { @@ -33,7 +35,9 @@ public class LongHandler implements DecreeParameterHandler { public Long parse(String in) throws DecreeParsingException { try { - return Long.parseLong(in); + AtomicReference r = new AtomicReference<>(in); + double m = getMultiplier(r); + return (long)(Long.valueOf(r.get()).doubleValue() * m); } catch(Throwable e) diff --git a/src/main/java/com/volmit/iris/util/decree/handlers/ShortHandler.java b/src/main/java/com/volmit/iris/util/decree/handlers/ShortHandler.java index 6fb6d6ce4..174f20d47 100644 --- a/src/main/java/com/volmit/iris/util/decree/handlers/ShortHandler.java +++ b/src/main/java/com/volmit/iris/util/decree/handlers/ShortHandler.java @@ -23,6 +23,8 @@ import com.volmit.iris.util.decree.DecreeParameterHandler; import com.volmit.iris.util.decree.exceptions.DecreeParsingException; import com.volmit.iris.util.math.RNG; +import java.util.concurrent.atomic.AtomicReference; + public class ShortHandler implements DecreeParameterHandler { @Override public KList getPossibilities() { @@ -33,7 +35,9 @@ public class ShortHandler implements DecreeParameterHandler { public Short parse(String in) throws DecreeParsingException { try { - return Short.parseShort(in); + AtomicReference r = new AtomicReference<>(in); + double m = getMultiplier(r); + return (short)(Short.valueOf(r.get()).doubleValue() * m); } catch(Throwable e)