From 65ea47291c4c35dc39d1bfae18e1e5b9bee2f178 Mon Sep 17 00:00:00 2001 From: Christian Koop Date: Fri, 28 May 2021 07:05:45 +0200 Subject: [PATCH 1/3] Fix builds on Linux Some file systems are case-sensitive causing maven builds to fail --- {compatibility => Compatibility}/pom.xml | 0 .../src/com/songoda/core/compatibility/ClientVersion.java | 0 .../src/com/songoda/core/compatibility/CompatibleBiome.java | 0 .../src/com/songoda/core/compatibility/CompatibleHand.java | 0 .../src/com/songoda/core/compatibility/CompatibleMaterial.java | 0 .../com/songoda/core/compatibility/CompatibleParticleHandler.java | 0 .../src/com/songoda/core/compatibility/CompatibleSound.java | 0 .../src/com/songoda/core/compatibility/EntityNamespace.java | 0 .../com/songoda/core/compatibility/LegacyMaterialAnalouge.java | 0 .../com/songoda/core/compatibility/LegacyMaterialBlockType.java | 0 .../src/com/songoda/core/compatibility/LegacyParticleEffects.java | 0 .../src/com/songoda/core/compatibility/LegacyPotionEffects.java | 0 .../src/com/songoda/core/compatibility/ServerProject.java | 0 .../src/com/songoda/core/compatibility/ServerVersion.java | 0 14 files changed, 0 insertions(+), 0 deletions(-) rename {compatibility => Compatibility}/pom.xml (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/ClientVersion.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/CompatibleBiome.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/CompatibleHand.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/CompatibleMaterial.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/CompatibleParticleHandler.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/CompatibleSound.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/EntityNamespace.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/LegacyMaterialAnalouge.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/LegacyMaterialBlockType.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/LegacyParticleEffects.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/LegacyPotionEffects.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/ServerProject.java (100%) rename {compatibility => Compatibility}/src/com/songoda/core/compatibility/ServerVersion.java (100%) diff --git a/compatibility/pom.xml b/Compatibility/pom.xml similarity index 100% rename from compatibility/pom.xml rename to Compatibility/pom.xml diff --git a/compatibility/src/com/songoda/core/compatibility/ClientVersion.java b/Compatibility/src/com/songoda/core/compatibility/ClientVersion.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/ClientVersion.java rename to Compatibility/src/com/songoda/core/compatibility/ClientVersion.java diff --git a/compatibility/src/com/songoda/core/compatibility/CompatibleBiome.java b/Compatibility/src/com/songoda/core/compatibility/CompatibleBiome.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/CompatibleBiome.java rename to Compatibility/src/com/songoda/core/compatibility/CompatibleBiome.java diff --git a/compatibility/src/com/songoda/core/compatibility/CompatibleHand.java b/Compatibility/src/com/songoda/core/compatibility/CompatibleHand.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/CompatibleHand.java rename to Compatibility/src/com/songoda/core/compatibility/CompatibleHand.java diff --git a/compatibility/src/com/songoda/core/compatibility/CompatibleMaterial.java b/Compatibility/src/com/songoda/core/compatibility/CompatibleMaterial.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/CompatibleMaterial.java rename to Compatibility/src/com/songoda/core/compatibility/CompatibleMaterial.java diff --git a/compatibility/src/com/songoda/core/compatibility/CompatibleParticleHandler.java b/Compatibility/src/com/songoda/core/compatibility/CompatibleParticleHandler.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/CompatibleParticleHandler.java rename to Compatibility/src/com/songoda/core/compatibility/CompatibleParticleHandler.java diff --git a/compatibility/src/com/songoda/core/compatibility/CompatibleSound.java b/Compatibility/src/com/songoda/core/compatibility/CompatibleSound.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/CompatibleSound.java rename to Compatibility/src/com/songoda/core/compatibility/CompatibleSound.java diff --git a/compatibility/src/com/songoda/core/compatibility/EntityNamespace.java b/Compatibility/src/com/songoda/core/compatibility/EntityNamespace.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/EntityNamespace.java rename to Compatibility/src/com/songoda/core/compatibility/EntityNamespace.java diff --git a/compatibility/src/com/songoda/core/compatibility/LegacyMaterialAnalouge.java b/Compatibility/src/com/songoda/core/compatibility/LegacyMaterialAnalouge.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/LegacyMaterialAnalouge.java rename to Compatibility/src/com/songoda/core/compatibility/LegacyMaterialAnalouge.java diff --git a/compatibility/src/com/songoda/core/compatibility/LegacyMaterialBlockType.java b/Compatibility/src/com/songoda/core/compatibility/LegacyMaterialBlockType.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/LegacyMaterialBlockType.java rename to Compatibility/src/com/songoda/core/compatibility/LegacyMaterialBlockType.java diff --git a/compatibility/src/com/songoda/core/compatibility/LegacyParticleEffects.java b/Compatibility/src/com/songoda/core/compatibility/LegacyParticleEffects.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/LegacyParticleEffects.java rename to Compatibility/src/com/songoda/core/compatibility/LegacyParticleEffects.java diff --git a/compatibility/src/com/songoda/core/compatibility/LegacyPotionEffects.java b/Compatibility/src/com/songoda/core/compatibility/LegacyPotionEffects.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/LegacyPotionEffects.java rename to Compatibility/src/com/songoda/core/compatibility/LegacyPotionEffects.java diff --git a/compatibility/src/com/songoda/core/compatibility/ServerProject.java b/Compatibility/src/com/songoda/core/compatibility/ServerProject.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/ServerProject.java rename to Compatibility/src/com/songoda/core/compatibility/ServerProject.java diff --git a/compatibility/src/com/songoda/core/compatibility/ServerVersion.java b/Compatibility/src/com/songoda/core/compatibility/ServerVersion.java similarity index 100% rename from compatibility/src/com/songoda/core/compatibility/ServerVersion.java rename to Compatibility/src/com/songoda/core/compatibility/ServerVersion.java From ca4da1f7483b8a284df82417305f9006a8559644 Mon Sep 17 00:00:00 2001 From: Brianna Date: Tue, 1 Jun 2021 12:12:50 -0500 Subject: [PATCH 2/3] Added String equation handler. --- .../main/java/com/songoda/core/math/Eval.java | 87 +++++++++++++++++++ .../java/com/songoda/core/math/MathUtils.java | 17 ++++ 2 files changed, 104 insertions(+) create mode 100644 Core/src/main/java/com/songoda/core/math/Eval.java create mode 100644 Core/src/main/java/com/songoda/core/math/MathUtils.java diff --git a/Core/src/main/java/com/songoda/core/math/Eval.java b/Core/src/main/java/com/songoda/core/math/Eval.java new file mode 100644 index 00000000..d290da9d --- /dev/null +++ b/Core/src/main/java/com/songoda/core/math/Eval.java @@ -0,0 +1,87 @@ +package com.songoda.core.math; + +public class Eval { + + private int pos = -1, ch; + private final String toParse; + private final String warningMessage; + + public Eval(String toParse, String warningMessage) { + this.toParse = toParse; + this.warningMessage = warningMessage + " "; + } + + private void nextChar() { + ch = (++pos < toParse.length()) ? toParse.charAt(pos) : -1; + } + + private boolean eat(int charToEat) { + while (ch == ' ') nextChar(); + if (ch == charToEat) { + nextChar(); + return true; + } + return false; + } + + public double parse() { + nextChar(); + double x = parseExpression(); + if (pos < toParse.length()) throw new RuntimeException(warningMessage + "Unexpected: " + (char)ch); + return x; + } + + // Grammar: + // expression = term | expression `+` term | expression `-` term + // term = factor | term `*` factor | term `/` factor + // factor = `+` factor | `-` factor | `(` expression `)` + // | number | functionName factor | factor `^` factor + + private double parseExpression() { + double x = parseTerm(); + for (;;) { + if (eat('+')) x += parseTerm(); // addition + else if (eat('-')) x -= parseTerm(); // subtraction + else return x; + } + } + + private double parseTerm() { + double x = parseFactor(); + for (;;) { + if (eat('*')) x *= parseFactor(); // multiplication + else if (eat('/')) x /= parseFactor(); // division + else return x; + } + } + + private double parseFactor() { + if (eat('+')) return parseFactor(); // unary plus + if (eat('-')) return -parseFactor(); // unary minus + + double x; + int startPos = this.pos; + if (eat('(')) { // parentheses + x = parseExpression(); + eat(')'); + } else if ((ch >= '0' && ch <= '9') || ch == '.') { // numbers + while ((ch >= '0' && ch <= '9') || ch == '.') nextChar(); + x = Double.parseDouble(toParse.substring(startPos, this.pos)); + } else if (ch >= 'a' && ch <= 'z') { // functions + while (ch >= 'a' && ch <= 'z') nextChar(); + String func = toParse.substring(startPos, this.pos); + x = parseFactor(); + if (func.equals("sqrt")) x = Math.sqrt(x); + else if (func.equals("sin")) x = Math.sin(Math.toRadians(x)); + else if (func.equals("cos")) x = Math.cos(Math.toRadians(x)); + else if (func.equals("tan")) x = Math.tan(Math.toRadians(x)); + else throw new RuntimeException(warningMessage + "Unknown function: " + func); + } else { + throw new RuntimeException(warningMessage + "Unexpected: " + (char)ch); + } + + if (eat('^')) x = Math.pow(x, parseFactor()); // exponentiation + + return x; + } +} diff --git a/Core/src/main/java/com/songoda/core/math/MathUtils.java b/Core/src/main/java/com/songoda/core/math/MathUtils.java new file mode 100644 index 00000000..4b174229 --- /dev/null +++ b/Core/src/main/java/com/songoda/core/math/MathUtils.java @@ -0,0 +1,17 @@ +package com.songoda.core.math; + +import java.util.HashMap; +import java.util.Map; + +public class MathUtils { + + private static final Map cache = new HashMap<>(); + + public static double eval(String toParse) { + return eval(toParse, "SongodaCore Eval Engine"); + } + + public static double eval(String toParse, String warningMessage) { + return cache.computeIfAbsent(toParse, t -> new Eval(toParse, "[" + warningMessage + "]").parse()); + } +} From 4c4c80734cf5d2cd54be4d37b912faf6b97ba889 Mon Sep 17 00:00:00 2001 From: Brianna Date: Tue, 1 Jun 2021 12:13:26 -0500 Subject: [PATCH 3/3] version 2.4.57 --- Compatibility/pom.xml | 2 +- Core/pom.xml | 2 +- Core/src/main/java/com/songoda/core/SongodaCore.java | 2 +- NMS/NMS-API/pom.xml | 2 +- NMS/NMS-v1_10_R1/pom.xml | 2 +- NMS/NMS-v1_11_R1/pom.xml | 2 +- NMS/NMS-v1_12_R1/pom.xml | 2 +- NMS/NMS-v1_13_R1/pom.xml | 2 +- NMS/NMS-v1_13_R2/pom.xml | 2 +- NMS/NMS-v1_14_R1/pom.xml | 2 +- NMS/NMS-v1_15_R1/pom.xml | 2 +- NMS/NMS-v1_16_R1/pom.xml | 2 +- NMS/NMS-v1_16_R2/pom.xml | 2 +- NMS/NMS-v1_16_R3/pom.xml | 2 +- NMS/NMS-v1_8_R1/pom.xml | 2 +- NMS/NMS-v1_8_R2/pom.xml | 2 +- NMS/NMS-v1_8_R3/pom.xml | 2 +- NMS/NMS-v1_9_R1/pom.xml | 2 +- NMS/NMS-v1_9_R2/pom.xml | 2 +- README.md | 4 ++-- pom.xml | 2 +- 21 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Compatibility/pom.xml b/Compatibility/pom.xml index fd4d8237..58de3ef6 100644 --- a/Compatibility/pom.xml +++ b/Compatibility/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../ diff --git a/Core/pom.xml b/Core/pom.xml index 595088c4..d6a581cc 100644 --- a/Core/pom.xml +++ b/Core/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../ diff --git a/Core/src/main/java/com/songoda/core/SongodaCore.java b/Core/src/main/java/com/songoda/core/SongodaCore.java index bf59682f..8f8d27a0 100644 --- a/Core/src/main/java/com/songoda/core/SongodaCore.java +++ b/Core/src/main/java/com/songoda/core/SongodaCore.java @@ -56,7 +56,7 @@ public class SongodaCore { /** * This has been added as of Rev 6 */ - private final static String coreVersion = "2.4.56"; + private final static String coreVersion = "2.4.57"; /** * This is specific to the website api diff --git a/NMS/NMS-API/pom.xml b/NMS/NMS-API/pom.xml index 4400139d..279dfb1a 100644 --- a/NMS/NMS-API/pom.xml +++ b/NMS/NMS-API/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_10_R1/pom.xml b/NMS/NMS-v1_10_R1/pom.xml index 87acf8c3..d2e60fae 100644 --- a/NMS/NMS-v1_10_R1/pom.xml +++ b/NMS/NMS-v1_10_R1/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_11_R1/pom.xml b/NMS/NMS-v1_11_R1/pom.xml index f3afd437..829a5d1c 100644 --- a/NMS/NMS-v1_11_R1/pom.xml +++ b/NMS/NMS-v1_11_R1/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_12_R1/pom.xml b/NMS/NMS-v1_12_R1/pom.xml index 73046bb4..49b14dec 100644 --- a/NMS/NMS-v1_12_R1/pom.xml +++ b/NMS/NMS-v1_12_R1/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_13_R1/pom.xml b/NMS/NMS-v1_13_R1/pom.xml index d761455d..0799f282 100644 --- a/NMS/NMS-v1_13_R1/pom.xml +++ b/NMS/NMS-v1_13_R1/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_13_R2/pom.xml b/NMS/NMS-v1_13_R2/pom.xml index bff1b956..e052b4f0 100644 --- a/NMS/NMS-v1_13_R2/pom.xml +++ b/NMS/NMS-v1_13_R2/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_14_R1/pom.xml b/NMS/NMS-v1_14_R1/pom.xml index 241ea0e0..f1900ea0 100644 --- a/NMS/NMS-v1_14_R1/pom.xml +++ b/NMS/NMS-v1_14_R1/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_15_R1/pom.xml b/NMS/NMS-v1_15_R1/pom.xml index 1dbd396d..a5a58255 100644 --- a/NMS/NMS-v1_15_R1/pom.xml +++ b/NMS/NMS-v1_15_R1/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_16_R1/pom.xml b/NMS/NMS-v1_16_R1/pom.xml index f7080ccf..6fa9ff1a 100644 --- a/NMS/NMS-v1_16_R1/pom.xml +++ b/NMS/NMS-v1_16_R1/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_16_R2/pom.xml b/NMS/NMS-v1_16_R2/pom.xml index 8f933ba1..76df65f7 100644 --- a/NMS/NMS-v1_16_R2/pom.xml +++ b/NMS/NMS-v1_16_R2/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_16_R3/pom.xml b/NMS/NMS-v1_16_R3/pom.xml index a1de6020..b2c76491 100644 --- a/NMS/NMS-v1_16_R3/pom.xml +++ b/NMS/NMS-v1_16_R3/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_8_R1/pom.xml b/NMS/NMS-v1_8_R1/pom.xml index 338b1136..38dd6bbb 100644 --- a/NMS/NMS-v1_8_R1/pom.xml +++ b/NMS/NMS-v1_8_R1/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_8_R2/pom.xml b/NMS/NMS-v1_8_R2/pom.xml index 2dcc3cc3..ad50e92d 100644 --- a/NMS/NMS-v1_8_R2/pom.xml +++ b/NMS/NMS-v1_8_R2/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_8_R3/pom.xml b/NMS/NMS-v1_8_R3/pom.xml index c10e66e7..0399dbd1 100644 --- a/NMS/NMS-v1_8_R3/pom.xml +++ b/NMS/NMS-v1_8_R3/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_9_R1/pom.xml b/NMS/NMS-v1_9_R1/pom.xml index 8d7e59eb..85b62403 100644 --- a/NMS/NMS-v1_9_R1/pom.xml +++ b/NMS/NMS-v1_9_R1/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/NMS/NMS-v1_9_R2/pom.xml b/NMS/NMS-v1_9_R2/pom.xml index b9367081..6085dc95 100644 --- a/NMS/NMS-v1_9_R2/pom.xml +++ b/NMS/NMS-v1_9_R2/pom.xml @@ -3,7 +3,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 ../../ diff --git a/README.md b/README.md index 653d9095..5901e4f7 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Maven Information com.songoda SongodaCore - 2.4.56 + 2.4.57 provided ``` @@ -37,6 +37,6 @@ repositories { * Artifact: ```groovy dependencies { - compileOnly 'com.songoda:SongodaCore:2.4.56' + compileOnly 'com.songoda:SongodaCore:2.4.57' } ``` \ No newline at end of file diff --git a/pom.xml b/pom.xml index 6c239a83..1c417ef2 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ com.songoda SongodaCore-Modules - 2.4.56 + 2.4.57 4.0.0 pom