diff --git a/.gitignore b/.gitignore
index 8e86036..030d93a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,8 @@
.idea/
out/
-G-Earth2.iml
+bin/
+**/target/
/G-WinMem/.vs
/G-WinMem/x64
/G-WinMem/G-WinMem/x64
-/Extensions/
-G-Earth.iml
-/G-EarthWindows.iml
\ No newline at end of file
+*.iml
diff --git a/Extensions/AdminOnConnect/pom.xml b/Extensions/AdminOnConnect/pom.xml
new file mode 100644
index 0000000..7a5eab6
--- /dev/null
+++ b/Extensions/AdminOnConnect/pom.xml
@@ -0,0 +1,110 @@
+
+
+ 4.0.0
+
+ AdminOnConnect
+
+ jar
+
+ 0.0.1-beta
+
+
+ G-Earth
+ G-Earth-Parent
+ 0.0.1-beta
+
+
+
+
+
+
+ false
+ src/main/java
+
+ **/*.fxml
+ **/*.css
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.7.0
+
+ 1.8
+ 1.8
+
+
+
+
+ maven-resources-plugin
+ 2.6
+
+
+ copy-resources
+ validate
+
+ copy-resources
+
+
+ ${project.build.directory}
+
+
+ src/main/resources
+
+
+
+
+
+
+
+
+ maven-dependency-plugin
+
+
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/bin/lib
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.5
+
+ ${project.build.directory}/bin
+
+
+ true
+ true
+ extensions.adminonconnect.AdminOnConnect
+ false
+ lib/
+ true
+
+
+ ${artifactId}
+
+
+
+
+
+
+
+ G-Earth
+ G-Earth-UI
+ 0.0.1-beta
+
+
+
+
\ No newline at end of file
diff --git a/src/g_earth/extensions/examples/adminonconnect/AdminOnConnect.java b/Extensions/AdminOnConnect/src/main/java/extensions/adminonconnect/AdminOnConnect.java
similarity index 84%
rename from src/g_earth/extensions/examples/adminonconnect/AdminOnConnect.java
rename to Extensions/AdminOnConnect/src/main/java/extensions/adminonconnect/AdminOnConnect.java
index c45b141..e7106c8 100644
--- a/src/g_earth/extensions/examples/adminonconnect/AdminOnConnect.java
+++ b/Extensions/AdminOnConnect/src/main/java/extensions/adminonconnect/AdminOnConnect.java
@@ -1,16 +1,14 @@
-package g_earth.extensions.examples.adminonconnect;
+package extensions.adminonconnect;
-import g_earth.extensions.Extension;
-import g_earth.extensions.ExtensionInfo;
-import g_earth.protocol.HMessage;
-import g_earth.protocol.HPacket;
+import gearth.extensions.Extension;
+import gearth.extensions.ExtensionInfo;
+import gearth.protocol.HMessage;
+import gearth.protocol.HPacket;
/**
* Created by Jonas on 26/06/18.
*/
-
-
@ExtensionInfo(
Title = "Always admin!",
Description = "Gives you admin permission on connect",
diff --git a/Extensions/BlockReplacePackets/pom.xml b/Extensions/BlockReplacePackets/pom.xml
new file mode 100644
index 0000000..1eb4c34
--- /dev/null
+++ b/Extensions/BlockReplacePackets/pom.xml
@@ -0,0 +1,135 @@
+
+
+ 4.0.0
+
+ BlockReplacePackets
+
+ jar
+
+ 0.0.1-beta
+
+
+ G-Earth
+ G-Earth-Parent
+ 0.0.1-beta
+
+
+
+
+
+
+ false
+ src/main/java
+
+ **/*.fxml
+ **/*.css
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.7.0
+
+ 1.8
+ 1.8
+
+
+
+
+ maven-resources-plugin
+ 2.6
+
+
+ copy-resources
+ validate
+
+ copy-resources
+
+
+ ${project.build.directory}
+
+
+ src/main/resources
+
+
+
+
+
+
+
+
+ maven-dependency-plugin
+
+
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/bin/lib
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.5
+
+ ${project.build.directory}/bin
+
+
+ true
+ true
+ extensions.blockreplacepackets.BlockAndReplacePackets
+ false
+ lib/
+ true
+
+
+ ${artifactId}
+
+
+
+
+ maven-assembly-plugin
+
+
+ package
+
+ single
+
+
+
+
+ ${project.parent.basedir}/bin
+
+
+ extensions.blockreplacepackets.BlockAndReplacePackets
+
+
+
+ jar-with-dependencies
+
+ BlockAndReplacePackets
+ false
+
+
+
+
+
+
+
+ G-Earth
+ G-Earth-UI
+ 0.0.1-beta
+
+
+
+
\ No newline at end of file
diff --git a/src/g_earth/extensions/examples/blockreplacepackets/BlockAndReplacePackets.java b/Extensions/BlockReplacePackets/src/main/java/extensions/blockreplacepackets/BlockAndReplacePackets.java
similarity index 89%
rename from src/g_earth/extensions/examples/blockreplacepackets/BlockAndReplacePackets.java
rename to Extensions/BlockReplacePackets/src/main/java/extensions/blockreplacepackets/BlockAndReplacePackets.java
index f646c3e..fb0361e 100644
--- a/src/g_earth/extensions/examples/blockreplacepackets/BlockAndReplacePackets.java
+++ b/Extensions/BlockReplacePackets/src/main/java/extensions/blockreplacepackets/BlockAndReplacePackets.java
@@ -1,5 +1,6 @@
-package g_earth.extensions.examples.blockreplacepackets;
+package extensions.blockreplacepackets;
+import gearth.ui.GEarthController;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
@@ -7,9 +8,8 @@ import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
-import g_earth.extensions.ExtensionForm;
-import g_earth.extensions.ExtensionInfo;
-import g_earth.ui.GEarthController;
+import gearth.extensions.ExtensionForm;
+import gearth.extensions.ExtensionInfo;
/**
* Created by Jonas on 22/09/18.
diff --git a/src/g_earth/extensions/examples/blockreplacepackets/blockreplace.fxml b/Extensions/BlockReplacePackets/src/main/java/extensions/blockreplacepackets/blockreplace.fxml
similarity index 97%
rename from src/g_earth/extensions/examples/blockreplacepackets/blockreplace.fxml
rename to Extensions/BlockReplacePackets/src/main/java/extensions/blockreplacepackets/blockreplace.fxml
index 70d73c2..893f2a8 100644
--- a/src/g_earth/extensions/examples/blockreplacepackets/blockreplace.fxml
+++ b/Extensions/BlockReplacePackets/src/main/java/extensions/blockreplacepackets/blockreplace.fxml
@@ -12,7 +12,7 @@
-
+
diff --git a/Extensions/SpeechColorizer/pom.xml b/Extensions/SpeechColorizer/pom.xml
new file mode 100644
index 0000000..54ae551
--- /dev/null
+++ b/Extensions/SpeechColorizer/pom.xml
@@ -0,0 +1,133 @@
+
+
+ 4.0.0
+
+ SpeechColorizer
+
+ jar
+
+ 0.0.1-beta
+
+
+ G-Earth
+ G-Earth-Parent
+ 0.0.1-beta
+
+
+
+
+
+
+ false
+ src/main/java
+
+ **/*.fxml
+ **/*.css
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.7.0
+
+ 1.8
+ 1.8
+
+
+
+
+ maven-resources-plugin
+ 2.6
+
+
+ copy-resources
+ validate
+
+ copy-resources
+
+
+ ${project.build.directory}
+
+
+ src/main/resources
+
+
+
+
+
+
+
+
+ maven-dependency-plugin
+
+
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/bin/lib
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.5
+
+ ${project.build.directory}/bin
+
+
+ true
+ true
+ extensions.speechcolorizer.SpeechColorizer
+ false
+ lib/
+ true
+
+
+ ${artifactId}
+
+
+
+
+ maven-assembly-plugin
+
+
+ package
+
+ single
+
+
+
+
+ ${project.parent.basedir}/target/bin
+
+
+ extensions.speechcolorizer.SpeechColorizer
+
+
+
+ jar-with-dependencies
+
+
+
+
+
+
+
+
+ G-Earth
+ G-Earth-UI
+ 0.0.1-beta
+
+
+
+
\ No newline at end of file
diff --git a/src/g_earth/extensions/examples/speechcolorizer/SpeechColorizer.java b/Extensions/SpeechColorizer/src/main/java/extensions/speechcolorizer/SpeechColorizer.java
similarity index 88%
rename from src/g_earth/extensions/examples/speechcolorizer/SpeechColorizer.java
rename to Extensions/SpeechColorizer/src/main/java/extensions/speechcolorizer/SpeechColorizer.java
index c1bef35..f01feb7 100644
--- a/src/g_earth/extensions/examples/speechcolorizer/SpeechColorizer.java
+++ b/Extensions/SpeechColorizer/src/main/java/extensions/speechcolorizer/SpeechColorizer.java
@@ -1,9 +1,9 @@
-package g_earth.extensions.examples.speechcolorizer;
+package extensions.speechcolorizer;
-import g_earth.extensions.Extension;
-import g_earth.extensions.ExtensionInfo;
-import g_earth.protocol.HMessage;
-import g_earth.protocol.HPacket;
+import gearth.extensions.Extension;
+import gearth.extensions.ExtensionInfo;
+import gearth.protocol.HMessage;
+import gearth.protocol.HPacket;
import java.util.Random;
diff --git a/G-Earth-UI/pom.xml b/G-Earth-UI/pom.xml
new file mode 100644
index 0000000..2643b90
--- /dev/null
+++ b/G-Earth-UI/pom.xml
@@ -0,0 +1,140 @@
+
+
+ 4.0.0
+
+ G-Earth-UI
+
+ jar
+
+ 0.0.1-beta
+
+
+ G-Earth
+ G-Earth-Parent
+ 0.0.1-beta
+
+
+
+
+
+
+ false
+ src/main/java
+
+ **/*.fxml
+ **/*.css
+ **/*.png
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.7.0
+
+ 1.8
+ 1.8
+
+
+
+
+
+ maven-dependency-plugin
+
+
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/bin/lib
+
+
+
+
+
+
+ maven-resources-plugin
+ 2.6
+
+
+ copy-resources
+ validate
+
+ copy-resources
+
+
+ ${project.build.directory}
+
+
+ src/main/resources
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.5
+
+ ${project.build.directory}/bin
+
+
+ true
+ true
+ lib/
+ gearth.Main
+ false
+
+
+
+
+
+
+ maven-assembly-plugin
+
+
+ package
+
+ single
+
+
+
+
+ ${project.parent.basedir}/bin
+
+
+ gearth.Main
+
+
+
+ jar-with-dependencies
+
+ G-Earth-${project.version}
+ false
+
+
+
+
+
+
+
+ org.json
+ json
+ 20180813
+
+
+ org.fxmisc.richtext
+ richtextfx
+ 0.9.1
+
+
+
\ No newline at end of file
diff --git a/G-Earth-UI/src/META-INF/MANIFEST.MF b/G-Earth-UI/src/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..c12866f
--- /dev/null
+++ b/G-Earth-UI/src/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Main-Class: gearth.Main
+
diff --git a/src/g_earth/Main.java b/G-Earth-UI/src/main/java/gearth/Main.java
similarity index 96%
rename from src/g_earth/Main.java
rename to G-Earth-UI/src/main/java/gearth/Main.java
index 484c434..06c87c7 100644
--- a/src/g_earth/Main.java
+++ b/G-Earth-UI/src/main/java/gearth/Main.java
@@ -1,4 +1,4 @@
-package g_earth;
+package gearth;
import javafx.application.Application;
import javafx.application.Platform;
@@ -6,7 +6,7 @@ import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
-import g_earth.ui.GEarthController;
+import gearth.ui.GEarthController;
// run as root issue Invalid MIT-MAGIC-COOKIE-1 key fix: https://stackoverflow.com/questions/48139447/invalid-mit-magic-cookie-1-key
diff --git a/src/g_earth/extensions/Extension.java b/G-Earth-UI/src/main/java/gearth/extensions/Extension.java
similarity index 98%
rename from src/g_earth/extensions/Extension.java
rename to G-Earth-UI/src/main/java/gearth/extensions/Extension.java
index f7a893d..b4dc3e0 100644
--- a/src/g_earth/extensions/Extension.java
+++ b/G-Earth-UI/src/main/java/gearth/extensions/Extension.java
@@ -1,8 +1,8 @@
-package g_earth.extensions;
+package gearth.extensions;
-import g_earth.protocol.HMessage;
-import g_earth.protocol.HPacket;
-import g_earth.ui.extensions.Extensions;
+import gearth.protocol.HMessage;
+import gearth.protocol.HPacket;
+import gearth.ui.extensions.Extensions;
import java.io.*;
import java.net.Socket;
@@ -134,7 +134,7 @@ public abstract class Extension {
onEndConnection();
}
else if (packet.headerId() == Extensions.OUTGOING_MESSAGES_IDS.FLAGSCHECK) {
- // body = an array of G-Earths main flags
+ // body = an array of G-Earths gearth flags
if (flagRequestCallback != null) {
int arraysize = packet.readInteger();
String[] gEarthArgs = new String[arraysize];
diff --git a/src/g_earth/extensions/ExtensionForm.java b/G-Earth-UI/src/main/java/gearth/extensions/ExtensionForm.java
similarity index 97%
rename from src/g_earth/extensions/ExtensionForm.java
rename to G-Earth-UI/src/main/java/gearth/extensions/ExtensionForm.java
index 6317f06..75d04fd 100644
--- a/src/g_earth/extensions/ExtensionForm.java
+++ b/G-Earth-UI/src/main/java/gearth/extensions/ExtensionForm.java
@@ -1,10 +1,10 @@
-package g_earth.extensions;
+package gearth.extensions;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.stage.Stage;
-import g_earth.protocol.HMessage;
-import g_earth.protocol.HPacket;
+import gearth.protocol.HMessage;
+import gearth.protocol.HPacket;
/**
* Created by Jonas on 22/09/18.
diff --git a/src/g_earth/extensions/ExtensionInfo.java b/G-Earth-UI/src/main/java/gearth/extensions/ExtensionInfo.java
similarity index 91%
rename from src/g_earth/extensions/ExtensionInfo.java
rename to G-Earth-UI/src/main/java/gearth/extensions/ExtensionInfo.java
index 98425ab..3e2a527 100644
--- a/src/g_earth/extensions/ExtensionInfo.java
+++ b/G-Earth-UI/src/main/java/gearth/extensions/ExtensionInfo.java
@@ -1,4 +1,4 @@
-package g_earth.extensions;
+package gearth.extensions;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/src/g_earth/extensions/extra/Inspector.java b/G-Earth-UI/src/main/java/gearth/extensions/extra/Inspector.java
similarity index 66%
rename from src/g_earth/extensions/extra/Inspector.java
rename to G-Earth-UI/src/main/java/gearth/extensions/extra/Inspector.java
index b8962ed..89acbf5 100644
--- a/src/g_earth/extensions/extra/Inspector.java
+++ b/G-Earth-UI/src/main/java/gearth/extensions/extra/Inspector.java
@@ -1,4 +1,4 @@
-package g_earth.extensions.extra;
+package gearth.extensions.extra;
/**
* Created by Jonas on 22/09/18.
diff --git a/src/g_earth/misc/Cacher.java b/G-Earth-UI/src/main/java/gearth/misc/Cacher.java
similarity index 61%
rename from src/g_earth/misc/Cacher.java
rename to G-Earth-UI/src/main/java/gearth/misc/Cacher.java
index 5c4d135..2866e0e 100644
--- a/src/g_earth/misc/Cacher.java
+++ b/G-Earth-UI/src/main/java/gearth/misc/Cacher.java
@@ -1,49 +1,48 @@
-package g_earth.misc;
+package gearth.misc;
-import g_earth.Main;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-import org.json.simple.parser.ParseException;
+import gearth.Main;
+import org.json.JSONArray;
+import org.json.JSONObject;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
+import java.util.List;
/**
* Created by Jonas on 28/09/18.
*/
public class Cacher {
- private static final String CACHEFILENAME = "cache.json";
+ private static final String CACHE_FILENAME = "cache.json";
private static String getCacheDir() {
return new File(Main.class.getProtectionDomain().getCodeSource().getLocation().getPath()).getParent();
}
private static boolean cacheFileExists() {
- File f = new File(getCacheDir(), CACHEFILENAME);
+ File f = new File(getCacheDir(), CACHE_FILENAME);
return (f.exists() && !f.isDirectory());
}
private static JSONObject getCacheContents() {
if (cacheFileExists()) {
try {
- File f = new File(getCacheDir(), CACHEFILENAME);
+ File f = new File(getCacheDir(), CACHE_FILENAME);
String contents = String.join("\n", Files.readAllLines(f.toPath()));
- JSONParser parser = new JSONParser();
- return (JSONObject) parser.parse(contents);
- } catch (IOException | ParseException e) {
+ return new JSONObject(contents);
+ } catch (IOException e) {
e.printStackTrace();
}
}
return new JSONObject();
}
private static void updateCache(JSONObject contents) {
- try (FileWriter file = new FileWriter(new File(getCacheDir(), CACHEFILENAME))) {
+ try (FileWriter file = new FileWriter(new File(getCacheDir(), CACHE_FILENAME))) {
- file.write(contents.toJSONString());
+ file.write(contents.toString());
file.flush();
} catch (IOException e) {
@@ -53,16 +52,24 @@ public class Cacher {
public static void put(String key, Object val) {
JSONObject object = getCacheContents();
- if (object.containsKey(key)) object.remove(key);
+ if (object.has(key)) object.remove(key);
object.put(key, val);
updateCache(object);
}
+
public static Object get(String key) {
JSONObject object = getCacheContents();
-
- return object.get(key);
+ if (object.has(key)) return object.get(key);
+ else return null;
}
+
+ public static List