Commit 792cf5b9eb5951573f5387ef677fa2f281e91814

Authored by Mumfrey
1 parent 3c957d78

removing RealmsJsonUpdateThread since it's no longer needed

java/common/com/mumfrey/liteloader/core/LiteLoaderBootstrap.java
@@ -27,12 +27,9 @@ import com.mumfrey.liteloader.api.manager.APIRegistry; @@ -27,12 +27,9 @@ import com.mumfrey.liteloader.api.manager.APIRegistry;
27 import com.mumfrey.liteloader.common.LoadingProgress; 27 import com.mumfrey.liteloader.common.LoadingProgress;
28 import com.mumfrey.liteloader.core.api.LiteLoaderCoreAPI; 28 import com.mumfrey.liteloader.core.api.LiteLoaderCoreAPI;
29 import com.mumfrey.liteloader.interfaces.LoaderEnumerator; 29 import com.mumfrey.liteloader.interfaces.LoaderEnumerator;
30 -import com.mumfrey.liteloader.launch.ClassPathUtilities;  
31 -import com.mumfrey.liteloader.launch.LiteLoaderTweaker;  
32 import com.mumfrey.liteloader.launch.LoaderBootstrap; 30 import com.mumfrey.liteloader.launch.LoaderBootstrap;
33 import com.mumfrey.liteloader.launch.LoaderEnvironment; 31 import com.mumfrey.liteloader.launch.LoaderEnvironment;
34 import com.mumfrey.liteloader.launch.LoaderProperties; 32 import com.mumfrey.liteloader.launch.LoaderProperties;
35 -import com.mumfrey.liteloader.launch.RealmsJsonUpdateThread;  
36 import com.mumfrey.liteloader.util.log.LiteLoaderLogger; 33 import com.mumfrey.liteloader.util.log.LiteLoaderLogger;
37 34
38 /** 35 /**
@@ -141,8 +138,6 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP @@ -141,8 +138,6 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP
141 */ 138 */
142 private EnabledModsList enabledModsList; 139 private EnabledModsList enabledModsList;
143 140
144 - private RealmsJsonUpdateThread realmsJsonUpdateThread;  
145 -  
146 /** 141 /**
147 * @param gameDirectory 142 * @param gameDirectory
148 * @param assetsDirectory 143 * @param assetsDirectory
@@ -177,8 +172,6 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP @@ -177,8 +172,6 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP
177 this.initAPIs(apisToLoad); 172 this.initAPIs(apisToLoad);
178 this.apiProvider = this.apiRegistry.getProvider(); 173 this.apiProvider = this.apiRegistry.getProvider();
179 this.apiAdapter = this.apiRegistry.getAdapter(); 174 this.apiAdapter = this.apiRegistry.getAdapter();
180 -  
181 - this.setupRealmsVersionCheck(profile);  
182 } 175 }
183 176
184 /** 177 /**
@@ -328,8 +321,6 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP @@ -328,8 +321,6 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP
328 if (this.enumerator == null) return; 321 if (this.enumerator == null) return;
329 322
330 LiteLoader.invokePostInit(); 323 LiteLoader.invokePostInit();
331 -  
332 - this.runRealmsVersionCheck();  
333 } 324 }
334 325
335 /** 326 /**
@@ -688,36 +679,4 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP @@ -688,36 +679,4 @@ class LiteLoaderBootstrap implements LoaderBootstrap, LoaderEnvironment, LoaderP
688 { 679 {
689 return this.apiAdapter.getPacketTransformers(); 680 return this.apiAdapter.getPacketTransformers();
690 } 681 }
691 -  
692 - private void setupRealmsVersionCheck(String profile)  
693 - {  
694 - if (!this.getAndStoreBooleanProperty(LoaderProperties.OPTION_UPDATE_REALMS, true))  
695 - {  
696 - return;  
697 - }  
698 -  
699 - try  
700 - {  
701 - File realmsContainer = ClassPathUtilities.getPathToResource(LiteLoaderTweaker.class, "/net/minecraft/realms/Realms.class");  
702 - if (realmsContainer == null) return;  
703 -  
704 - File versionsDir = realmsContainer.getParentFile().getParentFile();  
705 - if (versionsDir.exists() && "versions".equals(versionsDir.getName()))  
706 - {  
707 - this.realmsJsonUpdateThread = new RealmsJsonUpdateThread(versionsDir, profile, LiteLoaderTweaker.VERSION);  
708 - }  
709 - }  
710 - catch (Exception ex)  
711 - {  
712 - ex.printStackTrace();  
713 - }  
714 - }  
715 -  
716 - private void runRealmsVersionCheck()  
717 - {  
718 - if (this.realmsJsonUpdateThread != null)  
719 - {  
720 - this.realmsJsonUpdateThread.start();  
721 - }  
722 - }  
723 } 682 }
java/common/com/mumfrey/liteloader/launch/LoaderProperties.java
@@ -69,7 +69,6 @@ public interface LoaderProperties @@ -69,7 +69,6 @@ public interface LoaderProperties
69 public static final String OPTION_NO_HIDE_TAB = "tabAlwaysExpanded"; 69 public static final String OPTION_NO_HIDE_TAB = "tabAlwaysExpanded";
70 public static final String OPTION_BRAND = "brand"; 70 public static final String OPTION_BRAND = "brand";
71 public static final String OPTION_LOADING_BAR = "loadingbar"; 71 public static final String OPTION_LOADING_BAR = "loadingbar";
72 - public static final String OPTION_UPDATE_REALMS = "realmsUpdateCheck";  
73 72
74 // Enumerator properties 73 // Enumerator properties
75 public static final String OPTION_SEARCH_MODS = "search.mods"; 74 public static final String OPTION_SEARCH_MODS = "search.mods";
java/common/com/mumfrey/liteloader/launch/RealmsJsonUpdateThread.java deleted 100644 โ†’ 0
1 -package com.mumfrey.liteloader.launch;  
2 -  
3 -import java.io.File;  
4 -import java.io.FileReader;  
5 -import java.io.FileWriter;  
6 -import java.net.URI;  
7 -import java.util.List;  
8 -import java.util.Map;  
9 -import java.util.Map.Entry;  
10 -  
11 -import org.apache.commons.io.IOUtils;  
12 -  
13 -import com.google.common.base.Strings;  
14 -import com.google.gson.Gson;  
15 -import com.google.gson.GsonBuilder;  
16 -import com.mumfrey.liteloader.util.log.LiteLoaderLogger;  
17 -import com.mumfrey.liteloader.util.net.HttpStringRetriever;  
18 -  
19 -/**  
20 - * Attempt to keep the version JSON we were launched from in sync with the latest lib version for this version of MC  
21 - *  
22 - * @author Adam Mummery-Smith  
23 - */  
24 -public class RealmsJsonUpdateThread extends Thread  
25 -{  
26 - private static final String DOWNLOAD_BASE_URL = "http://s3.amazonaws.com/Minecraft.Download/";  
27 -  
28 - private static final String REALMS_LIB_PATH = "com.mojang:realms";  
29 -  
30 - private final Gson gson = new GsonBuilder().setPrettyPrinting().create();  
31 -  
32 - private final File versionsDir;  
33 -  
34 - private final String version;  
35 -  
36 - private final URI uri;  
37 -  
38 - public RealmsJsonUpdateThread(File versionsDir, String version, String parentVersion)  
39 - {  
40 - this.versionsDir = versionsDir;  
41 - this.version = version;  
42 - this.uri = URI.create(String.format("%sversions/%2$s/%2$s.json", RealmsJsonUpdateThread.DOWNLOAD_BASE_URL, parentVersion));  
43 -  
44 - this.setName("Realms JSON update thread");  
45 - this.setDaemon(true);  
46 - }  
47 -  
48 - @Override  
49 - public void run()  
50 - {  
51 - if (this.isLocalJsonUpToDate())  
52 - {  
53 - LiteLoaderLogger.info("Realms JSON thread is skipping update check, version JSON file was recently modified");  
54 - return;  
55 - }  
56 -  
57 - Map<String, ?> localJson = this.getLocalVersionJson();  
58 - if (localJson == null)  
59 - {  
60 - LiteLoaderLogger.info("Realms JSON thread failed to locate the local version JSON for version %s. The realms library reference can not be updated", this.version);  
61 - return;  
62 - }  
63 -  
64 - Map<String, ?> remoteJson = this.getRemoteVersionJson();  
65 - if (remoteJson == null)  
66 - {  
67 - LiteLoaderLogger.info("Realms JSON thread failed to fetch the vanilla JSON. The realms library reference will not be updated");  
68 - return;  
69 - }  
70 -  
71 - String realmsVersionRemote = this.getLibraryVersion(remoteJson, RealmsJsonUpdateThread.REALMS_LIB_PATH);  
72 - if (realmsVersionRemote == null)  
73 - {  
74 - LiteLoaderLogger.info("Realms JSON thread failed to parse remote version JSON. The realms library reference can not be updated");  
75 - return;  
76 - }  
77 -  
78 - String realmsVersionLocal = this.getLibraryVersion(localJson, RealmsJsonUpdateThread.REALMS_LIB_PATH);  
79 - if (realmsVersionLocal == null)  
80 - {  
81 - LiteLoaderLogger.info("Realms JSON thread failed to parse local version JSON. The realms library reference can not be updated");  
82 - return;  
83 - }  
84 -  
85 - if (realmsVersionRemote.equals(realmsVersionLocal))  
86 - {  
87 - LiteLoaderLogger.info("Realms library reference is up-to-date. Current version is %s", realmsVersionRemote);  
88 - return;  
89 - }  
90 -  
91 - LiteLoaderLogger.info("Realms library reference is out of date. Current version %s, found remote version %s. Attempting to update version JSON.", realmsVersionLocal, realmsVersionRemote);  
92 - if (!this.setLibraryVersion(localJson, RealmsJsonUpdateThread.REALMS_LIB_PATH, realmsVersionRemote))  
93 - {  
94 - LiteLoaderLogger.warning("Could not update the realms library version in the version JSON");  
95 - return;  
96 - }  
97 -  
98 - if (!this.writeLocalVersionJson(localJson))  
99 - {  
100 - LiteLoaderLogger.warning("Could not write the updated version JSON");  
101 - return;  
102 - }  
103 -  
104 - LiteLoaderLogger.info("Realms library reference was successfully updated. Current version is now %s", realmsVersionRemote);  
105 - }  
106 -  
107 - private boolean writeLocalVersionJson(Map<String, ?> localJson)  
108 - {  
109 - File versionJsonFile = this.getLocalVersionJsonFile();  
110 - FileWriter writer = null;  
111 -  
112 - try  
113 - {  
114 - writer = new FileWriter(versionJsonFile);  
115 - this.gson.toJson(localJson, writer);  
116 - }  
117 - catch (Exception ex)  
118 - {  
119 - ex.printStackTrace();  
120 - }  
121 - finally  
122 - {  
123 - IOUtils.closeQuietly(writer);  
124 - }  
125 -  
126 - return true;  
127 - }  
128 -  
129 - @SuppressWarnings("unchecked")  
130 - private String getLibraryVersion(Map<String, ?> json, String libraryName)  
131 - {  
132 - for (Map<String, String> library : (List<Map<String, String>>)json.get("libraries"))  
133 - {  
134 - try  
135 - {  
136 - for (Entry<String, ?> entry : library.entrySet())  
137 - {  
138 - String keyName = entry.getKey();  
139 - if ("name".equals(keyName))  
140 - {  
141 - String libName = entry.getValue().toString();  
142 - if (libName.startsWith(libraryName))  
143 - {  
144 - return libName.substring(libraryName.length() + 1);  
145 - }  
146 - }  
147 - }  
148 - }  
149 - catch (Exception ex) {}  
150 - }  
151 -  
152 - return null;  
153 - }  
154 -  
155 - @SuppressWarnings("unchecked")  
156 - private boolean setLibraryVersion(Map<String, ?> json, String libraryName, String newVersion)  
157 - {  
158 - int libraryIndex = this.getLibraryIndex(json, libraryName);  
159 - if (libraryIndex > -1)  
160 - {  
161 - List<Map<String, Object>> libraries = (List<Map<String, Object>>)json.get("libraries");  
162 - Map<String, Object> library = libraries.get(libraryIndex);  
163 - library.put("name", String.format("%s:%s", libraryName, newVersion));  
164 - return true;  
165 - }  
166 -  
167 - return false;  
168 - }  
169 -  
170 - /**  
171 - * @param json  
172 - * @param libraryName  
173 - * @return  
174 - */  
175 - @SuppressWarnings("unchecked")  
176 - private int getLibraryIndex(Map<String, ?> json, String libraryName)  
177 - {  
178 - List<Map<String, ?>> libraries = (List<Map<String, ?>>)json.get("libraries");  
179 - for (int index = 0; index < libraries.size(); index++)  
180 - {  
181 - try  
182 - {  
183 - Map<String, ?> library = libraries.get(index);  
184 - for (Entry<String, ?> entry : library.entrySet())  
185 - {  
186 - String keyName = entry.getKey();  
187 - if ("name".equals(keyName))  
188 - {  
189 - String libName = entry.getValue().toString();  
190 - if (libName.startsWith(libraryName))  
191 - {  
192 - return index;  
193 - }  
194 - }  
195 - }  
196 - }  
197 - catch (Exception ex) {}  
198 - }  
199 -  
200 - return -1;  
201 - }  
202 -  
203 - @SuppressWarnings("unchecked")  
204 - private Map<String, ?> getRemoteVersionJson()  
205 - {  
206 - try  
207 - {  
208 - HttpStringRetriever http = new HttpStringRetriever();  
209 - String json = http.fetch(this.uri.toURL());  
210 - if (!Strings.isNullOrEmpty(json))  
211 - {  
212 - return this.gson.fromJson(json, Map.class);  
213 - }  
214 - }  
215 - catch (Exception ex)  
216 - {  
217 - ex.printStackTrace();  
218 - }  
219 -  
220 - return null;  
221 - }  
222 -  
223 - @SuppressWarnings("unchecked")  
224 - private Map<String, ?> getLocalVersionJson()  
225 - {  
226 - File versionJsonFile = this.getLocalVersionJsonFile();  
227 - if (versionJsonFile == null || !versionJsonFile.exists()) return null;  
228 -  
229 - FileReader reader = null;  
230 -  
231 - try  
232 - {  
233 - reader = new FileReader(versionJsonFile);  
234 - return this.gson.fromJson(reader, Map.class);  
235 - }  
236 - catch (Exception ex)  
237 - {  
238 - ex.printStackTrace();  
239 - }  
240 - finally  
241 - {  
242 - IOUtils.closeQuietly(reader);  
243 - }  
244 -  
245 - return null;  
246 - }  
247 -  
248 - private boolean isLocalJsonUpToDate()  
249 - {  
250 - File versionJsonFile = this.getLocalVersionJsonFile();  
251 - if (versionJsonFile == null || !versionJsonFile.exists()) return false;  
252 -  
253 - long deltaTime = System.currentTimeMillis() - versionJsonFile.lastModified();  
254 - return deltaTime < 86400000;  
255 - }  
256 -  
257 - /**  
258 - * @return  
259 - */  
260 - private File getLocalVersionJsonFile()  
261 - {  
262 - File versionDir = new File(this.versionsDir, this.version);  
263 - if (!versionDir.exists() || !versionDir.isDirectory()) return null;  
264 -  
265 - File versionJsonFile = new File(versionDir, this.version + ".json");  
266 - return versionJsonFile;  
267 - }  
268 -}