Skip to content

Commit e029417

Browse files
committed
Simplify file cache checks
Previously, it would query the FS multiple times per file on cache hit. File#length() returns 0 when it doesn't exist, so we can take advantage of that to query the FS once.
1 parent ebe411a commit e029417

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/main/java/net/minecraftforge/launcher/DownloadAssets.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,10 @@ static void download(String repo, File assetsDir, MinecraftVersion versionJson)
3434
AssetsIndex.Asset asset = entry.getValue();
3535
String assetDest = getAssetDest(asset.hash);
3636
File file = new File(objectsDir, assetDest);
37-
if (file.exists()) {
38-
Main.LOGGER.debug("Considering existing file with size " + file.length() + " for " + name);
39-
if (file.length() == asset.size) {
37+
long fileLength = file.length();
38+
if (fileLength > 0) {
39+
Main.LOGGER.debug("Considering existing file with size " + fileLength + " for " + name);
40+
if (fileLength == asset.size) {
4041
Main.LOGGER.debug("Size check succeeded. Skipping.");
4142
continue;
4243
}
@@ -64,9 +65,8 @@ private static String getAssetDest(String hash) {
6465

6566
private static File downloadIndex(MinecraftVersion versionJson, File assetsDir) {
6667
File index = new File(assetsDir, "indexes/" + versionJson.assetIndex.id + ".json");
67-
if (index.exists() && index.length() == versionJson.assetIndex.size) {
68+
if (index.length() == versionJson.assetIndex.size)
6869
return index;
69-
}
7070

7171
if (!index.getParentFile().getAbsoluteFile().exists() && !index.getParentFile().getAbsoluteFile().mkdirs())
7272
throw new IllegalArgumentException("Failed to create index directory: " + index.getParentFile());

src/main/java/net/minecraftforge/launcher/Main.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ private SplitArgs(String[] args) {
161161
// we're looking for the first "--"
162162
int splitIdx = -1;
163163
for (int i = 0; i < args.length; i++) {
164-
if (args[i].equals("--")) {
164+
if ("--".equals(args[i])) {
165165
splitIdx = i;
166166
break;
167167
}

0 commit comments

Comments
 (0)