Added Maven and moved sample extensions to their own modules
mvn install, mvn package, done! Extensions have been moved to a new folder
110
Extensions/AdminOnConnect/pom.xml
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>AdminOnConnect</artifactId>
|
||||||
|
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>G-Earth</groupId>
|
||||||
|
<artifactId>G-Earth-Parent</artifactId>
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<resources>
|
||||||
|
<!-- Embedded FXML and CSS resources -->
|
||||||
|
<resource>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.fxml</include>
|
||||||
|
<include>**/*.css</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.7.0</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.8</source>
|
||||||
|
<target>1.8</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<version>2.6</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-resources</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/bin/lib</outputDirectory>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>2.5</version>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/bin</outputDirectory>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||||
|
<addClasspath>true</addClasspath>
|
||||||
|
<mainClass>extensions.adminonconnect.AdminOnConnect</mainClass>
|
||||||
|
<useUniqueVersions>false</useUniqueVersions>
|
||||||
|
<classpathPrefix>lib/</classpathPrefix>
|
||||||
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||||
|
</manifest>
|
||||||
|
</archive>
|
||||||
|
<finalName>${artifactId}</finalName>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>G-Earth</groupId>
|
||||||
|
<artifactId>G-Earth-UI</artifactId>
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
<!--<scope>provided</scope>-->
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
@ -1,16 +1,14 @@
|
|||||||
package main.extensions.examples.adminonconnect;
|
package extensions.adminonconnect;
|
||||||
|
|
||||||
import main.extensions.Extension;
|
import gearth.extensions.Extension;
|
||||||
import main.extensions.ExtensionInfo;
|
import gearth.extensions.ExtensionInfo;
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 26/06/18.
|
* Created by Jonas on 26/06/18.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ExtensionInfo(
|
@ExtensionInfo(
|
||||||
Title = "Always admin!",
|
Title = "Always admin!",
|
||||||
Description = "Gives you admin permission on connect",
|
Description = "Gives you admin permission on connect",
|
110
Extensions/BlockReplacePackets/pom.xml
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>BlockReplacePackets</artifactId>
|
||||||
|
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>G-Earth</groupId>
|
||||||
|
<artifactId>G-Earth-Parent</artifactId>
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<resources>
|
||||||
|
<!-- Embedded FXML and CSS resources -->
|
||||||
|
<resource>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.fxml</include>
|
||||||
|
<include>**/*.css</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.7.0</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.8</source>
|
||||||
|
<target>1.8</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<version>2.6</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-resources</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/bin/lib</outputDirectory>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>2.5</version>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/bin</outputDirectory>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||||
|
<addClasspath>true</addClasspath>
|
||||||
|
<mainClass>extensions.blockreplacepackets.BlockAndReplacePackets</mainClass>
|
||||||
|
<useUniqueVersions>false</useUniqueVersions>
|
||||||
|
<classpathPrefix>lib/</classpathPrefix>
|
||||||
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||||
|
</manifest>
|
||||||
|
</archive>
|
||||||
|
<finalName>${artifactId}</finalName>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>G-Earth</groupId>
|
||||||
|
<artifactId>G-Earth-UI</artifactId>
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
<!--<scope>provided</scope>-->
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
@ -1,4 +1,4 @@
|
|||||||
package main.extensions.examples.blockreplacepackets;
|
package extensions.blockreplacepackets;
|
||||||
|
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
@ -7,11 +7,9 @@ import javafx.scene.control.Button;
|
|||||||
import javafx.scene.control.ComboBox;
|
import javafx.scene.control.ComboBox;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import main.extensions.ExtensionForm;
|
import gearth.extensions.ExtensionForm;
|
||||||
import main.extensions.ExtensionInfo;
|
import gearth.extensions.ExtensionInfo;
|
||||||
import main.ui.GEarthController;
|
import gearth.ui.GEarthController;
|
||||||
|
|
||||||
import java.net.URL;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 22/09/18.
|
* Created by Jonas on 22/09/18.
|
||||||
@ -54,6 +52,6 @@ public class BlockAndReplacePackets extends ExtensionForm {
|
|||||||
|
|
||||||
primaryStage.setTitle("Packet blocker &/ replacer");
|
primaryStage.setTitle("Packet blocker &/ replacer");
|
||||||
primaryStage.setScene(new Scene(root, 580, 262));
|
primaryStage.setScene(new Scene(root, 580, 262));
|
||||||
primaryStage.getScene().getStylesheets().add(GEarthController.class.getResource("bootstrap3.css").toExternalForm());
|
primaryStage.getScene().getStylesheets().add(GEarthController.class.getResource("/gearth/ui/bootstrap3.css").toExternalForm());
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -12,7 +12,7 @@
|
|||||||
<?import javafx.scene.layout.GridPane?>
|
<?import javafx.scene.layout.GridPane?>
|
||||||
<?import javafx.scene.layout.RowConstraints?>
|
<?import javafx.scene.layout.RowConstraints?>
|
||||||
|
|
||||||
<TabPane prefHeight="255.0" prefWidth="580.0" tabClosingPolicy="UNAVAILABLE" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.extensions.examples.blockreplacepackets.BlockAndReplacePackets">
|
<TabPane prefHeight="255.0" prefWidth="580.0" tabClosingPolicy="UNAVAILABLE" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.extensions.examples.blockreplacepackets.BlockAndReplacePackets">
|
||||||
<tabs>
|
<tabs>
|
||||||
<Tab text="Block/replace packet">
|
<Tab text="Block/replace packet">
|
||||||
<content>
|
<content>
|
110
Extensions/SpeechColorizer/pom.xml
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>SpeechColorizer</artifactId>
|
||||||
|
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>G-Earth</groupId>
|
||||||
|
<artifactId>G-Earth-Parent</artifactId>
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<resources>
|
||||||
|
<!-- Embedded FXML and CSS resources -->
|
||||||
|
<resource>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.fxml</include>
|
||||||
|
<include>**/*.css</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.7.0</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.8</source>
|
||||||
|
<target>1.8</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<version>2.6</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-resources</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-dependency-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-dependencies</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/bin/lib</outputDirectory>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-jar-plugin</artifactId>
|
||||||
|
<version>2.5</version>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}/bin</outputDirectory>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||||
|
<addClasspath>true</addClasspath>
|
||||||
|
<mainClass>extensions.speechcolorizer.SpeechColorizer</mainClass>
|
||||||
|
<useUniqueVersions>false</useUniqueVersions>
|
||||||
|
<classpathPrefix>lib/</classpathPrefix>
|
||||||
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
||||||
|
</manifest>
|
||||||
|
</archive>
|
||||||
|
<finalName>${artifactId}</finalName>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>G-Earth</groupId>
|
||||||
|
<artifactId>G-Earth-UI</artifactId>
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
<!--<scope>provided</scope>-->
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
@ -1,9 +1,9 @@
|
|||||||
package main.extensions.examples.speechcolorizer;
|
package extensions.speechcolorizer;
|
||||||
|
|
||||||
import main.extensions.Extension;
|
import gearth.extensions.Extension;
|
||||||
import main.extensions.ExtensionInfo;
|
import gearth.extensions.ExtensionInfo;
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
138
G-Earth-UI/pom.xml
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>G-Earth-UI</artifactId>
|
||||||
|
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>G-Earth</groupId>
|
||||||
|
<artifactId>G-Earth-Parent</artifactId>
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<resources>
|
||||||
|
<!-- Embedded FXML and CSS resources -->
|
||||||
|
<resource>
|
||||||
|
<filtering>false</filtering>
|
||||||
|
<directory>src/main/java</directory>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.fxml</include>
|
||||||
|
<include>**/*.css</include>
|
||||||
|
<include>**/*.png</include>
|
||||||
|
</includes>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.7.0</version>
|
||||||
|
<configuration>
|
||||||
|
<source>1.8</source>
|
||||||
|
<target>1.8</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- this would copy dependencies if we were building a non-standalone JAR -->
|
||||||
|
<!--<plugin>-->
|
||||||
|
<!--<artifactId>maven-dependency-plugin</artifactId>-->
|
||||||
|
<!--<executions>-->
|
||||||
|
<!--<execution>-->
|
||||||
|
<!--<phase>package</phase>-->
|
||||||
|
<!--<goals>-->
|
||||||
|
<!--<goal>copy-dependencies</goal>-->
|
||||||
|
<!--</goals>-->
|
||||||
|
<!--<configuration>-->
|
||||||
|
<!--<outputDirectory>${project.build.directory}/bin/lib</outputDirectory>-->
|
||||||
|
<!--</configuration>-->
|
||||||
|
<!--</execution>-->
|
||||||
|
<!--</executions>-->
|
||||||
|
<!--</plugin>-->
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-resources-plugin</artifactId>
|
||||||
|
<version>2.6</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>copy-resources</id>
|
||||||
|
<phase>validate</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>copy-resources</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<outputDirectory>${project.build.directory}</outputDirectory>
|
||||||
|
<resources>
|
||||||
|
<resource>
|
||||||
|
<directory>src/main/resources</directory>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- this builds a non-standalone JAR file -->
|
||||||
|
<!--<plugin>-->
|
||||||
|
<!--<groupId>org.apache.maven.plugins</groupId>-->
|
||||||
|
<!--<artifactId>maven-jar-plugin</artifactId>-->
|
||||||
|
<!--<version>2.5</version>-->
|
||||||
|
<!--<configuration>-->
|
||||||
|
<!--<outputDirectory>${project.build.directory}/bin</outputDirectory>-->
|
||||||
|
<!--<archive>-->
|
||||||
|
<!--<manifest>-->
|
||||||
|
<!--<addDefaultImplementationEntries>true</addDefaultImplementationEntries>-->
|
||||||
|
<!--<addClasspath>true</addClasspath>-->
|
||||||
|
<!--<mainClass>main.Main</mainClass>-->
|
||||||
|
<!--<useUniqueVersions>false</useUniqueVersions>-->
|
||||||
|
<!--<classpathPrefix>lib/</classpathPrefix>-->
|
||||||
|
<!--<addDefaultImplementationEntries>true</addDefaultImplementationEntries>-->
|
||||||
|
<!--</manifest>-->
|
||||||
|
<!--</archive>-->
|
||||||
|
<!--</configuration>-->
|
||||||
|
<!--</plugin>-->
|
||||||
|
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<phase>package</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>single</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
<configuration>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<mainClass>main.Main</mainClass>
|
||||||
|
</manifest>
|
||||||
|
</archive>
|
||||||
|
<descriptorRefs>
|
||||||
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||||||
|
</descriptorRefs>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.json</groupId>
|
||||||
|
<artifactId>json</artifactId>
|
||||||
|
<version>20180813</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.fxmisc.richtext</groupId>
|
||||||
|
<artifactId>richtextfx</artifactId>
|
||||||
|
<version>0.9.1</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</project>
|
3
G-Earth-UI/src/META-INF/MANIFEST.MF
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Manifest-Version: 1.0
|
||||||
|
Main-Class: gearth.Main
|
||||||
|
|
@ -1,16 +1,12 @@
|
|||||||
package main;
|
package gearth;
|
||||||
|
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.stage.Modality;
|
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import javafx.stage.StageStyle;
|
import gearth.ui.GEarthController;
|
||||||
import main.ui.GEarthController;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
// run as root issue Invalid MIT-MAGIC-COOKIE-1 key fix: https://stackoverflow.com/questions/48139447/invalid-mit-magic-cookie-1-key
|
// run as root issue Invalid MIT-MAGIC-COOKIE-1 key fix: https://stackoverflow.com/questions/48139447/invalid-mit-magic-cookie-1-key
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
package main.extensions;
|
package gearth.extensions;
|
||||||
|
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
import main.ui.extensions.Extensions;
|
import gearth.ui.extensions.Extensions;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
@ -134,7 +134,7 @@ public abstract class Extension {
|
|||||||
onEndConnection();
|
onEndConnection();
|
||||||
}
|
}
|
||||||
else if (packet.headerId() == Extensions.OUTGOING_MESSAGES_IDS.FLAGSCHECK) {
|
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) {
|
if (flagRequestCallback != null) {
|
||||||
int arraysize = packet.readInteger();
|
int arraysize = packet.readInteger();
|
||||||
String[] gEarthArgs = new String[arraysize];
|
String[] gEarthArgs = new String[arraysize];
|
@ -1,10 +1,10 @@
|
|||||||
package main.extensions;
|
package gearth.extensions;
|
||||||
|
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 22/09/18.
|
* Created by Jonas on 22/09/18.
|
@ -1,4 +1,4 @@
|
|||||||
package main.extensions;
|
package gearth.extensions;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
@ -1,4 +1,4 @@
|
|||||||
package main.extensions.extra;
|
package gearth.extensions.extra;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 22/09/18.
|
* Created by Jonas on 22/09/18.
|
@ -1,52 +1,48 @@
|
|||||||
package main.misc;
|
package gearth.misc;
|
||||||
|
|
||||||
import main.Main;
|
import gearth.Main;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.JSONArray;
|
||||||
import org.json.simple.parser.JSONParser;
|
import org.json.JSONObject;
|
||||||
import org.json.simple.parser.ParseException;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 28/09/18.
|
* Created by Jonas on 28/09/18.
|
||||||
*/
|
*/
|
||||||
public class Cacher {
|
public class Cacher {
|
||||||
|
|
||||||
private static final String CACHEFILENAME = "cache.json";
|
private static final String CACHE_FILENAME = "cache.json";
|
||||||
|
|
||||||
private static String getCacheDir() {
|
private static String getCacheDir() {
|
||||||
return new File(Main.class.getProtectionDomain().getCodeSource().getLocation().getPath()).getParent();
|
return new File(Main.class.getProtectionDomain().getCodeSource().getLocation().getPath()).getParent();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean cacheFileExists() {
|
private static boolean cacheFileExists() {
|
||||||
File f = new File(getCacheDir(), CACHEFILENAME);
|
File f = new File(getCacheDir(), CACHE_FILENAME);
|
||||||
return (f.exists() && !f.isDirectory());
|
return (f.exists() && !f.isDirectory());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static JSONObject getCacheContents() {
|
private static JSONObject getCacheContents() {
|
||||||
if (cacheFileExists()) {
|
if (cacheFileExists()) {
|
||||||
try {
|
try {
|
||||||
File f = new File(getCacheDir(), CACHEFILENAME);
|
File f = new File(getCacheDir(), CACHE_FILENAME);
|
||||||
String contents = String.join("\n", Files.readAllLines(f.toPath()));
|
String contents = String.join("\n", Files.readAllLines(f.toPath()));
|
||||||
|
|
||||||
JSONParser parser = new JSONParser();
|
return new JSONObject(contents);
|
||||||
return (JSONObject) parser.parse(contents);
|
} catch (IOException e) {
|
||||||
} catch (IOException | ParseException e) {
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new JSONObject();
|
return new JSONObject();
|
||||||
}
|
}
|
||||||
private static void updateCache(JSONObject contents) {
|
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();
|
file.flush();
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
@ -56,16 +52,24 @@ public class Cacher {
|
|||||||
|
|
||||||
public static void put(String key, Object val) {
|
public static void put(String key, Object val) {
|
||||||
JSONObject object = getCacheContents();
|
JSONObject object = getCacheContents();
|
||||||
if (object.containsKey(key)) object.remove(key);
|
if (object.has(key)) object.remove(key);
|
||||||
|
|
||||||
object.put(key, val);
|
object.put(key, val);
|
||||||
updateCache(object);
|
updateCache(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Object get(String key) {
|
public static Object get(String key) {
|
||||||
JSONObject object = getCacheContents();
|
JSONObject object = getCacheContents();
|
||||||
|
if (object.has(key)) return object.get(key);
|
||||||
return object.get(key);
|
else return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static List<Object> getList(String key) {
|
||||||
|
JSONObject object = getCacheContents();
|
||||||
|
if (object.has(key)) return ((JSONArray)object.get(key)).toList();
|
||||||
|
else return null;
|
||||||
|
}
|
||||||
|
|
||||||
public static void clear() {
|
public static void clear() {
|
||||||
updateCache(new JSONObject());
|
updateCache(new JSONObject());
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package main.misc;
|
package gearth.misc;
|
||||||
|
|
||||||
import javafx.scene.Group;
|
import javafx.scene.Group;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
@ -1,4 +1,4 @@
|
|||||||
package main.misc;
|
package gearth.misc;
|
||||||
|
|
||||||
public class OSValidator {
|
public class OSValidator {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package main.misc;
|
package gearth.misc;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 14/06/18.
|
* Created by Jonas on 14/06/18.
|
@ -1,12 +1,13 @@
|
|||||||
package main.protocol;
|
package gearth.protocol;
|
||||||
|
|
||||||
import main.misc.Cacher;
|
import gearth.misc.Cacher;
|
||||||
import main.protocol.hostreplacer.HostReplacer;
|
import gearth.protocol.hostreplacer.HostReplacer;
|
||||||
import main.protocol.hostreplacer.HostReplacerFactory;
|
import gearth.protocol.hostreplacer.HostReplacerFactory;
|
||||||
import main.protocol.memory.Rc4Obtainer;
|
import gearth.protocol.memory.Rc4Obtainer;
|
||||||
import main.protocol.packethandler.Handler;
|
import gearth.protocol.packethandler.Handler;
|
||||||
import main.protocol.packethandler.IncomingHandler;
|
import gearth.protocol.packethandler.IncomingHandler;
|
||||||
import main.protocol.packethandler.OutgoingHandler;
|
import gearth.protocol.packethandler.OutgoingHandler;
|
||||||
|
import org.json.JSONArray;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
@ -78,11 +79,11 @@ public class HConnection {
|
|||||||
autoDetectHosts.add("game-tr.habbo.com:30000");
|
autoDetectHosts.add("game-tr.habbo.com:30000");
|
||||||
autoDetectHosts.add("game-us.habbo.com:38101");
|
autoDetectHosts.add("game-us.habbo.com:38101");
|
||||||
|
|
||||||
List<String> additionalCachedHotels = (List<String>) Cacher.get(HOTELS_CACHE_KEY);
|
List<Object> additionalCachedHotels = Cacher.getList(HOTELS_CACHE_KEY);
|
||||||
if (additionalCachedHotels != null) {
|
if (additionalCachedHotels != null) {
|
||||||
for (String additionalHotel : additionalCachedHotels) {
|
for (Object additionalHotel : additionalCachedHotels) {
|
||||||
if (!autoDetectHosts.contains(additionalHotel)) {
|
if (!autoDetectHosts.contains(additionalHotel)) {
|
||||||
autoDetectHosts.add(additionalHotel);
|
autoDetectHosts.add((String)additionalHotel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -123,7 +124,7 @@ public class HConnection {
|
|||||||
|
|
||||||
// manual method
|
// manual method
|
||||||
public void prepare(String domain, int port) {
|
public void prepare(String domain, int port) {
|
||||||
List<String> additionalCachedHotels = (List<String>) Cacher.get(HOTELS_CACHE_KEY);
|
List<Object> additionalCachedHotels = Cacher.getList(HOTELS_CACHE_KEY);
|
||||||
if (additionalCachedHotels == null) {
|
if (additionalCachedHotels == null) {
|
||||||
additionalCachedHotels = new ArrayList<>();
|
additionalCachedHotels = new ArrayList<>();
|
||||||
}
|
}
|
||||||
@ -132,7 +133,6 @@ public class HConnection {
|
|||||||
Cacher.put(HOTELS_CACHE_KEY, additionalCachedHotels);
|
Cacher.put(HOTELS_CACHE_KEY, additionalCachedHotels);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
List<String> potentialHost = new ArrayList<>();
|
List<String> potentialHost = new ArrayList<>();
|
||||||
potentialHost.add(domain+":"+port);
|
potentialHost.add(domain+":"+port);
|
||||||
prepare(potentialHost);
|
prepare(potentialHost);
|
||||||
@ -171,7 +171,7 @@ public class HConnection {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> additionalCachedHotels = (List<String>) Cacher.get(HOTELS_CACHE_KEY);
|
List<Object> additionalCachedHotels = Cacher.getList(HOTELS_CACHE_KEY);
|
||||||
if (additionalCachedHotels != null) {
|
if (additionalCachedHotels != null) {
|
||||||
for (String host : willremove) {
|
for (String host : willremove) {
|
||||||
additionalCachedHotels.remove(host);
|
additionalCachedHotels.remove(host);
|
@ -1,6 +1,6 @@
|
|||||||
package main.protocol;
|
package gearth.protocol;
|
||||||
|
|
||||||
import main.misc.StringifyAble;
|
import gearth.misc.StringifyAble;
|
||||||
|
|
||||||
public class HMessage implements StringifyAble {
|
public class HMessage implements StringifyAble {
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ public class HMessage implements StringifyAble {
|
|||||||
return message.hPacket.equals(hPacket) && (side == message.side) && (index == message.index);
|
return message.hPacket.equals(hPacket) && (side == message.side) && (index == message.index);
|
||||||
}
|
}
|
||||||
|
|
||||||
// public static void main(String[] args) {
|
// public static void gearth(String[] args) {
|
||||||
// HPacket packet3 = new HPacket(81, new byte[]{0,0,0,1,0,0});
|
// HPacket packet3 = new HPacket(81, new byte[]{0,0,0,1,0,0});
|
||||||
//
|
//
|
||||||
// HPacket packet = new HPacket(82, new byte[]{0,0,0,1,0,0});
|
// HPacket packet = new HPacket(82, new byte[]{0,0,0,1,0,0});
|
@ -1,14 +1,12 @@
|
|||||||
package main.protocol;
|
package gearth.protocol;
|
||||||
|
|
||||||
import main.misc.StringifyAble;
|
import gearth.misc.StringifyAble;
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public class HPacket implements StringifyAble {
|
public class HPacket implements StringifyAble {
|
||||||
// te komen: toExpressions (+impl. expressies)
|
// te komen: toExpressions (+impl. expressies)
|
@ -1,4 +1,4 @@
|
|||||||
package main.protocol;
|
package gearth.protocol;
|
||||||
|
|
||||||
public interface StateChangeListener {
|
public interface StateChangeListener {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package main.protocol;
|
package gearth.protocol;
|
||||||
|
|
||||||
public interface TrafficListener {
|
public interface TrafficListener {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package main.protocol.crypto;
|
package gearth.protocol.crypto;
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2003 Clarence Ho (clarence@clarenceho.net)
|
* Copyright (C) 2003 Clarence Ho (clarence@clarenceho.net)
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
@ -33,11 +33,7 @@ package main.protocol.crypto;
|
|||||||
* THE POSSIBILITY OF SUCH DAMAGE.
|
* THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import main.protocol.HPacket;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a simple implementation of the RC4 (tm) encryption algorithm. The
|
* This is a simple implementation of the RC4 (tm) encryption algorithm. The
|
@ -1,4 +1,4 @@
|
|||||||
package main.protocol.hostreplacer;
|
package gearth.protocol.hostreplacer;
|
||||||
|
|
||||||
public interface HostReplacer {
|
public interface HostReplacer {
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
package main.protocol.hostreplacer;
|
package gearth.protocol.hostreplacer;
|
||||||
|
|
||||||
import main.misc.OSValidator;
|
import gearth.misc.OSValidator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 04/04/18.
|
* Created by Jonas on 04/04/18.
|
@ -1,4 +1,4 @@
|
|||||||
package main.protocol.hostreplacer;
|
package gearth.protocol.hostreplacer;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
@ -1,4 +1,4 @@
|
|||||||
package main.protocol.hostreplacer;
|
package gearth.protocol.hostreplacer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 04/04/18.
|
* Created by Jonas on 04/04/18.
|
@ -1,16 +1,15 @@
|
|||||||
package main.protocol.memory;
|
package gearth.protocol.memory;
|
||||||
|
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
import main.protocol.crypto.RC4;
|
import gearth.protocol.crypto.RC4;
|
||||||
import main.protocol.memory.habboclient.HabboClient;
|
import gearth.protocol.memory.habboclient.HabboClient;
|
||||||
import main.protocol.memory.habboclient.HabboClientFactory;
|
import gearth.protocol.memory.habboclient.HabboClientFactory;
|
||||||
import main.protocol.memory.habboclient.linux.LinuxHabboClient;
|
import gearth.protocol.packethandler.Handler;
|
||||||
import main.protocol.packethandler.Handler;
|
import gearth.protocol.packethandler.IncomingHandler;
|
||||||
import main.protocol.packethandler.IncomingHandler;
|
import gearth.protocol.packethandler.OutgoingHandler;
|
||||||
import main.protocol.packethandler.OutgoingHandler;
|
import gearth.protocol.packethandler.PayloadBuffer;
|
||||||
import main.protocol.packethandler.PayloadBuffer;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,6 +1,6 @@
|
|||||||
package main.protocol.memory.habboclient;
|
package gearth.protocol.memory.habboclient;
|
||||||
|
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
package main.protocol.memory.habboclient;
|
package gearth.protocol.memory.habboclient;
|
||||||
|
|
||||||
import main.misc.OSValidator;
|
import gearth.misc.OSValidator;
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
import main.protocol.memory.habboclient.linux.LinuxHabboClient;
|
import gearth.protocol.memory.habboclient.linux.LinuxHabboClient;
|
||||||
import main.protocol.memory.habboclient.windows.WindowsHabboClient;
|
import gearth.protocol.memory.habboclient.windows.WindowsHabboClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 13/06/18.
|
* Created by Jonas on 13/06/18.
|
@ -1,7 +1,7 @@
|
|||||||
package main.protocol.memory.habboclient.linux;
|
package gearth.protocol.memory.habboclient.linux;
|
||||||
|
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
import main.protocol.memory.habboclient.HabboClient;
|
import gearth.protocol.memory.habboclient.HabboClient;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
@ -1,4 +1,4 @@
|
|||||||
package main.protocol.memory.habboclient.linux;
|
package gearth.protocol.memory.habboclient.linux;
|
||||||
|
|
||||||
public class LinuxMemorySnippet {
|
public class LinuxMemorySnippet {
|
||||||
long offset;
|
long offset;
|
@ -1,11 +1,10 @@
|
|||||||
package main.protocol.memory.habboclient.windows;
|
package gearth.protocol.memory.habboclient.windows;
|
||||||
|
|
||||||
import main.misc.Cacher;
|
import gearth.misc.Cacher;
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.TrafficListener;
|
import gearth.protocol.memory.habboclient.HabboClient;
|
||||||
import main.protocol.memory.habboclient.HabboClient;
|
import org.json.JSONObject;
|
||||||
import org.json.simple.JSONObject;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -23,22 +22,16 @@ public class WindowsHabboClient extends HabboClient {
|
|||||||
super(connection);
|
super(connection);
|
||||||
|
|
||||||
connection.addTrafficListener(0, message -> {
|
connection.addTrafficListener(0, message -> {
|
||||||
if (message.getDestination() == HMessage.Side.TOSERVER && message.getPacket().headerId() == PRODUCTIONID) {
|
if (message.getDestination() == HMessage.Side.TOSERVER && message.getPacket().headerId() == PRODUCTION_ID) {
|
||||||
production = message.getPacket().readString();
|
production = message.getPacket().readString();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final int PRODUCTIONID = 4000;
|
private static final String OFFSETS_CACHE_KEY = "RC4Offsets";
|
||||||
|
private static final int PRODUCTION_ID = 4000;
|
||||||
private String production = "";
|
private String production = "";
|
||||||
|
|
||||||
private String getOffsetsCacheKey() {
|
|
||||||
return "RC4Offsets";
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getOffsetsRevision() {
|
|
||||||
return production;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<byte[]> getRC4cached() {
|
public List<byte[]> getRC4cached() {
|
||||||
@ -58,15 +51,16 @@ public class WindowsHabboClient extends HabboClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private ArrayList<String> readPossibleBytes(boolean useCache) throws IOException, URISyntaxException {
|
private ArrayList<String> readPossibleBytes(boolean useCache) throws IOException, URISyntaxException {
|
||||||
ProcessBuilder pb = null;
|
ProcessBuilder pb;
|
||||||
JSONObject revisionList = (JSONObject) Cacher.get(getOffsetsCacheKey());
|
|
||||||
|
|
||||||
|
JSONObject revisionList = (JSONObject) Cacher.get(OFFSETS_CACHE_KEY);
|
||||||
if (revisionList == null) {
|
if (revisionList == null) {
|
||||||
Cacher.put(getOffsetsCacheKey(), new JSONObject());
|
Cacher.put(OFFSETS_CACHE_KEY, new JSONObject());
|
||||||
revisionList = (JSONObject) Cacher.get(getOffsetsCacheKey()); // refresh
|
revisionList = (JSONObject) Cacher.get(OFFSETS_CACHE_KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> cachedOffsets = (List<String>) revisionList.get(getOffsetsRevision());
|
assert revisionList != null;
|
||||||
|
List<Object> cachedOffsets = revisionList.getJSONArray(production).toList();
|
||||||
StringJoiner joiner = new StringJoiner(" ");
|
StringJoiner joiner = new StringJoiner(" ");
|
||||||
|
|
||||||
if (useCache) {
|
if (useCache) {
|
||||||
@ -74,8 +68,8 @@ public class WindowsHabboClient extends HabboClient {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String s : cachedOffsets) {
|
for (Object s : cachedOffsets) {
|
||||||
joiner.add(s);
|
joiner.add((String)s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,8 +102,9 @@ public class WindowsHabboClient extends HabboClient {
|
|||||||
possibleData.add(line);
|
possibleData.add(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
revisionList.put(getOffsetsRevision(), cachedOffsets);
|
|
||||||
Cacher.put(getOffsetsCacheKey(), revisionList);
|
revisionList.put(production, cachedOffsets);
|
||||||
|
Cacher.put(OFFSETS_CACHE_KEY, revisionList);
|
||||||
p.destroy();
|
p.destroy();
|
||||||
return possibleData;
|
return possibleData;
|
||||||
}
|
}
|
||||||
@ -129,7 +124,7 @@ public class WindowsHabboClient extends HabboClient {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static byte[] hexStringToByteArray(String s) {
|
private static byte[] hexStringToByteArray(String s) {
|
||||||
int len = s.length();
|
int len = s.length();
|
||||||
byte[] data = new byte[len / 2];
|
byte[] data = new byte[len / 2];
|
||||||
for (int i = 0; i < len; i += 2) {
|
for (int i = 0; i < len; i += 2) {
|
@ -1,4 +1,4 @@
|
|||||||
package main.protocol.packethandler;
|
package gearth.protocol.packethandler;
|
||||||
|
|
||||||
|
|
||||||
public interface BufferListener {
|
public interface BufferListener {
|
@ -1,9 +1,9 @@
|
|||||||
package main.protocol.packethandler;
|
package gearth.protocol.packethandler;
|
||||||
|
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
import main.protocol.TrafficListener;
|
import gearth.protocol.TrafficListener;
|
||||||
import main.protocol.crypto.RC4;
|
import gearth.protocol.crypto.RC4;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
@ -1,8 +1,8 @@
|
|||||||
package main.protocol.packethandler;
|
package gearth.protocol.packethandler;
|
||||||
|
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
import main.protocol.TrafficListener;
|
import gearth.protocol.TrafficListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
@ -1,11 +1,10 @@
|
|||||||
package main.protocol.packethandler;
|
package gearth.protocol.packethandler;
|
||||||
|
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class OutgoingHandler extends Handler {
|
public class OutgoingHandler extends Handler {
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
package main.protocol.packethandler;
|
package gearth.protocol.packethandler;
|
||||||
|
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
<!--maxHeight="19.0" minHeight="19.0"-->
|
<!--maxHeight="19.0" minHeight="19.0"-->
|
||||||
|
|
||||||
<VBox xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.GEarthController">
|
<VBox xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.GEarthController">
|
||||||
<Pane fx:id="mover" maxHeight="0.0" minHeight="0.0" prefWidth="200.0" />
|
<Pane fx:id="mover" maxHeight="0.0" minHeight="0.0" prefWidth="200.0" />
|
||||||
<TabPane fx:id="tabBar" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="295.0" prefWidth="565.0" tabClosingPolicy="UNAVAILABLE">
|
<TabPane fx:id="tabBar" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" prefHeight="295.0" prefWidth="565.0" tabClosingPolicy="UNAVAILABLE">
|
||||||
<tabs>
|
<tabs>
|
@ -1,18 +1,18 @@
|
|||||||
package main.ui;
|
package gearth.ui;
|
||||||
|
|
||||||
import javafx.scene.control.Tab;
|
import javafx.scene.control.Tab;
|
||||||
import javafx.scene.control.TabPane;
|
import javafx.scene.control.TabPane;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
import main.ui.connection.Connection;
|
import gearth.ui.connection.Connection;
|
||||||
import main.ui.extensions.Extensions;
|
import gearth.ui.extensions.Extensions;
|
||||||
import main.ui.info.Info;
|
import gearth.ui.info.Info;
|
||||||
import main.ui.injection.Injection;
|
import gearth.ui.injection.Injection;
|
||||||
import main.ui.logger.Logger;
|
import gearth.ui.logger.Logger;
|
||||||
import main.ui.scheduler.Scheduler;
|
import gearth.ui.scheduler.Scheduler;
|
||||||
import main.ui.settings.Settings;
|
import gearth.ui.settings.Settings;
|
||||||
import main.ui.tools.Tools;
|
import gearth.ui.tools.Tools;
|
||||||
|
|
||||||
public class GEarthController {
|
public class GEarthController {
|
||||||
|
|
@ -1,11 +1,7 @@
|
|||||||
package main.ui;
|
package gearth.ui;
|
||||||
|
|
||||||
|
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
import main.protocol.HMessage;
|
|
||||||
import main.protocol.HPacket;
|
|
||||||
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
public class SubForm {
|
public class SubForm {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.buttons;
|
package gearth.ui.buttons;
|
||||||
|
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
import javafx.scene.Cursor;
|
import javafx.scene.Cursor;
|
@ -1,8 +1,4 @@
|
|||||||
package main.ui.buttons;
|
package gearth.ui.buttons;
|
||||||
|
|
||||||
import org.omg.CORBA.Environment;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public class DeleteButton extends BoxButton {
|
public class DeleteButton extends BoxButton {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.buttons;
|
package gearth.ui.buttons;
|
||||||
|
|
||||||
public class EditButton extends BoxButton {
|
public class EditButton extends BoxButton {
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.buttons;
|
package gearth.ui.buttons;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 26/09/18.
|
* Created by Jonas on 26/09/18.
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.buttons;
|
package gearth.ui.buttons;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 26/09/18.
|
* Created by Jonas on 26/09/18.
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.buttons;
|
package gearth.ui.buttons;
|
||||||
|
|
||||||
import javafx.beans.InvalidationListener;
|
import javafx.beans.InvalidationListener;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.buttons;
|
package gearth.ui.buttons;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 26/09/18.
|
* Created by Jonas on 26/09/18.
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.buttons;
|
package gearth.ui.buttons;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 19/07/18.
|
* Created by Jonas on 19/07/18.
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 443 B After Width: | Height: | Size: 443 B |
Before Width: | Height: | Size: 460 B After Width: | Height: | Size: 460 B |
Before Width: | Height: | Size: 454 B After Width: | Height: | Size: 454 B |
Before Width: | Height: | Size: 644 B After Width: | Height: | Size: 644 B |
Before Width: | Height: | Size: 538 B After Width: | Height: | Size: 538 B |
Before Width: | Height: | Size: 677 B After Width: | Height: | Size: 677 B |
Before Width: | Height: | Size: 642 B After Width: | Height: | Size: 642 B |
Before Width: | Height: | Size: 725 B After Width: | Height: | Size: 725 B |
Before Width: | Height: | Size: 621 B After Width: | Height: | Size: 621 B |
Before Width: | Height: | Size: 643 B After Width: | Height: | Size: 643 B |
Before Width: | Height: | Size: 535 B After Width: | Height: | Size: 535 B |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 446 B After Width: | Height: | Size: 446 B |
@ -11,7 +11,7 @@
|
|||||||
<?import javafx.scene.layout.RowConstraints?>
|
<?import javafx.scene.layout.RowConstraints?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<GridPane alignment="CENTER" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.connection.Connection">
|
<GridPane alignment="CENTER" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.connection.Connection">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||||
</columnConstraints>
|
</columnConstraints>
|
@ -1,17 +1,10 @@
|
|||||||
package main.ui.connection;
|
package gearth.ui.connection;
|
||||||
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.InvalidationListener;
|
|
||||||
import javafx.beans.Observable;
|
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.event.Event;
|
|
||||||
import javafx.event.EventHandler;
|
|
||||||
import javafx.event.EventType;
|
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
import main.protocol.HMessage;
|
import gearth.ui.SubForm;
|
||||||
import main.protocol.TrafficListener;
|
|
||||||
import main.ui.SubForm;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.extensions;
|
package gearth.ui.extensions;
|
||||||
|
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
@ -8,17 +8,13 @@ import javafx.scene.input.MouseEvent;
|
|||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
import javafx.scene.paint.Paint;
|
import javafx.scene.paint.Paint;
|
||||||
import javafx.scene.text.Font;
|
import javafx.scene.text.Font;
|
||||||
import main.extensions.Extension;
|
import gearth.misc.ConfirmationDialog;
|
||||||
import main.misc.ConfirmationDialog;
|
import gearth.ui.buttons.*;
|
||||||
import main.ui.buttons.*;
|
import gearth.ui.extensions.executer.ExecutionInfo;
|
||||||
import main.ui.extensions.executer.ExecutionInfo;
|
import gearth.ui.extensions.executer.ExtensionRunner;
|
||||||
import main.ui.extensions.executer.ExtensionRunner;
|
import gearth.ui.extensions.executer.ExtensionRunnerFactory;
|
||||||
import main.ui.extensions.executer.ExtensionRunnerFactory;
|
import gearth.ui.extensions.executer.NormalExtensionRunner;
|
||||||
import main.ui.extensions.executer.NormalExtensionRunner;
|
|
||||||
import main.ui.scheduler.ScheduleItem;
|
|
||||||
|
|
||||||
import javax.tools.Tool;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.extensions;
|
package gearth.ui.extensions;
|
||||||
|
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.ScrollPane;
|
import javafx.scene.control.ScrollPane;
|
@ -10,7 +10,7 @@
|
|||||||
<?import javafx.scene.layout.RowConstraints?>
|
<?import javafx.scene.layout.RowConstraints?>
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
|
|
||||||
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.extensions.Extensions">
|
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.extensions.Extensions">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="277.0" />
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="277.0" />
|
||||||
</columnConstraints>
|
</columnConstraints>
|
@ -1,8 +1,6 @@
|
|||||||
package main.ui.extensions;
|
package gearth.ui.extensions;
|
||||||
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.*;
|
|
||||||
import javafx.beans.Observable;
|
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.ScrollPane;
|
import javafx.scene.control.ScrollPane;
|
||||||
@ -10,20 +8,16 @@ import javafx.scene.control.TextField;
|
|||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.stage.FileChooser;
|
import javafx.stage.FileChooser;
|
||||||
import main.Main;
|
import gearth.Main;
|
||||||
import main.protocol.*;
|
import gearth.protocol.*;
|
||||||
import main.ui.SubForm;
|
import gearth.ui.SubForm;
|
||||||
import main.ui.extensions.executer.ExecutionInfo;
|
import gearth.ui.extensions.executer.ExecutionInfo;
|
||||||
import main.ui.extensions.executer.ExtensionRunner;
|
import gearth.ui.extensions.executer.ExtensionRunner;
|
||||||
import main.ui.extensions.executer.ExtensionRunnerFactory;
|
import gearth.ui.extensions.executer.ExtensionRunnerFactory;
|
||||||
import main.ui.scheduler.ScheduleItem;
|
import gearth.ui.scheduler.ScheduleItem;
|
||||||
import sun.misc.ExtensionInfo;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileReader;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.ServerSocket;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -73,7 +67,7 @@ import java.util.*;
|
|||||||
* | 3 | PACKET-INTERCEPT* | Includes the whole HMessage as body, needs response with the |
|
* | 3 | PACKET-INTERCEPT* | Includes the whole HMessage as body, needs response with the |
|
||||||
* | | | manipulated HMessage (OUTGOING id: 2) |
|
* | | | manipulated HMessage (OUTGOING id: 2) |
|
||||||
* -----------------------------------------------------------------------------------------------------
|
* -----------------------------------------------------------------------------------------------------
|
||||||
* | 4 | FLAGS-CHECK** | Body: String with G-Earth's boot flags (args from static main method) |
|
* | 4 | FLAGS-CHECK** | Body: String with G-Earth's boot flags (args from static gearth method) |
|
||||||
* -----------------------------------------------------------------------------------------------------
|
* -----------------------------------------------------------------------------------------------------
|
||||||
* | 5 | CONNECTION START | Empty body, just a note that a new connection has been made, |
|
* | 5 | CONNECTION START | Empty body, just a note that a new connection has been made, |
|
||||||
* | | | you could check this yourself as well (listen to out:4000 packet) |
|
* | | | you could check this yourself as well (listen to out:4000 packet) |
|
@ -1,7 +1,7 @@
|
|||||||
package main.ui.extensions;
|
package gearth.ui.extensions;
|
||||||
|
|
||||||
import javafx.beans.InvalidationListener;
|
import javafx.beans.InvalidationListener;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
|
|
||||||
import java.io.DataInputStream;
|
import java.io.DataInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.extensions;
|
package gearth.ui.extensions;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.ServerSocket;
|
import java.net.ServerSocket;
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.extensions.executer;
|
package gearth.ui.extensions.executer;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
@ -1,10 +1,4 @@
|
|||||||
package main.ui.extensions.executer;
|
package gearth.ui.extensions.executer;
|
||||||
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 21/09/18.
|
* Created by Jonas on 21/09/18.
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.extensions.executer;
|
package gearth.ui.extensions.executer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 22/09/18.
|
* Created by Jonas on 22/09/18.
|
@ -1,6 +1,6 @@
|
|||||||
package main.ui.extensions.executer;
|
package gearth.ui.extensions.executer;
|
||||||
|
|
||||||
import main.Main;
|
import gearth.Main;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
@ -6,7 +6,7 @@
|
|||||||
<?import javafx.scene.layout.GridPane?>
|
<?import javafx.scene.layout.GridPane?>
|
||||||
<?import javafx.scene.layout.RowConstraints?>
|
<?import javafx.scene.layout.RowConstraints?>
|
||||||
|
|
||||||
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.info.Info">
|
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.info.Info">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="367.0" minWidth="10.0" prefWidth="332.0" />
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="367.0" minWidth="10.0" prefWidth="332.0" />
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="390.0" minWidth="10.0" prefWidth="233.0" />
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="390.0" minWidth="10.0" prefWidth="233.0" />
|
@ -1,7 +1,7 @@
|
|||||||
package main.ui.info;
|
package gearth.ui.info;
|
||||||
|
|
||||||
import javafx.scene.control.TextArea;
|
import javafx.scene.control.TextArea;
|
||||||
import main.ui.SubForm;
|
import gearth.ui.SubForm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 06/04/18.
|
* Created by Jonas on 06/04/18.
|
@ -9,7 +9,7 @@
|
|||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
<?import javafx.scene.text.Text?>
|
<?import javafx.scene.text.Text?>
|
||||||
|
|
||||||
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.injection.Injection">
|
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.injection.Injection">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||||
</columnConstraints>
|
</columnConstraints>
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.injection;
|
package gearth.ui.injection;
|
||||||
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
@ -7,9 +7,9 @@ import javafx.scene.control.TextArea;
|
|||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
import javafx.scene.paint.Paint;
|
import javafx.scene.paint.Paint;
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
import main.ui.SubForm;
|
import gearth.ui.SubForm;
|
||||||
|
|
||||||
public class Injection extends SubForm {
|
public class Injection extends SubForm {
|
||||||
public TextArea inputPacket;
|
public TextArea inputPacket;
|
@ -12,7 +12,7 @@
|
|||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.text.TextFlow?>
|
<?import javafx.scene.text.TextFlow?>
|
||||||
|
|
||||||
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.logger.Logger">
|
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.logger.Logger">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="293.0" minWidth="10.0" prefWidth="242.0" />
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="293.0" minWidth="10.0" prefWidth="242.0" />
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="390.0" minWidth="10.0" prefWidth="323.0" />
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="390.0" minWidth="10.0" prefWidth="323.0" />
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.logger;
|
package gearth.ui.logger;
|
||||||
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
@ -9,15 +9,13 @@ import javafx.scene.input.KeyCode;
|
|||||||
import javafx.scene.paint.Color;
|
import javafx.scene.paint.Color;
|
||||||
import javafx.scene.text.Text;
|
import javafx.scene.text.Text;
|
||||||
import javafx.scene.text.TextFlow;
|
import javafx.scene.text.TextFlow;
|
||||||
import main.protocol.HConnection;
|
import gearth.protocol.HConnection;
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.ui.SubForm;
|
import gearth.ui.SubForm;
|
||||||
import main.ui.logger.loggerdisplays.PacketLogger;
|
import gearth.ui.logger.loggerdisplays.PacketLogger;
|
||||||
import main.ui.logger.loggerdisplays.PacketLoggerFactory;
|
import gearth.ui.logger.loggerdisplays.PacketLoggerFactory;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class Logger extends SubForm {
|
public class Logger extends SubForm {
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
package main.ui.logger.loggerdisplays;
|
package gearth.ui.logger.loggerdisplays;
|
||||||
|
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
@ -1,7 +1,6 @@
|
|||||||
package main.ui.logger.loggerdisplays;
|
package gearth.ui.logger.loggerdisplays;
|
||||||
|
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HPacket;
|
||||||
import main.protocol.HPacket;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 04/04/18.
|
* Created by Jonas on 04/04/18.
|
@ -1,6 +1,6 @@
|
|||||||
package main.ui.logger.loggerdisplays;
|
package gearth.ui.logger.loggerdisplays;
|
||||||
|
|
||||||
import main.misc.OSValidator;
|
import gearth.misc.OSValidator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 04/04/18.
|
* Created by Jonas on 04/04/18.
|
@ -1,6 +1,6 @@
|
|||||||
package main.ui.logger.loggerdisplays;
|
package gearth.ui.logger.loggerdisplays;
|
||||||
|
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 04/04/18.
|
* Created by Jonas on 04/04/18.
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.scheduler;
|
package gearth.ui.scheduler;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 11/04/18.
|
* Created by Jonas on 11/04/18.
|
@ -1,12 +1,12 @@
|
|||||||
package main.ui.scheduler;
|
package gearth.ui.scheduler;
|
||||||
|
|
||||||
import javafx.beans.InvalidationListener;
|
import javafx.beans.InvalidationListener;
|
||||||
import javafx.beans.property.SimpleBooleanProperty;
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
import javafx.beans.property.SimpleIntegerProperty;
|
import javafx.beans.property.SimpleIntegerProperty;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
import javafx.beans.property.SimpleObjectProperty;
|
||||||
import main.misc.StringifyAble;
|
import gearth.misc.StringifyAble;
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,4 +1,4 @@
|
|||||||
package main.ui.scheduler;
|
package gearth.ui.scheduler;
|
||||||
|
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
@ -7,9 +7,9 @@ import javafx.scene.control.ScrollPane;
|
|||||||
import javafx.scene.input.MouseEvent;
|
import javafx.scene.input.MouseEvent;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
import javafx.scene.text.Font;
|
import javafx.scene.text.Font;
|
||||||
import main.ui.buttons.DeleteButton;
|
import gearth.ui.buttons.DeleteButton;
|
||||||
import main.ui.buttons.EditButton;
|
import gearth.ui.buttons.EditButton;
|
||||||
import main.ui.buttons.PauseResumeButton;
|
import gearth.ui.buttons.PauseResumeButton;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 07/04/18.
|
* Created by Jonas on 07/04/18.
|
@ -12,7 +12,7 @@
|
|||||||
<?import javafx.scene.layout.RowConstraints?>
|
<?import javafx.scene.layout.RowConstraints?>
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
|
|
||||||
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.scheduler.Scheduler">
|
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.scheduler.Scheduler">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="277.0" />
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="277.0" />
|
||||||
</columnConstraints>
|
</columnConstraints>
|
@ -1,16 +1,14 @@
|
|||||||
package main.ui.scheduler;
|
package gearth.ui.scheduler;
|
||||||
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.InvalidationListener;
|
|
||||||
import javafx.beans.Observable;
|
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.stage.FileChooser;
|
import javafx.stage.FileChooser;
|
||||||
import main.protocol.HMessage;
|
import gearth.protocol.HMessage;
|
||||||
import main.protocol.HPacket;
|
import gearth.protocol.HPacket;
|
||||||
import main.ui.SubForm;
|
import gearth.ui.SubForm;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
<?import javafx.scene.layout.ColumnConstraints?>
|
<?import javafx.scene.layout.ColumnConstraints?>
|
||||||
<?import javafx.scene.layout.RowConstraints?>
|
<?import javafx.scene.layout.RowConstraints?>
|
||||||
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.settings.Settings">
|
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.settings.Settings">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="303.0" minWidth="10.0" prefWidth="277.0" />
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="303.0" minWidth="10.0" prefWidth="277.0" />
|
||||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="390.0" minWidth="10.0" prefWidth="288.0" />
|
<ColumnConstraints hgrow="SOMETIMES" maxWidth="390.0" minWidth="10.0" prefWidth="288.0" />
|
@ -1,6 +1,6 @@
|
|||||||
package main.ui.settings;
|
package gearth.ui.settings;
|
||||||
|
|
||||||
import main.ui.SubForm;
|
import gearth.ui.SubForm;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Jonas on 06/04/18.
|
* Created by Jonas on 06/04/18.
|
@ -10,7 +10,7 @@
|
|||||||
<?import javafx.scene.layout.RowConstraints?>
|
<?import javafx.scene.layout.RowConstraints?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?import javafx.scene.text.Font?>
|
||||||
|
|
||||||
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="main.ui.tools.Tools">
|
<GridPane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" prefHeight="262.0" prefWidth="565.0" xmlns="http://javafx.com/javafx/8.0.112" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.tools.Tools">
|
||||||
<rowConstraints>
|
<rowConstraints>
|
||||||
<RowConstraints maxHeight="158.0" minHeight="10.0" prefHeight="134.0" vgrow="SOMETIMES" />
|
<RowConstraints maxHeight="158.0" minHeight="10.0" prefHeight="134.0" vgrow="SOMETIMES" />
|
||||||
<RowConstraints maxHeight="141.0" minHeight="10.0" prefHeight="128.0" vgrow="SOMETIMES" />
|
<RowConstraints maxHeight="141.0" minHeight="10.0" prefHeight="128.0" vgrow="SOMETIMES" />
|
@ -1,17 +1,14 @@
|
|||||||
package main.ui.tools;
|
package gearth.ui.tools;
|
||||||
|
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.event.EventHandler;
|
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.TextArea;
|
import javafx.scene.control.TextArea;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.input.KeyCode;
|
import javafx.scene.input.KeyCode;
|
||||||
import javafx.scene.input.KeyEvent;
|
import gearth.protocol.HPacket;
|
||||||
import main.protocol.HPacket;
|
import gearth.ui.SubForm;
|
||||||
import main.ui.SubForm;
|
|
||||||
|
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.ByteOrder;
|
|
||||||
|
|
||||||
|
|
||||||
public class Tools extends SubForm {
|
public class Tools extends SubForm {
|
29
pom.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>G-Earth</groupId>
|
||||||
|
<artifactId>G-Earth-Parent</artifactId>
|
||||||
|
<packaging>pom</packaging>
|
||||||
|
<version>0.0.1-beta</version>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
|
<maven.compiler.target>1.8</maven.compiler.target>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<name>G-Earth</name>
|
||||||
|
<url>https://github.com/sirjonasxx/G-Earth</url>
|
||||||
|
<description></description>
|
||||||
|
|
||||||
|
<modules>
|
||||||
|
<module>G-Earth-UI</module>
|
||||||
|
|
||||||
|
<!-- Compile our extensions too please! -->
|
||||||
|
<module>Extensions/AdminOnConnect</module>
|
||||||
|
<module>Extensions/BlockReplacePackets</module>
|
||||||
|
<module>Extensions/SpeechColorizer</module>
|
||||||
|
</modules>
|
||||||
|
</project>
|
@ -1,3 +0,0 @@
|
|||||||
Manifest-Version: 1.0
|
|
||||||
Main-Class: main.Main
|
|
||||||
|
|