Skip to content

Commit 83f184f

Browse files
committed
LTW Update, fixes
1 parent e705615 commit 83f184f

9 files changed

Lines changed: 60 additions & 27 deletions

File tree

src/main/java/pojlib/API.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public static MinecraftInstances.Instance load(MinecraftInstances instances, Str
128128
* @param instance Instance object
129129
* @return True if it deletes successfully, false otherwise.
130130
*/
131-
public static boolean deleteInstance(MinecraftInstances instances, MinecraftInstances.Instance instance) {
131+
public static boolean deleteInstance(MinecraftInstances instances, MinecraftInstances.Instance instance) throws IOException {
132132
return InstanceHandler.delete(instances, instance);
133133
}
134134

@@ -174,7 +174,6 @@ public static MinecraftInstances.Instance createNewInstance(Activity activity, M
174174
public static void prelaunch(Activity activity, MinecraftInstances instances, MinecraftInstances.Instance instance) {
175175
gameReady = false;
176176
instance.updateMods(instances);
177-
DownloadManager.reset();
178177
if (hasConnection(activity)) {
179178
try {
180179
JREUtils.prelaunchCheck(activity, instance);
@@ -184,6 +183,7 @@ public static void prelaunch(Activity activity, MinecraftInstances instances, Mi
184183
} else {
185184
Logger.getInstance().appendToLog("Skipping prelaunch check due to no wifi connection!");
186185
}
186+
DownloadManager.reset();
187187

188188
MinecraftInstances.CheckVivecraftConfig(instance);
189189
}

src/main/java/pojlib/APIHandler.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,12 @@ public static String[] getQCSupportedVersions(Context ctx) {
122122
}
123123
} else {
124124
Logger.getInstance().appendToLog("Skipping supported versions download.");
125+
return new String[] {
126+
"1.21.4"
127+
};
125128
}
126129

130+
DownloadManager.reset();
127131
SupportedVersions versions = GsonUtils.jsonFileToObject(versionsJson.getAbsolutePath(), SupportedVersions.class);
128132
if(versions == null) {
129133
return new String[] {

src/main/java/pojlib/InstanceHandler.java

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -300,16 +300,38 @@ public static boolean removeExtraProject(MinecraftInstances instances, Minecraft
300300
}
301301

302302
// Return true if instance was deleted
303-
public static boolean delete(MinecraftInstances instances, MinecraftInstances.Instance instance) {
303+
public static boolean delete(MinecraftInstances instances, MinecraftInstances.Instance instance) throws IOException {
304304
File instanceDir = new File(instance.gameDir);
305-
instanceDir.delete();
305+
Files.walkFileTree(instanceDir.toPath(), new FileVisitor<Path>() {
306+
@Override
307+
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
308+
return FileVisitResult.CONTINUE;
309+
}
310+
311+
@Override
312+
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
313+
Files.delete(file);
314+
return FileVisitResult.CONTINUE;
315+
}
316+
317+
@Override
318+
public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
319+
return FileVisitResult.CONTINUE;
320+
}
321+
322+
@Override
323+
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
324+
Files.delete(dir);
325+
return FileVisitResult.CONTINUE;
326+
}
327+
});
306328

307329
ArrayList<MinecraftInstances.Instance> instances1 = Lists.newArrayList(instances.instances);
308330
instances1.remove(instance);
309331
instances.instances = instances1.toArray(new MinecraftInstances.Instance[0]);
310332
GsonUtils.objectToJsonFile(Constants.USER_HOME + "/instances.json", instances);
311333

312-
return true;
334+
return instanceDir.delete();
313335
}
314336

315337
public static void launchInstance(Activity activity, MinecraftAccount account, MinecraftInstances.Instance instance) {

src/main/java/pojlib/UnityPlayerActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ protected String updateUnityCommandLineArguments(String cmdLine)
8585

8686
// Setup activity layout
8787
@Override protected void onCreate(Bundle savedInstanceState) {
88+
Constants.initConstants(this);
89+
8890
requestWindowFeature(Window.FEATURE_NO_TITLE);
8991
super.onCreate(savedInstanceState);
9092

src/main/java/pojlib/install/Installer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public static CompletableFuture<String> installClient(VersionInfo minecraftVersi
5959
return CompletableFuture.supplyAsync(() -> {
6060
Logger.getInstance().appendToLog("Checking Client");
6161

62-
File clientFile = new File(gameDir + "/versions/" + minecraftVersionInfo.id + "/" + minecraftVersionInfo.id + ".jar");
62+
File clientFile = new File(gameDir + "/versions/" + minecraftVersionInfo.id + "/client.jar");
6363

6464
try {
6565
for (int i = 0; i < 5; i++) {
Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,37 @@
11
package pojlib.util;
22

3+
import android.app.Activity;
34
import android.os.Environment;
45

56
import java.io.File;
67

78
public class Constants {
89

9-
public static String MOJANG_META_URL = "https://piston-meta.mojang.com";
10+
public static final String MOJANG_META_URL = "https://piston-meta.mojang.com";
1011

11-
public static String MOJANG_RESOURCES_URL = "https://resources.download.minecraft.net";
12+
public static final String MOJANG_RESOURCES_URL = "https://resources.download.minecraft.net";
1213

13-
public static String FABRIC_META_URL = "https://meta.fabricmc.net/v2";
14+
public static final String FABRIC_META_URL = "https://meta.fabricmc.net/v2";
1415

15-
public static String QUILT_META_URL = "https://meta.quiltmc.org/v3";
16+
public static final String QUILT_META_URL = "https://meta.quiltmc.org/v3";
1617

17-
public static String OAUTH_TOKEN_URL = "https://login.live.com/oauth20_token.srf";
18+
public static final String OAUTH_TOKEN_URL = "https://login.live.com/oauth20_token.srf";
1819

19-
public static String XBL_AUTH_URL = "https://user.auth.xboxlive.com/user/authenticate";
20+
public static final String XBL_AUTH_URL = "https://user.auth.xboxlive.com/user/authenticate";
2021

21-
public static String XSTS_AUTH_URL = "https://xsts.auth.xboxlive.com/xsts/authorize";
22+
public static final String XSTS_AUTH_URL = "https://xsts.auth.xboxlive.com/xsts/authorize";
2223

23-
public static String MC_LOGIN_URL = "https://api.minecraftservices.com/authentication/login_with_xbox";
24+
public static final String MC_LOGIN_URL = "https://api.minecraftservices.com/authentication/login_with_xbox";
2425

25-
public static String MC_STORE_URL = "https://api.minecraftservices.com/entitlements/mcstore";
26+
public static final String MC_STORE_URL = "https://api.minecraftservices.com/entitlements/mcstore";
2627

27-
public static String MC_PROFILE_URL = "https://api.minecraftservices.com/minecraft/profile";
28+
public static final String MC_PROFILE_URL = "https://api.minecraftservices.com/minecraft/profile";
2829

29-
public static String MINOTAR_URL = "https://minotar.net";
30+
public static final String MINOTAR_URL = "https://minotar.net";
3031

31-
public static String USER_HOME = new File(Environment.getExternalStorageDirectory(),"Android/data/com.qcxr.qcxr/files").getAbsolutePath();
32+
public static String USER_HOME;
33+
34+
public static void initConstants(Activity activity) {
35+
USER_HOME = activity.getExternalFilesDir(null).getAbsolutePath();
36+
}
3237
}

src/main/java/pojlib/util/download/DownloadManager.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package pojlib.util.download;
22

33
public class DownloadManager {
4-
private static long downloadedBytes;
5-
private static long totalBytes;
4+
private static long downloadedBytes = 0;
5+
private static long totalBytes = 0;
66

77
public static void addBytes(long add) {
88
downloadedBytes += add;
@@ -23,10 +23,10 @@ public static boolean downloadsCompleted() {
2323

2424
public static float getPercentComplete() {
2525
if(totalBytes == 0) {
26-
return 1.0f;
26+
return 100.0f;
2727
}
2828

29-
return (float) downloadedBytes/totalBytes;
29+
return (float) downloadedBytes/totalBytes * 100;
3030
}
3131
}
3232

src/main/java/pojlib/util/json/MinecraftInstances.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,9 @@ public List<String> generateLaunchArgs(MinecraftAccount account) {
8383
"--assetsDir", assetsDir, "--assetIndex", assetIndex, "--uuid", account.uuid.replace("-", ""),
8484
"--accessToken", account.accessToken, "--userType", account.userType, "--versionType", "release"};
8585

86-
List<String> allArgs = new ArrayList<>(Arrays.asList("-cp", classpath));
86+
List<String> allArgs = new ArrayList<>();
87+
allArgs.add("-cp");
88+
allArgs.add(classpath);
8789
allArgs.add(mainClass);
8890
allArgs.addAll(Arrays.asList(mcArgs));
8991
if (account.isDemoMode) {
@@ -108,10 +110,8 @@ private ModsJson downloadCurrentModsJson(String userHome) throws Exception {
108110
File mods = new File(userHome + "/new_mods.json");
109111
if(API.developerMods) {
110112
DownloadUtils.downloadFile(InstanceHandler.DEV_MODS, mods);
111-
DownloadManager.reset();
112113
} else {
113114
DownloadUtils.downloadFile(InstanceHandler.MODS, mods);
114-
DownloadManager.reset();
115115
}
116116

117117
return parseModsJson(mods.getAbsolutePath());
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
version https://git-lfs.github.com/spec/v1
2-
oid sha256:aedec3a4c307c1bf018d2d900dd94d15fdd14034c085454b676cbe46502cf655
3-
size 1672096
2+
oid sha256:0d7b7b8d793ec04f8f1e07da64d3a7f5017e5574cdec5c39bf8ed4fb622d1af9
3+
size 1672048

0 commit comments

Comments
 (0)