diff --git a/G-Earth/src/main/java/gearth/extensions/Extension.java b/G-Earth/src/main/java/gearth/extensions/Extension.java index 62de7ac..ddf1331 100644 --- a/G-Earth/src/main/java/gearth/extensions/Extension.java +++ b/G-Earth/src/main/java/gearth/extensions/Extension.java @@ -138,7 +138,8 @@ public abstract class Extension implements IExtension{ String host = packet.readString(); int connectionPort = packet.readInteger(); String hotelVersion = packet.readString(); - notifyConnectionListeners(host, connectionPort, hotelVersion); + String harbleMessagesPath = packet.readString(); + notifyConnectionListeners(host, connectionPort, hotelVersion, harbleMessagesPath); onStartConnection(); } else if (packet.headerId() == Extensions.OUTGOING_MESSAGES_IDS.CONNECTIONEND) { @@ -370,15 +371,15 @@ public abstract class Extension implements IExtension{ public interface OnConnectionListener { - void act(String host, int port, String hotelversion); + void act(String host, int port, String hotelversion, String harbleMessagesPath); } private List onConnectionListeners = new ArrayList<>(); public void onConnect(OnConnectionListener listener){ onConnectionListeners.add(listener); } - private void notifyConnectionListeners(String host, int port, String hotelversion) { + private void notifyConnectionListeners(String host, int port, String hotelversion, String harbleMessagesPath) { for (OnConnectionListener listener : onConnectionListeners) { - listener.act(host, port, hotelversion); + listener.act(host, port, hotelversion, harbleMessagesPath); } } diff --git a/G-Earth/src/main/java/gearth/extensions/extra/harble/ChatConsole.java b/G-Earth/src/main/java/gearth/extensions/extra/harble/ChatConsole.java index d07e9de..8b29ecb 100644 --- a/G-Earth/src/main/java/gearth/extensions/extra/harble/ChatConsole.java +++ b/G-Earth/src/main/java/gearth/extensions/extra/harble/ChatConsole.java @@ -43,7 +43,7 @@ public class ChatConsole { final boolean[] doOncePerConnection = {false}; - extension.onConnect((s, i, s1) -> doOncePerConnection[0] = true); + extension.onConnect((s, i, s1, h1) -> doOncePerConnection[0] = true); extension.intercept(HMessage.Side.TOSERVER, hMessage -> { // if the first packet on init is not 4000, the extension was already running, so we open the chat instantly diff --git a/G-Earth/src/main/java/gearth/extensions/extra/harble/HashSupport.java b/G-Earth/src/main/java/gearth/extensions/extra/harble/HashSupport.java index ea2c7c0..66124db 100644 --- a/G-Earth/src/main/java/gearth/extensions/extra/harble/HashSupport.java +++ b/G-Earth/src/main/java/gearth/extensions/extra/harble/HashSupport.java @@ -32,24 +32,9 @@ public class HashSupport { public HashSupport(IExtension extension) { this.extension = extension; - boolean[] isDebug = {false}; - File GEarthDir = null; - try { - GEarthDir = new File(Main.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getParentFile(); - if (!GEarthDir.getName().equals("Extensions")) { //we're probably in debugging mode / not an installed extension - //this means; no harble api is provided in our Cache - isDebug[0] = true; - } - } catch (URISyntaxException e) { - e.printStackTrace(); - } - - extension.onConnect((host, port, hotelversion) -> { + extension.onConnect((host, port, hotelversion, cachePath) -> { // synchronized (lock) { - if (isDebug[0]) { - HarbleAPIFetcher.fetch(hotelversion); - } - harbleAPI = new HarbleAPI(hotelversion); + harbleAPI = new HarbleAPI(hotelversion, cachePath); // } });