@@ -53,6 +53,7 @@ public class MinecraftProviderImpl extends DependencyProvider implements Minecra
53
53
private MinecraftVersionMeta versionInfo ;
54
54
private MinecraftLibraryProvider libraryProvider ;
55
55
56
+ private File workingDir ;
56
57
private File minecraftJson ;
57
58
private File minecraftClientJar ;
58
59
private File minecraftServerJar ;
@@ -112,10 +113,12 @@ public void provide(DependencyInfo dependency, Consumer<Runnable> postPopulation
112
113
}
113
114
114
115
private void initFiles () {
115
- minecraftJson = new File (getDirectories ().getUserCache (), "minecraft-" + minecraftVersion + "-info.json" );
116
- minecraftClientJar = new File (getDirectories ().getUserCache (), "minecraft-" + minecraftVersion + "-client.jar" );
117
- minecraftServerJar = new File (getDirectories ().getUserCache (), "minecraft-" + minecraftVersion + "-server.jar" );
118
- minecraftMergedJar = new File (getDirectories ().getUserCache (), "minecraft-" + minecraftVersion + "-merged.jar" );
116
+ workingDir = new File (getDirectories ().getUserCache (), minecraftVersion );
117
+ workingDir .mkdirs ();
118
+ minecraftJson = file ("minecraft-info.json" );
119
+ minecraftClientJar = file ("minecraft-client.jar" );
120
+ minecraftServerJar = file ("minecraft-server.jar" );
121
+ minecraftMergedJar = file ("minecraft-merged.jar" );
119
122
versionManifestJson = new File (getDirectories ().getUserCache (), "version_manifest.json" );
120
123
experimentalVersionsJson = new File (getDirectories ().getUserCache (), "experimental_version_manifest.json" );
121
124
}
@@ -257,6 +260,37 @@ public File getMergedJar() {
257
260
return minecraftMergedJar ;
258
261
}
259
262
263
+ @ Override
264
+ public File workingDir () {
265
+ return workingDir ;
266
+ }
267
+
268
+ @ Override
269
+ public boolean hasCustomNatives () {
270
+ return getProject ().getProperties ().get ("fabric.loom.natives.dir" ) != null ;
271
+ }
272
+
273
+ @ Override
274
+ public File nativesDir () {
275
+ if (hasCustomNatives ()) {
276
+ return new File ((String ) getProject ().property ("fabric.loom.natives.dir" ));
277
+ }
278
+
279
+ return dir ("natives" );
280
+ }
281
+
282
+ @ Override
283
+ public File dir (String path ) {
284
+ File dir = file (path );
285
+ dir .mkdirs ();
286
+ return dir ;
287
+ }
288
+
289
+ @ Override
290
+ public File file (String path ) {
291
+ return new File (workingDir (), path );
292
+ }
293
+
260
294
@ Override
261
295
public String minecraftVersion () {
262
296
return minecraftVersion ;
0 commit comments