diff --git a/cache/src/main/java/net/runelite/cache/region/RegionLoader.java b/cache/src/main/java/net/runelite/cache/region/RegionLoader.java index 21f4868a9a..a9656648d5 100644 --- a/cache/src/main/java/net/runelite/cache/region/RegionLoader.java +++ b/cache/src/main/java/net/runelite/cache/region/RegionLoader.java @@ -97,9 +97,10 @@ public class RegionLoader Region region = new Region(i); region.loadTerrain(mapDef); - int[] keys = keyManager.getKeys(i); - if (keys != null) + Integer[] keysTmp = keyManager.getKeys(i); + if (keysTmp != null) { + int[] keys = {keysTmp[0], keysTmp[1], keysTmp[2], keysTmp[3]}; try { data = land.decompress(storage.loadArchive(land), keys); diff --git a/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java b/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java index b139026c3c..278e96766d 100644 --- a/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java +++ b/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java @@ -24,15 +24,10 @@ */ package net.runelite.cache.util; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.charset.StandardCharsets; import java.util.HashMap; -import java.util.List; import java.util.Map; -import net.runelite.http.api.xtea.XteaKey; +import net.runelite.http.api.RuneLiteAPI; +import net.runelite.http.api.xtea.XteaClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,24 +35,16 @@ public class XteaKeyManager { private static final Logger logger = LoggerFactory.getLogger(XteaKeyManager.class); - private final Map keys = new HashMap<>(); + private Map keys = new HashMap<>(); - public void loadKeys(InputStream in) + public void loadKeys() { - // CHECKSTYLE:OFF - List k = new Gson() - .fromJson(new InputStreamReader(in, StandardCharsets.UTF_8), new TypeToken>() { }.getType()); - // CHECKSTYLE:ON - - for (XteaKey key : k) - { - keys.put(key.getRegion(), key.getKeys()); - } + keys = null; logger.info("Loaded {} keys", keys.size()); } - public int[] getKeys(int region) + public Integer[] getKeys(int region) { return keys.get(region); }